summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/MainBase.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2017-11-19 04:58:59 +0100
committerGitHub <noreply@github.com>2017-11-19 04:58:59 +0100
commit609a17a0cd41a12c0fbf9a7c47c8889232594778 (patch)
tree0a5f6f4b0a7d480accc4dfbcc3e9c1c6e3652dc0 /Source/Core/VideoCommon/MainBase.cpp
parentd800b0f79868a28356b4e40cb9b2e5af43977042 (diff)
parent1f1574b7ab032afa7b3a600a071699f2cbea124e (diff)
Merge pull request #5498 from iwubcode/hybrid_xfb
Hybrid xfb
Diffstat (limited to 'Source/Core/VideoCommon/MainBase.cpp')
-rw-r--r--Source/Core/VideoCommon/MainBase.cpp11
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);