GS: Anti-Blur takes lowest offset if neither display are alternating

This commit is contained in:
refractionpcsx2
2026-02-26 00:50:44 +01:00
committed by lightningterror
parent 2c69d31eae
commit 2f3006a572
+4 -1
View File
@@ -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<u32>(PCRTCDisplays[1].framebufferRect.y) < static_cast<u32>(PCRTCDisplays[0].framebufferRect.y)) ? 0 : 1));
const int offset = PCRTCDisplays[1 - index].framebufferRect.y - PCRTCDisplays[index].framebufferRect.y;
if (std::abs(offset) <= 4)