diff options
| author | Stenzek <stenzek@gmail.com> | 2018-11-03 00:17:00 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2018-11-07 16:25:01 +1000 |
| commit | 8e2c063d6219b01037d1cb5bdb009000e52d8479 (patch) | |
| tree | f288e47b45fb22b61209dd57f657abd148fa40d9 /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 710b893b914bcc1e812f1a63fdb9a143ff682561 (diff) | |
TextureCache: Implement deferred/batched EFB copies
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 4 |
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); } |
