summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/RenderBase.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2018-11-03 00:17:00 +1000
committerStenzek <stenzek@gmail.com>2018-11-07 16:25:01 +1000
commit8e2c063d6219b01037d1cb5bdb009000e52d8479 (patch)
treef288e47b45fb22b61209dd57f657abd148fa40d9 /Source/Core/VideoCommon/RenderBase.cpp
parent710b893b914bcc1e812f1a63fdb9a143ff682561 (diff)
TextureCache: Implement deferred/batched EFB copies
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
-rw-r--r--Source/Core/VideoCommon/RenderBase.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp
index 70025ec720..448b195a62 100644
--- a/Source/Core/VideoCommon/RenderBase.cpp
+++ b/Source/Core/VideoCommon/RenderBase.cpp
@@ -724,6 +724,10 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const
// state changes the specialized shader will not take over.
g_vertex_manager->InvalidatePipelineObject();
+ // Flush any outstanding EFB copies to RAM, in case the game is running at an uncapped frame
+ // rate and not waiting for vblank. Otherwise, we'd end up with a huge list of pending copies.
+ g_texture_cache->FlushEFBCopies();
+
Core::Callback_VideoCopiedToXFB(true);
}