diff options
Diffstat (limited to 'Source/Core/VideoCommon/MainBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/MainBase.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/MainBase.cpp b/Source/Core/VideoCommon/MainBase.cpp index d442e7f0b8..280fed683d 100644 --- a/Source/Core/VideoCommon/MainBase.cpp +++ b/Source/Core/VideoCommon/MainBase.cpp @@ -45,11 +45,20 @@ void VideoBackendBase::Video_ExitLoop() s_FifoShuttingDown.Set(); } +void VideoBackendBase::Video_CleanupShared() +{ + // First stop any framedumping, which might need to dump the last xfb frame. This process + // can require additional graphics sub-systems so it needs to be done first + g_renderer->ExitFramedumping(); + + Video_Cleanup(); +} + // Run from the CPU thread (from VideoInterface.cpp) void VideoBackendBase::Video_BeginField(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, u64 ticks) { - if (m_initialized && g_ActiveConfig.bUseXFB && g_renderer) + if (m_initialized && g_renderer && !g_ActiveConfig.bImmediateXFB) { Fifo::SyncGPU(Fifo::SyncGPUReason::Swap); |
