From 8203ea929b5981b8413c342e6bbfb7467f3c2a0d Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Thu, 10 Nov 2016 17:55:21 +0100 Subject: BlockingLoop: Yield to UI message pump while waiting. --- Source/Core/VideoCommon/Fifo.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Source/Core/VideoCommon/Fifo.cpp') diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp index 374ddb07f3..678dc77687 100644 --- a/Source/Core/VideoCommon/Fifo.cpp +++ b/Source/Core/VideoCommon/Fifo.cpp @@ -18,6 +18,7 @@ #include "Core/CoreTiming.h" #include "Core/HW/Memmap.h" #include "Core/HW/SystemTimers.h" +#include "Core/Host.h" #include "Core/NetPlayProto.h" #include "VideoCommon/AsyncRequests.h" @@ -94,7 +95,13 @@ void PauseAndLock(bool doLock, bool unpauseOnUnlock) { SyncGPU(SyncGPUReason::Other); EmulatorState(false); - FlushGpu(); + + const SConfig& param = SConfig::GetInstance(); + + if (!param.bCPUThread || s_use_deterministic_gpu_thread) + return; + + s_gpu_mainloop.WaitYield(std::chrono::milliseconds(100), Host_YieldToUI); } else { -- cgit v1.2.3