From b74f91b8683a2170b2517222ad461ea4b71769ca Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 22 Aug 2022 21:09:52 +0100 Subject: [PATCH] GS-HW: Expand width on output read if DBX offset --- pcsx2/GS/Renderers/HW/GSRendererHW.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index c95bb9eba8..ad6d4c539a 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -251,8 +251,13 @@ GSTexture* GSRendererHW::GetOutput(int i, int& y_offset) // TRACE(_T("[%d] GetOutput %d %05x (%d)\n"), (int)m_perfmon.GetFrame(), i, (int)TEX0.TBP0, (int)TEX0.PSM); GSTexture* t = nullptr; + GSVector2i size = GetOutputSize(fb_height); - if (GSTextureCache::Target* rt = m_tc->LookupDisplayTarget(TEX0, GetOutputSize(fb_height), fb_height)) + // Expand read horizontally if offset in to the texture. (Causes visible stretching on FMVs otherwise) + if (DISPFB.DBX) + size.x += DISPFB.DBX; + + if (GSTextureCache::Target* rt = m_tc->LookupDisplayTarget(TEX0, size, fb_height)) { t = rt->m_texture;