Fix inversion of toggle for early fences #175

Merged
Shinmegumi merged 4 commits from fix_early_fences_toggle into master 2025-08-02 00:10:30 +02:00

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