aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/fence_manager.h
diff options
context:
space:
mode:
authorShinmegumi <shinmegumi@eden-emu.dev>2025-08-02 00:10:29 +0200
committercrueter <crueter@eden-emu.dev>2025-08-02 00:10:29 +0200
commit45e7c0d62ddf5357f64c02514bcb222b8eaf7954 (patch)
tree713332b8c28adb92f99fd6711413b4d7a067369e /src/video_core/fence_manager.h
parentc47eb9760b1ae15bc039a53714446878531bca49 (diff)
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>
Diffstat (limited to 'src/video_core/fence_manager.h')
-rw-r--r--src/video_core/fence_manager.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/video_core/fence_manager.h b/src/video_core/fence_manager.h
index dd67bc6d9b..1a9fdde4ab 100644
--- a/src/video_core/fence_manager.h
+++ b/src/video_core/fence_manager.h
@@ -77,7 +77,7 @@ public:
void SignalFence(std::function<void()>&& func) {
bool delay_fence = Settings::IsGPULevelHigh();
#ifdef __ANDROID__
- if (!delay_fence && Settings::values.early_release_fences.GetValue()) {
+ if (!delay_fence && !Settings::values.early_release_fences.GetValue()) {
TryReleasePendingFences<false>();
}
#else
@@ -89,7 +89,7 @@ public:
CommitAsyncFlushes();
TFence new_fence = CreateFence(!should_flush);
#ifdef __ANDROID__
- if (delay_fence && Settings::values.early_release_fences.GetValue()) {
+ if (delay_fence && !Settings::values.early_release_fences.GetValue()) {
guard.lock();
}
#else
@@ -110,7 +110,7 @@ public:
rasterizer.FlushCommands();
}
#ifdef __ANDROID__
- if (delay_fence && Settings::values.early_release_fences.GetValue()) {
+ if (delay_fence && !Settings::values.early_release_fences.GetValue()) {
guard.unlock();
cv.notify_all();
}