From b26bb0605b962456720519b273f171919ebfb65d Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 29 Jun 2019 18:35:12 +1000 Subject: VideoBackendBase: Do save state logic on the GPU thread --- Source/Core/VideoCommon/Fifo.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'Source/Core/VideoCommon/Fifo.cpp') 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 -- cgit v1.2.3