Merge pull request #16364 from unknownbrackets/gpu-self-copy

GPU: Avoid self memcpy()
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2022-11-08 18:05:07 +01:00
commit 584ca5db6e
1 file changed
+2 -2
+2 -2
View File
@@ -3080,9 +3080,9 @@ bool GPUCommon::PerformMemoryCopy(u32 dest, u32 src, int size, GPUCopyFlag flags
// Track stray copies of a framebuffer in RAM. MotoGP does this.
if (framebufferManager_->MayIntersectFramebuffer(src) || framebufferManager_->MayIntersectFramebuffer(dest)) {
if (!framebufferManager_->NotifyFramebufferCopy(src, dest, size, flags, gstate_c.skipDrawReason)) {
// We use a little hack for PerformReadbackToMemory/PerformWriteColorFromMemory using a VRAM mirror.
// We use matching values in PerformReadbackToMemory/PerformWriteColorFromMemory.
// Since they're identical we don't need to copy.
if (!Memory::IsVRAMAddress(dest) || (dest ^ 0x00400000) != src) {
if (dest != src) {
if (MemBlockInfoDetailed(size)) {
const std::string tag = GetMemWriteTagAt("GPUMemcpy/", src, size);
Memory::Memcpy(dest, src, size, tag.c_str(), tag.size());