From 9346c69343c4cdfbfe0ff41fbdce47f412ccca14 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 6 Feb 2023 02:23:56 +0000 Subject: [PATCH] GS-HW: Iterate dirty rects in reverse to join existing ones. --- pcsx2/GS/Renderers/HW/GSTextureCache.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp index 0b8680bd61..32715a0d68 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp @@ -91,9 +91,10 @@ void GSTextureCache::AddDirtyRectTarget(Target* target, GSVector4i rect, u32 psm { bool skipdirty = false; bool canskip = true; - std::vector::iterator it = target->m_dirty.begin(); - while (it != target->m_dirty.end()) + std::vector::iterator it = target->m_dirty.end(); + while (it != target->m_dirty.begin()) { + --it; if (it[0].bw == bw && it[0].psm == psm) { if (it[0].r.rintersect(rect).eq(rect) && canskip) @@ -112,7 +113,6 @@ void GSTextureCache::AddDirtyRectTarget(Target* target, GSVector4i rect, u32 psm continue; } } - ++it; } if (!skipdirty)