diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index dd32f1671a..4df6c9e26d 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -269,7 +269,7 @@ GSTexture* GSRendererHW::GetOutput(int i, int& y_offset) const int videomode = static_cast(GetVideoMode()) - 1; int display_height = VideoModeOffsets[videomode].y * ((isinterlaced() && !m_regs->SMODE2.FFMD) ? 2 : 1); - int fb_height = std::min(GetFramebufferHeight(), display_height); + int fb_height = std::min(GetFramebufferHeight(), display_height) + DISPFB.DBY; // TRACE(_T("[%d] GetOutput %d %05x (%d)\n"), (int)m_perfmon.GetFrame(), i, (int)TEX0.TBP0, (int)TEX0.PSM); GSTexture* t = NULL; diff --git a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp index 175a2b054f..3ce1b43160 100644 --- a/pcsx2/GS/Renderers/SW/GSRendererSW.cpp +++ b/pcsx2/GS/Renderers/SW/GSRendererSW.cpp @@ -144,7 +144,7 @@ GSTexture* GSRendererSW::GetOutput(int i, int& y_offset) const int videomode = static_cast(GetVideoMode()) - 1; int display_height = VideoModeOffsets[videomode].y * ((isinterlaced() && !m_regs->SMODE2.FFMD) ? 2 : 1); - int h = std::min(GetFramebufferHeight(), display_height); + int h = std::min(GetFramebufferHeight(), display_height) + DISPFB.DBY; // TODO: round up bottom