summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWmain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWmain.cpp')
-rw-r--r--Source/Core/VideoBackends/Software/SWmain.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/Source/Core/VideoBackends/Software/SWmain.cpp b/Source/Core/VideoBackends/Software/SWmain.cpp
index b4a4cb2a2a..e91fb1bae5 100644
--- a/Source/Core/VideoBackends/Software/SWmain.cpp
+++ b/Source/Core/VideoBackends/Software/SWmain.cpp
@@ -231,11 +231,13 @@ void VideoSoftware::Video_EndField()
// messy when the Hardware Rasterizer is enabled.
// And Neobrain loves his Hardware Rasterizer
- // If we are runing dual core, Signal the GPU thread about the new colour texture.
- if (SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread)
- Common::AtomicStoreRelease(s_swapRequested, true);
- else
- SWRenderer::Swap(s_beginFieldArgs.fbWidth, s_beginFieldArgs.fbHeight);
+ if (!g_SWVideoConfig.bBypassXFB) { // BypassXFB has already done a swap, so skip this.
+ // If we are runing dual core, Signal the GPU thread about the new colour texture.
+ if (SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread)
+ Common::AtomicStoreRelease(s_swapRequested, true);
+ else
+ SWRenderer::Swap(s_beginFieldArgs.fbWidth, s_beginFieldArgs.fbHeight);
+ }
}
u32 VideoSoftware::Video_AccessEFB(EFBAccessType type, u32 x, u32 y, u32 InputData)