diff options
| author | Mai M <mathew1800@gmail.com> | 2021-05-20 10:20:22 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-20 10:20:22 -0400 |
| commit | 8b814819206947fe5770b77c69a4f21c449484eb (patch) | |
| tree | 3063997409e8b0b092f11b2cc1a91ec9665ecdfd /Source/Core/VideoCommon/Fifo.cpp | |
| parent | fb43aaf51342dfae7a760f3c68bcb896cee74cf7 (diff) | |
| parent | 8a0f5ea04a276afcf3f76a038b0d3d88415ecad9 (diff) | |
Merge pull request #9710 from JosJuice/volatile-begone
Remove all remaining volatile qualifiers
Diffstat (limited to 'Source/Core/VideoCommon/Fifo.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Fifo.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/Source/Core/VideoCommon/Fifo.cpp b/Source/Core/VideoCommon/Fifo.cpp index f12776449c..cfc126cfc1 100644 --- a/Source/Core/VideoCommon/Fifo.cpp +++ b/Source/Core/VideoCommon/Fifo.cpp @@ -139,7 +139,7 @@ void Shutdown() void ExitGpuLoop() { // This should break the wait loop in CPU thread - CommandProcessor::fifo.bFF_GPReadEnable = false; + CommandProcessor::fifo.bFF_GPReadEnable.store(0, std::memory_order_relaxed); FlushGpu(); // Terminate GPU thread loop @@ -327,7 +327,8 @@ void RunGpuLoop() CommandProcessor::SetCPStatusFromGPU(); // check if we are able to run this buffer - while (!CommandProcessor::IsInterruptWaiting() && fifo.bFF_GPReadEnable && + while (!CommandProcessor::IsInterruptWaiting() && + fifo.bFF_GPReadEnable.load(std::memory_order_relaxed) && fifo.CPReadWriteDistance.load(std::memory_order_relaxed) && !AtBreakpoint()) { if (param.bSyncGPU && s_sync_ticks.load() < param.iSyncGpuMinDistance) @@ -415,8 +416,9 @@ void GpuMaySleep() bool AtBreakpoint() { CommandProcessor::SCPFifoStruct& fifo = CommandProcessor::fifo; - return fifo.bFF_BPEnable && (fifo.CPReadPointer.load(std::memory_order_relaxed) == - fifo.CPBreakpoint.load(std::memory_order_relaxed)); + return fifo.bFF_BPEnable.load(std::memory_order_relaxed) && + (fifo.CPReadPointer.load(std::memory_order_relaxed) == + fifo.CPBreakpoint.load(std::memory_order_relaxed)); } void RunGpu() @@ -446,8 +448,9 @@ static int RunGpuOnCpu(int ticks) CommandProcessor::SCPFifoStruct& fifo = CommandProcessor::fifo; bool reset_simd_state = false; int available_ticks = int(ticks * SConfig::GetInstance().fSyncGpuOverclock) + s_sync_ticks.load(); - while (fifo.bFF_GPReadEnable && fifo.CPReadWriteDistance.load(std::memory_order_relaxed) && - !AtBreakpoint() && available_ticks >= 0) + while (fifo.bFF_GPReadEnable.load(std::memory_order_relaxed) && + fifo.CPReadWriteDistance.load(std::memory_order_relaxed) && !AtBreakpoint() && + available_ticks >= 0) { if (s_use_deterministic_gpu_thread) { |
