GS/HW: Make sure it's not a channel shuffle when the alpha of a target is used as source.

The alpha of a target used a source is meaningless to us,
since it's not really an indexed texture.
This commit is contained in:
lightningterror 2024-09-22 13:55:29 +02:00
parent c01dc20284
commit 13e0546f56
1 changed files with 3 additions and 1 deletions

View File

@ -2576,7 +2576,9 @@ void GSRendererHW::Draw()
// We don't know the alpha range of direct sources when we first tried to optimize the alpha test.
// Moving the texture lookup before the ATST optimization complicates things a lot, so instead,
// recompute it, and everything derived from it again if it changes.
if (src->m_valid_alpha_minmax)
// No channel shuffle as the alpha of a target used a source is meaningless to us,
// since it's not really an indexed texture.
if (!IsPossibleChannelShuffle() && src->m_valid_alpha_minmax)
{
CalcAlphaMinMax(src->m_alpha_minmax.first, src->m_alpha_minmax.second);