From 8a11bec55a563c1b96642edc2291b7329ce9bf0a Mon Sep 17 00:00:00 2001 From: xbzk Date: Tue, 26 May 2026 01:41:11 +0200 Subject: [PATCH] [vk,fence_manager] improvement for antiflicker showed bad for some games, so it was removed from balanced/accurate and kept for antiflicker toggle only (#4010) in short: unrelated to the toggle, we found a missing piece that improved antiflicker and shader issues in some games, and we integrated it to balanced/accurate. now testers confirmed side effects in some other games, so we reverted the integration. the toggle itself is innocent. and the missing piece was kept for the toggle. now, when the toggle is off, things are as they were before it. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4010 Reviewed-by: MaranBr Reviewed-by: Lizzie --- src/video_core/fence_manager.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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(); }