GS: Fix CLUT changing bit depth.

This usually means the storage method changes with it, so it's a good idea to reload it
This commit is contained in:
refractionpcsx2 2022-07-01 17:10:26 +01:00
parent f191915b53
commit 40f315a259
1 changed files with 3 additions and 3 deletions

View File

@ -758,7 +758,7 @@ bool GSClut::WriteState::IsDirty(const GIFRegTEX0& TEX0, const GIFRegTEXCLUT& TE
bool is_dirty = dirty;
if ((this->TEX0.U64 ^ TEX0.U64) & mask)
if (((this->TEX0.U64 ^ TEX0.U64) & mask) || (GSLocalMemory::m_psm[this->TEX0.PSM].bpp != GSLocalMemory::m_psm[TEX0.PSM].bpp))
is_dirty |= true;
else if (TEX0.CSM == 1 && (TEXCLUT.U32[0] ^ this->TEXCLUT.U32[0]))
is_dirty |= true;
@ -778,7 +778,7 @@ bool GSClut::ReadState::IsDirty(const GIFRegTEX0& TEX0)
bool is_dirty = dirty;
if ((this->TEX0.U64 ^ TEX0.U64) & mask)
if (((this->TEX0.U64 ^ TEX0.U64) & mask) || (GSLocalMemory::m_psm[this->TEX0.PSM].bpp != GSLocalMemory::m_psm[TEX0.PSM].bpp))
is_dirty |= true;
if (!is_dirty)
@ -797,7 +797,7 @@ bool GSClut::ReadState::IsDirty(const GIFRegTEX0& TEX0, const GIFRegTEXA& TEXA)
bool is_dirty = dirty;
if ((this->TEX0.U64 ^ TEX0.U64) & tex0_mask)
if (((this->TEX0.U64 ^ TEX0.U64) & tex0_mask) || (GSLocalMemory::m_psm[this->TEX0.PSM].bpp != GSLocalMemory::m_psm[TEX0.PSM].bpp))
is_dirty |= true;
else // Just to optimise the checks.
{