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: eden-emu/eden#175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
This commit is contained in:
Shinmegumi 2025-08-02 00:10:29 +02:00 committed by crueter
parent c47eb9760b
commit 45e7c0d62d
Signed by untrusted user: crueter
GPG key ID: 425ACD2D4830EBC6

View file

@ -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();
}