Revert 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.

// Commit reverted there's some issues with the logic of "release early fences", it's going to be solved in a later commit.

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: #175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
This commit is contained in:
CamilleLaVey 2025-08-02 02:50:17 +02:00
parent 8cfcf1e8bf
commit 15d371c51a

View file

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