diff --git a/src/video_core/fence_manager.h b/src/video_core/fence_manager.h index b9f5e1a9c0..1b11ff52d2 100644 --- a/src/video_core/fence_manager.h +++ b/src/video_core/fence_manager.h @@ -76,9 +76,12 @@ public: TryReleasePendingFences(); } const bool should_flush = ShouldFlush(); - const bool delay_fence = Settings::values.antiflicker.GetValue() || !Settings::IsGPULevelLow(); + const bool antiflicker_toggled = Settings::values.antiflicker.GetValue(); + const bool delay_fence = Settings::IsGPULevelHigh() || + (Settings::IsGPULevelMedium() && should_flush) || + antiflicker_toggled; CommitAsyncFlushes(); - TFence new_fence = CreateFence(!should_flush && !delay_fence); + TFence new_fence = CreateFence(!should_flush && !antiflicker_toggled); if constexpr (can_async_check) { guard.lock(); }