summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Fifo.cpp
diff options
context:
space:
mode:
authorEmptyChaos <EmptyChaos@users.noreply.github.com>2016-07-15 00:20:04 +0000
committerEmptyChaos <EmptyChaos@users.noreply.github.com>2016-07-19 15:20:17 +1000
commit5adb29b6cb895e38c3fc41e3bc322d7796d6146f (patch)
tree91ab43c3b1925f3e166a2fcf3d6c07aba4b192b7 /Source/Core/VideoCommon/Fifo.cpp
parent63f9677fea883e9389a3def0e7325fe5533aa2ee (diff)
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.
Diffstat (limited to 'Source/Core/VideoCommon/Fifo.cpp')
-rw-r--r--Source/Core/VideoCommon/Fifo.cpp5
1 files changed, 4 insertions, 1 deletions
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)