From d9119921de122fa2f55ff662a3b3054bdd46e975 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sat, 21 May 2022 23:05:53 +0100 Subject: [PATCH] GS: Limit interlace offset to FFMD mode. The offset is only really needed when the game is rendering half frames and expects a certain amount of offset. --- pcsx2/GS/Renderers/Common/GSRenderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcsx2/GS/Renderers/Common/GSRenderer.cpp b/pcsx2/GS/Renderers/Common/GSRenderer.cpp index cc5fe60f75..9e2005928e 100644 --- a/pcsx2/GS/Renderers/Common/GSRenderer.cpp +++ b/pcsx2/GS/Renderers/Common/GSRenderer.cpp @@ -316,7 +316,7 @@ bool GSRenderer::Merge(int field) g_gs_device->Merge(tex, src_gs_read, dst, fs, m_regs->PMODE, m_regs->EXTBUF, c); // Offset is not compatible with scanmsk, as scanmsk renders every other line, but at x7 the interlace offset will be 7 lines - const int offset = m_scanmask_used ? 0 : (int)(tex[1] ? tex[1]->GetScale().y : tex[0]->GetScale().y); + const int offset = (m_scanmask_used || !m_regs->SMODE2.FFMD) ? 0 : (int)(tex[1] ? tex[1]->GetScale().y : tex[0]->GetScale().y); if (m_regs->SMODE2.INT && GSConfig.InterlaceMode != GSInterlaceMode::Off) {