From ee8d24a260437ec4b6e116701447ea4fbfeb3e30 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 1 Nov 2021 18:06:06 +0000 Subject: [PATCH] GS: Don't propagate 24bit textures on download --- pcsx2/GS/Renderers/HW/GSTextureCache.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp index a76c56b708..8922a60470 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp @@ -1096,7 +1096,8 @@ void GSTextureCache::InvalidateLocalMem(GSOffset* off, const GSVector4i& r) // the game can then draw using 8H format // in the case of silent hill blit 8H -> 8P // this will matter later when the data ends up in GS memory in the wrong format - if (t->m_32_bits_fmt) + // Be careful to avoid 24 bit textures which are technically 32bit, as you could lose alpha (8H) data. + if (t->m_32_bits_fmt && t->m_TEX0.PSM > PSM_PSMCT24) t->m_TEX0.PSM = PSM_PSMCT32; if (GSTextureCache::m_disable_partial_invalidation)