diff options
| author | skidau <skidau@gmail.com> | 2014-09-05 11:24:46 +1000 |
|---|---|---|
| committer | skidau <skidau@gmail.com> | 2014-09-05 11:24:46 +1000 |
| commit | 73fc45db688d625a734552d2a95090a7a2f1f576 (patch) | |
| tree | 3ee0d495b91193beb599a71ce46ff6bbc4252290 /Source | |
| parent | f9650c52f8f6dcf5bdb78b9e114a100bf83c19b1 (diff) | |
| parent | 86db0bf8c3a6fb16c3a70a637ad845a1a47e30b0 (diff) | |
Merge pull request #967 from skidau/SyncGPU-SaveState
Added the EmuRunningState check to the GPU thread's FIFO loop
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/VideoCommon/Fifo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp index 8a872d5422..b45bfab120 100644 --- a/Source/Core/VideoCommon/Fifo.cpp +++ b/Source/Core/VideoCommon/Fifo.cpp @@ -153,7 +153,7 @@ void RunGpuLoop() Common::AtomicStore(CommandProcessor::VITicks, CommandProcessor::m_cpClockOrigin); // check if we are able to run this buffer - while (GpuRunningState && !CommandProcessor::interruptWaiting && fifo.bFF_GPReadEnable && fifo.CPReadWriteDistance && !AtBreakpoint()) + while (GpuRunningState && EmuRunningState && !CommandProcessor::interruptWaiting && fifo.bFF_GPReadEnable && fifo.CPReadWriteDistance && !AtBreakpoint()) { fifo.isGpuReadingData = true; CommandProcessor::isPossibleWaitingSetDrawDone = fifo.bFF_GPLinkEnable ? true : false; @@ -175,7 +175,7 @@ void RunGpuLoop() cyclesExecuted = OpcodeDecoder_Run(GetVideoBufferEndPtr()); - if (Core::g_CoreStartupParameter.bSyncGPU && Common::AtomicLoad(CommandProcessor::VITicks) > cyclesExecuted) + if (Core::g_CoreStartupParameter.bSyncGPU && Common::AtomicLoad(CommandProcessor::VITicks) >= cyclesExecuted) Common::AtomicAdd(CommandProcessor::VITicks, -(s32)cyclesExecuted); Common::AtomicStore(fifo.CPReadPointer, readPtr); |
