summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Fifo.cpp
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2019-06-29 18:35:12 +1000
committerStenzek <stenzek@gmail.com>2019-07-24 04:08:25 +1000
commitb26bb0605b962456720519b273f171919ebfb65d (patch)
tree726c68df8d167671bc161c27d59d05532330d896 /Source/Core/VideoCommon/Fifo.cpp
parenta25a4e07083d4e20b5be6192892c346c4549ed73 (diff)
VideoBackendBase: Do save state logic on the GPU thread
Diffstat (limited to 'Source/Core/VideoCommon/Fifo.cpp')
-rw-r--r--Source/Core/VideoCommon/Fifo.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp
index 36a9ee7307..f63aaff805 100644
--- a/Source/Core/VideoCommon/Fifo.cpp
+++ b/Source/Core/VideoCommon/Fifo.cpp
@@ -299,14 +299,15 @@ void RunGpuLoop()
[] {
const SConfig& param = SConfig::GetInstance();
+ // Run events from the CPU thread.
+ AsyncRequests::GetInstance()->PullEvents();
+
// Do nothing while paused
if (!s_emu_running_state.IsSet())
return;
if (s_use_deterministic_gpu_thread)
{
- AsyncRequests::GetInstance()->PullEvents();
-
// All the fifo/CP stuff is on the CPU. We just need to run the opcode decoder.
u8* seen_ptr = s_video_buffer_seen_ptr;
u8* write_ptr = s_video_buffer_write_ptr;
@@ -321,9 +322,6 @@ void RunGpuLoop()
else
{
CommandProcessor::SCPFifoStruct& fifo = CommandProcessor::fifo;
-
- AsyncRequests::GetInstance()->PullEvents();
-
CommandProcessor::SetCPStatusFromGPU();
// check if we are able to run this buffer