diff options
| author | EmptyChaos <EmptyChaos@users.noreply.github.com> | 2016-07-15 00:20:04 +0000 |
|---|---|---|
| committer | EmptyChaos <EmptyChaos@users.noreply.github.com> | 2016-07-19 15:20:17 +1000 |
| commit | 5adb29b6cb895e38c3fc41e3bc322d7796d6146f (patch) | |
| tree | 91ab43c3b1925f3e166a2fcf3d6c07aba4b192b7 /Source/Core/VideoCommon/Fifo.cpp | |
| parent | 63f9677fea883e9389a3def0e7325fe5533aa2ee (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.cpp | 5 |
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) |
