From 9a3904103a2e346b9faf853c5da0c6fd03146af1 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Wed, 1 Mar 2023 20:59:29 +1000 Subject: [PATCH] GS/HW: Fix off by one in estimate texture region And enable it for Justice League. --- bin/resources/GameIndex.yaml | 6 ++---- pcsx2/GS/Renderers/HW/GSRendererHW.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bin/resources/GameIndex.yaml b/bin/resources/GameIndex.yaml index 84d74076ad..5e58e5538b 100644 --- a/bin/resources/GameIndex.yaml +++ b/bin/resources/GameIndex.yaml @@ -19863,8 +19863,7 @@ SLES-54423: name: "Justice League Heroes" region: "PAL-M5" gsHWFixes: - texturePreloading: 1 # Performs much better with partial preload. - disablePartialInvalidation: 1 # Fixes performamce issues. + estimateTextureRegion: 1 # Improves performance. clampModes: vuClampMode: 2 # Fixes ingame SPS for the capes. SLES-54424: @@ -47053,8 +47052,7 @@ SLUS-21304: region: "NTSC-U" compat: 5 gsHWFixes: - texturePreloading: 1 # Performs much better with partial preload. - disablePartialInvalidation: 1 # Fixes performance issues. + estimateTextureRegion: 1 # Improves performance. clampModes: vuClampMode: 2 # Ingame capes become SPS mess with lower than extra VU clamp. SLUS-21305: diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index a5b78e0a33..7d26a2f117 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -1652,9 +1652,11 @@ void GSRendererHW::Draw() MIP_CLAMP.WMS = CLAMP_REGION_CLAMP; MIP_CLAMP.WMT = CLAMP_REGION_CLAMP; MIP_CLAMP.MINU = 0; - MIP_CLAMP.MAXU = (maxt.x - 1) >> m_lod.x; + MIP_CLAMP.MAXU = maxt.x >> m_lod.x; MIP_CLAMP.MINV = 0; - MIP_CLAMP.MAXV = (maxt.y - 1) >> m_lod.x; + MIP_CLAMP.MAXV = maxt.y >> m_lod.x; + GL_CACHE("Estimated texture region: %u,%u -> %u,%u", MIP_CLAMP.MINU, MIP_CLAMP.MINV, MIP_CLAMP.MAXU + 1, + MIP_CLAMP.MAXV + 1); } m_src = tex_psm.depth ? m_tc->LookupDepthSource(TEX0, env.TEXA, MIP_CLAMP, tmm.coverage) :