mirror of https://github.com/PCSX2/pcsx2.git
gsdx: only propagate texture shuffle detection if tex shuffle is detected
This commit is contained in:
parent
22f11958e9
commit
350db223d3
|
@ -401,15 +401,19 @@ void GSRendererHW::Draw()
|
||||||
m_mem.m_clut.Read32(context->TEX0, env.TEXA);
|
m_mem.m_clut.Read32(context->TEX0, env.TEXA);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool not_really_16_bits;
|
bool not_really_16_bits = tex->m_32_bits_fmt;
|
||||||
if (rt) {
|
if (rt) {
|
||||||
rt->m_32_bits_fmt |= tex->m_32_bits_fmt;
|
not_really_16_bits |= rt->m_32_bits_fmt;
|
||||||
not_really_16_bits = rt->m_32_bits_fmt;
|
|
||||||
} else {
|
|
||||||
not_really_16_bits = tex->m_32_bits_fmt;
|
|
||||||
}
|
}
|
||||||
// Both input and output are 16 bits but either texture or RT was initially 32 bits!
|
// Both input and output are 16 bits but either texture or RT was initially 32 bits!
|
||||||
m_texture_shuffle = (context->FRAME.PSM & 0x2) && ((context->TEX0.PSM & 3) == 2) && (m_vt.m_primclass == GS_SPRITE_CLASS) && not_really_16_bits;
|
m_texture_shuffle = (context->FRAME.PSM & 0x2) && ((context->TEX0.PSM & 3) == 2) && (m_vt.m_primclass == GS_SPRITE_CLASS) && not_really_16_bits;
|
||||||
|
|
||||||
|
// Be sure texture shuffle detection is properly propagated
|
||||||
|
if (m_texture_shuffle && rt) {
|
||||||
|
rt->m_32_bits_fmt |= tex->m_32_bits_fmt;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Texture shuffle is not yet supported with strange clamp mode
|
||||||
ASSERT(!m_texture_shuffle || (context->CLAMP.WMS < 3 && context->CLAMP.WMT < 3));
|
ASSERT(!m_texture_shuffle || (context->CLAMP.WMS < 3 && context->CLAMP.WMT < 3));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue