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;