From b0cfeed766a30e70d35146c74f3843bd0e26c703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 26 Jun 2025 18:23:56 +0200 Subject: [PATCH 1/2] Make the check for framebuffer copy targets slightly more lenient for tiny copies. - Fixes #20556 --- GPU/Common/FramebufferManagerCommon.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GPU/Common/FramebufferManagerCommon.cpp b/GPU/Common/FramebufferManagerCommon.cpp index 2d3e34f0a8..171e5e72cb 100644 --- a/GPU/Common/FramebufferManagerCommon.cpp +++ b/GPU/Common/FramebufferManagerCommon.cpp @@ -2070,9 +2070,9 @@ bool FramebufferManagerCommon::NotifyFramebufferCopy(u32 src, u32 dst, int size, if (!ignoreDstBuffer && dst >= vfb_address && (dst + size <= vfb_address + vfb_size || dst == vfb_address)) { const u32 offset = dst - vfb_address; const u32 yOffset = offset / vfb_byteStride; - if ((offset % vfb_byteStride) == 0 && (size == vfb_byteWidth || (size % vfb_byteStride) == 0)) { + if ((offset % vfb_byteStride) == 0 && (size <= vfb_byteWidth || (size % vfb_byteStride) == 0)) { dstCandidate.y = yOffset; - dstCandidate.h = (size == vfb_byteWidth) ? 1 : std::min((u32)size / vfb_byteStride, (u32)vfb->height); + dstCandidate.h = (size <= vfb_byteWidth) ? 1 : std::min((u32)size / vfb_byteStride, (u32)vfb->height); dstCandidates.push_back(dstCandidate); } } From 67ea1a13ded73867383300a1dc20bf176abfd473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 26 Jun 2025 18:29:22 +0200 Subject: [PATCH 2/2] Add Fortix to [ReportSmallMemStick] See #20436 --- assets/compat.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/compat.ini b/assets/compat.ini index 5d931b685d..9760fff71e 100644 --- a/assets/compat.ini +++ b/assets/compat.ini @@ -1164,6 +1164,9 @@ ULES01510 = true # Activision Hits Remixed ULES00640 = true ULUS10186 = true +# Fortix (#20436) +NPUZ00016 = true +NPEZ00096 = true [MemstickFixedFree] # Assassin's Creed : Bloodlines - issue #12761