Browse Source

Fix inversion of toggle for early fences (#175)

This should fix performance regressions in games that didn't need this and fix it to work with the games it is intended to be used for.

Made based on recommendations by Discord Contributor.

Signed-off-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
pull/177/head
Shinmegumi 5 months ago
committed by crueter
parent
commit
45e7c0d62d
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 6
      src/video_core/fence_manager.h

6
src/video_core/fence_manager.h

@ -77,7 +77,7 @@ public:
void SignalFence(std::function<void()>&& func) { void SignalFence(std::function<void()>&& func) {
bool delay_fence = Settings::IsGPULevelHigh(); bool delay_fence = Settings::IsGPULevelHigh();
#ifdef __ANDROID__ #ifdef __ANDROID__
if (!delay_fence && Settings::values.early_release_fences.GetValue()) {
if (!delay_fence && !Settings::values.early_release_fences.GetValue()) {
TryReleasePendingFences<false>(); TryReleasePendingFences<false>();
} }
#else #else
@ -89,7 +89,7 @@ public:
CommitAsyncFlushes(); CommitAsyncFlushes();
TFence new_fence = CreateFence(!should_flush); TFence new_fence = CreateFence(!should_flush);
#ifdef __ANDROID__ #ifdef __ANDROID__
if (delay_fence && Settings::values.early_release_fences.GetValue()) {
if (delay_fence && !Settings::values.early_release_fences.GetValue()) {
guard.lock(); guard.lock();
} }
#else #else
@ -110,7 +110,7 @@ public:
rasterizer.FlushCommands(); rasterizer.FlushCommands();
} }
#ifdef __ANDROID__ #ifdef __ANDROID__
if (delay_fence && Settings::values.early_release_fences.GetValue()) {
if (delay_fence && !Settings::values.early_release_fences.GetValue()) {
guard.unlock(); guard.unlock();
cv.notify_all(); cv.notify_all();
} }

Loading…
Cancel
Save