diff options
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/OpcodeDecoding.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/OpcodeDecoding.cpp b/Source/Core/VideoCommon/OpcodeDecoding.cpp index 36c9093365..d14bb46e6c 100644 --- a/Source/Core/VideoCommon/OpcodeDecoding.cpp +++ b/Source/Core/VideoCommon/OpcodeDecoding.cpp @@ -153,7 +153,9 @@ public: if constexpr (is_preprocess) { - const u8* const start_address = Memory::GetPointer(address); + auto& system = Core::System::GetInstance(); + auto& memory = system.GetMemory(); + const u8* const start_address = memory.GetPointer(address); Fifo::PushFifoAuxBuffer(start_address, size); @@ -167,11 +169,17 @@ public: const u8* start_address; if (Fifo::UseDeterministicGPUThread()) + { start_address = static_cast<u8*>(Fifo::PopFifoAuxBuffer(size)); + } else - start_address = Memory::GetPointer(address); + { + auto& system = Core::System::GetInstance(); + auto& memory = system.GetMemory(); + start_address = memory.GetPointer(address); + } - // Avoid the crash if Memory::GetPointer failed .. + // Avoid the crash if memory.GetPointer failed .. if (start_address != nullptr) { // temporarily swap dl and non-dl (small "hack" for the stats) |
