diff --git a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp index ba31947759..8ac0a0d2a0 100644 --- a/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp +++ b/rpcs3/Emu/RSX/D3D12/D3D12GSRender.cpp @@ -1483,7 +1483,7 @@ void D3D12GSRender::semaphorePFIFOAcquire(u32 offset, u32 value) const std::chrono::time_point enterWait = std::chrono::system_clock::now(); while (true) { - u32 val = vm::read32(m_label_addr + offset); + volatile u32 val = vm::read32(m_label_addr + offset); if (val == value) break; std::chrono::time_point waitPoint = std::chrono::system_clock::now(); long long elapsedTime = std::chrono::duration_cast(waitPoint - enterWait).count();