mirror of
https://github.com/PCSX2/pcsx2.git
synced 2024-10-07 23:43:29 +00:00
GS: limit merge circuit memory read height
This commit is contained in:
parent
a20a3866d0
commit
a271fe11e9
@ -267,11 +267,14 @@ GSTexture* GSRendererHW::GetOutput(int i, int& y_offset)
|
|||||||
TEX0.TBW = DISPFB.FBW;
|
TEX0.TBW = DISPFB.FBW;
|
||||||
TEX0.PSM = DISPFB.PSM;
|
TEX0.PSM = DISPFB.PSM;
|
||||||
|
|
||||||
|
const int videomode = static_cast<int>(GetVideoMode()) - 1;
|
||||||
|
int display_height = VideoModeOffsets[videomode].y * ((isinterlaced() && !m_regs->SMODE2.FFMD) ? 2 : 1);
|
||||||
|
int fb_height = std::min(GetFramebufferHeight(), display_height);
|
||||||
// TRACE(_T("[%d] GetOutput %d %05x (%d)\n"), (int)m_perfmon.GetFrame(), i, (int)TEX0.TBP0, (int)TEX0.PSM);
|
// TRACE(_T("[%d] GetOutput %d %05x (%d)\n"), (int)m_perfmon.GetFrame(), i, (int)TEX0.TBP0, (int)TEX0.PSM);
|
||||||
|
|
||||||
GSTexture* t = NULL;
|
GSTexture* t = NULL;
|
||||||
|
|
||||||
if (GSTextureCache::Target* rt = m_tc->LookupTarget(TEX0, GetTargetSize(), GetFramebufferHeight()))
|
if (GSTextureCache::Target* rt = m_tc->LookupTarget(TEX0, GetTargetSize(), fb_height))
|
||||||
{
|
{
|
||||||
t = rt->m_texture;
|
t = rt->m_texture;
|
||||||
|
|
||||||
|
@ -141,7 +141,10 @@ GSTexture* GSRendererSW::GetOutput(int i, int& y_offset)
|
|||||||
const GSRegDISPFB& DISPFB = m_regs->DISP[i].DISPFB;
|
const GSRegDISPFB& DISPFB = m_regs->DISP[i].DISPFB;
|
||||||
|
|
||||||
int w = DISPFB.FBW * 64;
|
int w = DISPFB.FBW * 64;
|
||||||
int h = GetFramebufferHeight();
|
|
||||||
|
const int videomode = static_cast<int>(GetVideoMode()) - 1;
|
||||||
|
int display_height = VideoModeOffsets[videomode].y * ((isinterlaced() && !m_regs->SMODE2.FFMD) ? 2 : 1);
|
||||||
|
int h = std::min(GetFramebufferHeight(), display_height);
|
||||||
|
|
||||||
// TODO: round up bottom
|
// TODO: round up bottom
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user