From 62c186e14b35d896d67172bc5092df2af59e715e Mon Sep 17 00:00:00 2001 From: iwubcode Date: Sat, 25 Jun 2022 00:42:17 -0500 Subject: [PATCH] VideoCommon: add UninitializeEFBMemory to mirror XFB function --- Source/Core/VideoCommon/TextureCacheBase.cpp | 24 ++++++++++++-------- Source/Core/VideoCommon/TextureCacheBase.h | 1 + 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/Source/Core/VideoCommon/TextureCacheBase.cpp b/Source/Core/VideoCommon/TextureCacheBase.cpp index 0ed5ffe014..195e4f9443 100644 --- a/Source/Core/VideoCommon/TextureCacheBase.cpp +++ b/Source/Core/VideoCommon/TextureCacheBase.cpp @@ -2225,15 +2225,7 @@ void TextureCacheBase::CopyRenderTargetToTexture( } else { - // Hack: Most games don't actually need the correct texture data in RAM - // and we can just keep a copy in VRAM. We zero the memory so we - // can check it hasn't changed before using our copy in VRAM. - u8* ptr = dst; - for (u32 i = 0; i < num_blocks_y; i++) - { - std::memset(ptr, 0, bytes_per_row); - ptr += dstStride; - } + UninitializeEFBMemory(dst, dstStride, bytes_per_row, num_blocks_y); } } @@ -2403,6 +2395,20 @@ void TextureCacheBase::ReleaseEFBCopyStagingTexture(std::unique_ptr