From 66a13d4c3a32504f5116f4af77fcd5d2e579902a Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Sun, 26 Mar 2023 14:42:20 +0100 Subject: [PATCH] GS-TC: Only stop checking for RT's if whole read is inside that RT. --- pcsx2/GS/Renderers/HW/GSTextureCache.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp index b317ce6528..261817f303 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp @@ -2217,7 +2217,7 @@ void GSTextureCache::InvalidateLocalMem(const GSOffset& off, const GSVector4i& r { Read(t, draw_rect); - z_found = true; + z_found = read_start >= t->m_TEX0.TBP0 && read_end <= t->m_end_block; if (draw_rect.rintersect(t->m_drawn_since_read).eq(t->m_drawn_since_read)) t->m_drawn_since_read = GSVector4i::zero(); @@ -2377,7 +2377,7 @@ void GSTextureCache::InvalidateLocalMem(const GSOffset& off, const GSVector4i& r t->m_drawn_since_read.z = targetr.x; } - if (targetr.rintersect(t->m_valid).eq(targetr)) + if (read_start >= t->m_TEX0.TBP0 && read_end <= t->m_end_block) return; } }