diff options
| author | JMC47 <JMC4789@gmail.com> | 2024-11-11 00:38:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-11 00:38:26 -0500 |
| commit | 80ea68b13c06ae3fa57775de39c902ed9c3c8e84 (patch) | |
| tree | ebd875a423605e3c77e8e6a3982c10904f67a201 /Source/Core | |
| parent | 375a990e411cc4739c5370276457e88d4f995d8f (diff) | |
| parent | fbce7374155cdd2df8a8bed2298f5c104ad2b946 (diff) | |
Merge pull request #13183 from Tilka/sync_on_fifo_reset
ProcessorInterface: sync GPU just before PI_FIFO_RESET
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/HW/ProcessorInterface.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/Core/Core/HW/ProcessorInterface.cpp b/Source/Core/Core/HW/ProcessorInterface.cpp index fc26896a54..3eddfd5ed5 100644 --- a/Source/Core/Core/HW/ProcessorInterface.cpp +++ b/Source/Core/Core/HW/ProcessorInterface.cpp @@ -98,6 +98,10 @@ void ProcessorInterfaceManager::RegisterMMIO(MMIO::Mapping* mmio, u32 base) { system.GetGPFifo().ResetGatherPipe(); + // Assume that all bytes that made it into the GPU fifo did in fact execute + // before this MMIO write takes effect. + system.GetFifo().SyncGPUForRegisterAccess(); + // Call Fifo::ResetVideoBuffer() from the video thread. Since that function // resets various pointers used by the video thread, we can't call it directly // from the CPU thread, so queue a task to do it instead. In single-core mode, |
