mirror of https://github.com/PCSX2/pcsx2.git
GS/HW: Fix width prediction on texture shuffles
This commit is contained in:
parent
c049a7ac76
commit
96599f26a5
|
@ -504,7 +504,7 @@ void GSRendererHW::ConvertSpriteTextureShuffle(u32& process_rg, u32& process_ba,
|
|||
|
||||
const int width_diff = static_cast<int>(m_env.CTXT[m_env.PRIM.CTXT].TEX0.TBW) - static_cast<int>((m_cached_ctx.FRAME.FBW + 1) >> 1);
|
||||
// We can check the future for a clue as this can be more accurate, be careful of different draws like channel shuffles or single page draws.
|
||||
if (m_env.CTXT[m_env.PRIM.CTXT].TEX0.TBP0 == m_cached_ctx.FRAME.Block() && GSLocalMemory::m_psm[m_env.CTXT[m_env.PRIM.CTXT].TEX0.PSM].bpp == 32 && width_diff >= 0)
|
||||
if (m_env.PRIM.TME && m_env.CTXT[m_env.PRIM.CTXT].TEX0.TBP0 == m_cached_ctx.FRAME.Block() && GSLocalMemory::m_psm[m_env.CTXT[m_env.PRIM.CTXT].TEX0.PSM].bpp == 32 && width_diff >= 0)
|
||||
{
|
||||
// width_diff will be zero is both are BW == 1, so be careful of that.
|
||||
const bool same_width = width_diff > 0 || (m_cached_ctx.FRAME.FBW == 1 && width_diff == 0);
|
||||
|
|
Loading…
Reference in New Issue