GS/HW: Get the proper context for the next draw if it's a split texture shuffle.

Draw might switch the context so make sure we get the correct one.
This commit is contained in:
lightningterror 2024-12-15 19:39:30 +01:00
parent 3cafd2dc69
commit c2ee5a0234
1 changed files with 2 additions and 1 deletions

View File

@ -1012,7 +1012,8 @@ bool GSRendererHW::NextDrawMatchesShuffle() const
{ {
// Make sure nothing unexpected has changed. // Make sure nothing unexpected has changed.
// Twinsanity seems to screw with ZBUF here despite it being irrelevant. // Twinsanity seems to screw with ZBUF here despite it being irrelevant.
const GSDrawingContext& next_ctx = m_env.CTXT[m_backed_up_ctx]; const int get_next_ctx = (m_state_flush_reason == CONTEXTCHANGE) ? m_env.PRIM.CTXT : m_backed_up_ctx;
const GSDrawingContext& next_ctx = m_env.CTXT[get_next_ctx];
if (((m_context->TEX0.U64 ^ next_ctx.TEX0.U64) & (~0x3FFF)) != 0 || if (((m_context->TEX0.U64 ^ next_ctx.TEX0.U64) & (~0x3FFF)) != 0 ||
m_context->TEX1.U64 != next_ctx.TEX1.U64 || m_context->TEX1.U64 != next_ctx.TEX1.U64 ||
m_context->CLAMP.U64 != next_ctx.CLAMP.U64 || m_context->CLAMP.U64 != next_ctx.CLAMP.U64 ||