Merge pull request #1878 from skidau/fifo-overflow-xfb

Made the CPU thread wait for the GPU thread to swap
This commit is contained in:
Markus Wick 2015-01-12 22:53:46 +01:00
commit 197c38e865
1 changed files with 6 additions and 0 deletions

View File

@ -125,6 +125,12 @@ void VideoBackendHardware::Video_EndField()
if (s_BackendInitialized) if (s_BackendInitialized)
{ {
SyncGPU(SYNC_GPU_SWAP); SyncGPU(SYNC_GPU_SWAP);
// Wait until the GPU thread has swapped. Prevents FIFO overflows.
while (g_ActiveConfig.bUseXFB && SConfig::GetInstance().m_LocalCoreStartupParameter.bCPUThread && s_swapRequested.IsSet())
{
Common::YieldCPU();
}
s_swapRequested.Set(); s_swapRequested.Set();
} }
} }