GS-HW: Check what channel is being read during a possible split shuffle

This commit is contained in:
refractionpcsx2 2023-03-29 23:33:52 +01:00
parent 682f0c7984
commit 3764e773b3
1 changed files with 4 additions and 0 deletions

View File

@ -863,6 +863,10 @@ bool GSRendererHW::IsSplitTextureShuffle()
return false;
}
// Different channel being shuffled, so needs to be handled separately (misdetection in 50 Cent)
if (m_vertex.buff[m_index.buff[0]].U != m_v.U)
return false;
// Check that both the position and texture coordinates are page aligned, so we can work in pages instead of coordinates.
// For texture shuffles, the U will be offset by 8.
const GSLocalMemory::psm_t& frame_psm = GSLocalMemory::m_psm[m_context->FRAME.PSM];