From 5adb29b6cb895e38c3fc41e3bc322d7796d6146f Mon Sep 17 00:00:00 2001 From: EmptyChaos Date: Fri, 15 Jul 2016 00:20:04 +0000 Subject: [PATCH] Fifo: Call AllowSleep instead of Wakeup when pausing. BlockingLoop was being woken when the emulator was being paused which would cause the loop to busy spin. Issue 9692. --- Source/Core/VideoCommon/Fifo.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp index 8e14e58b35..504a274157 100644 --- a/Source/Core/VideoCommon/Fifo.cpp +++ b/Source/Core/VideoCommon/Fifo.cpp @@ -154,7 +154,10 @@ void ExitGpuLoop() void EmulatorState(bool running) { s_emu_running_state.store(running); - s_gpu_mainloop.Wakeup(); + if (running) + s_gpu_mainloop.Wakeup(); + else + s_gpu_mainloop.AllowSleep(); } void SyncGPU(SyncGPUReason reason, bool may_move_read_ptr)