diff --git a/GPU/Common/FramebufferManagerCommon.cpp b/GPU/Common/FramebufferManagerCommon.cpp index 6764b6effc..1c36468cb4 100644 --- a/GPU/Common/FramebufferManagerCommon.cpp +++ b/GPU/Common/FramebufferManagerCommon.cpp @@ -3445,34 +3445,11 @@ void FramebufferManagerCommon::ReadFramebufferToMemory(VirtualFramebuffer *vfb, if (x + w >= vfb->bufferWidth) { w = vfb->bufferWidth - x; } - if (gameUsesSequentialCopies_) { - // Ignore the x/y/etc., read the entire thing. See below. - x = 0; - y = 0; - w = vfb->width; - h = vfb->height; - vfb->memoryUpdated = true; - vfb->usageFlags |= FB_USAGE_DOWNLOAD; - } else if (x == 0 && y == 0 && w == vfb->width && h == vfb->height) { + if (x == 0 && y == 0 && w == vfb->width && h == vfb->height) { // Mark it as fully downloaded until next render to it. if (channel == RASTER_COLOR) vfb->memoryUpdated = true; vfb->usageFlags |= FB_USAGE_DOWNLOAD; - } else { - // Let's try to set the flag eventually, if the game copies a lot. - // Some games (like Grand Knights History) copy subranges very frequently. - const static int FREQUENT_SEQUENTIAL_COPIES = 3; - static int frameLastCopy = 0; - static u32 bufferLastCopy = 0; - static int copiesThisFrame = 0; - if (frameLastCopy != gpuStats.totals.numFlips || bufferLastCopy != vfb->fb_address) { - frameLastCopy = gpuStats.totals.numFlips; - bufferLastCopy = vfb->fb_address; - copiesThisFrame = 0; - } - if (++copiesThisFrame > FREQUENT_SEQUENTIAL_COPIES) { - gameUsesSequentialCopies_ = true; - } } // This handles any required stretching internally. diff --git a/GPU/Common/FramebufferManagerCommon.h b/GPU/Common/FramebufferManagerCommon.h index 3f09413277..33ea28f292 100644 --- a/GPU/Common/FramebufferManagerCommon.h +++ b/GPU/Common/FramebufferManagerCommon.h @@ -127,7 +127,7 @@ struct VirtualFramebuffer { // Tracking for downloads-to-CLUT. u16 clutUpdatedBytes; - // Means that the whole image has already been read back to memory - used when combining small readbacks (gameUsesSequentialCopies_). + // Means that the whole image has already been read back to memory. bool memoryUpdated; // TODO: Fold into usageFlags? @@ -630,8 +630,6 @@ protected: std::vector drawPixelsCache_; - bool gameUsesSequentialCopies_ = false; - // Sampled in BeginFrame/UpdateSize for safety. float renderWidth_ = 0.0f; float renderHeight_ = 0.0f;