From 2f6df2f9af5b2b169b8b763891aff370e19db08d Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 11 Jul 2022 14:20:54 +0100 Subject: [PATCH] GS: Fix scanmask interlace offsetting on even numbers --- pcsx2/GS/Renderers/Common/GSRenderer.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pcsx2/GS/Renderers/Common/GSRenderer.cpp b/pcsx2/GS/Renderers/Common/GSRenderer.cpp index 806f1e97fb2fb..51160f8b25cd9 100644 --- a/pcsx2/GS/Renderers/Common/GSRenderer.cpp +++ b/pcsx2/GS/Renderers/Common/GSRenderer.cpp @@ -211,10 +211,13 @@ bool GSRenderer::Merge(int field) // When the displays are offset by 1 we need to adjust for upscale to handle it (reduces bounce in MGS2 when upscaling) interlace_offset += (tex[i]->GetScale().y - 1.0f) / 2; - if (!ignore_offset) - off.y &= ~1; + if (interlace_offset >= 1.0f) + { + if (!ignore_offset) + off.y -= 1; - display_diff.y &= ~1; + display_diff.y -= 1; + } } // Start of Anti-Blur code.