From 6d25c6b1efe6844f0902b16a1843fc69144e81d4 Mon Sep 17 00:00:00 2001 From: refractionpcsx2 Date: Mon, 22 Apr 2024 14:36:35 +0100 Subject: [PATCH] GS/HW: Allow preload if FBW = 0 on small draw --- 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 8a879975fd..960d9b7c32 100644 --- a/pcsx2/GS/Renderers/HW/GSTextureCache.cpp +++ b/pcsx2/GS/Renderers/HW/GSTextureCache.cpp @@ -2408,8 +2408,9 @@ bool GSTextureCache::PreloadTarget(GIFRegTEX0 TEX0, const GSVector2i& size, cons const GSLocalMemory::psm_t& psm_s = GSLocalMemory::m_psm[TEX0.PSM]; const bool supported_fmt = !GSConfig.UserHacks_DisableDepthSupport || psm_s.depth == 0; std::optional hw_clear; + const bool valid_draw_size = TEX0.TBW > 0 || (psm_s.pgs.x >= size.x && psm_s.pgs.y >= size.y); - if (TEX0.TBW > 0 && supported_fmt) + if (valid_draw_size && supported_fmt) { const GSVector4i newrect = GSVector4i::loadh(size); const u32 rect_end = GSLocalMemory::GetUnwrappedEndBlockAddress(TEX0.TBP0, TEX0.TBW, TEX0.PSM, newrect);