From 0a07762f6b11e18d39fbec195572c8aaa0ef104a Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Fri, 3 Jul 2015 23:04:48 +0200 Subject: [PATCH] gsdx-tc: only track 32 bits fmt if the texture is not a palette fmt Fix a regression on ricky ponting cricket (texture shuffle was triggered without any valid reason) --- plugins/GSdx/GSTextureCache.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/GSdx/GSTextureCache.cpp b/plugins/GSdx/GSTextureCache.cpp index 2f070f05d2..e2ec8a7f1a 100644 --- a/plugins/GSdx/GSTextureCache.cpp +++ b/plugins/GSdx/GSTextureCache.cpp @@ -210,7 +210,7 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, con } } else { - GL_CACHE("TC: src hit: %d (0x%x F:0x%x)", + GL_CACHE("TC: src hit: %d (0x%x, F:0x%x)", src->m_texture ? src->m_texture->GetID() : 0, TEX0.TBP0, TEX0.PSM); } @@ -840,7 +840,8 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con } #endif - src->m_32_bits_fmt = dst->m_32_bits_fmt; + if (TEX0.PSM < PSM_PSMT8 || TEX0.PSM > PSM_PSMT4HH) + src->m_32_bits_fmt = dst->m_32_bits_fmt; src->m_target = true; dst->Update();