From 2f3006a572f443b5f7224889b65f04f1715ac774 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Fri, 20 Feb 2026 18:52:18 +0000 Subject: [PATCH] GS: Anti-Blur takes lowest offset if neither display are alternating --- pcsx2/GS/GSState.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pcsx2/GS/GSState.cpp b/pcsx2/GS/GSState.cpp index 78819db88c..2bd7b4028c 100644 --- a/pcsx2/GS/GSState.cpp +++ b/pcsx2/GS/GSState.cpp @@ -6378,7 +6378,10 @@ void GSState::GSPCRTCRegs::CalculateFramebufferOffset(bool scanmask, GSRegDISPFB } else // Only one rect is alternating { - const int index = alternating_1 ? 1 : 0; + // A lot of ternary operating going on here. + // Basically if display 1 is alternating, use that, otherwise use 0 if display 0 is alternating + // if neither are alternating, pick the one with the lowest offset. + const int index = alternating_1 ? 1 : (alternating_0 ? 0 : ((static_cast(PCRTCDisplays[1].framebufferRect.y) < static_cast(PCRTCDisplays[0].framebufferRect.y)) ? 0 : 1)); const int offset = PCRTCDisplays[1 - index].framebufferRect.y - PCRTCDisplays[index].framebufferRect.y; if (std::abs(offset) <= 4)