Merge pull request #13183 from Tilka/sync_on_fifo_reset

ProcessorInterface: sync GPU just before PI_FIFO_RESET
This commit is contained in:
JMC47 2024-11-11 00:38:26 -05:00 committed by GitHub
commit 80ea68b13c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -98,6 +98,10 @@ void ProcessorInterfaceManager::RegisterMMIO(MMIO::Mapping* mmio, u32 base)
{ {
system.GetGPFifo().ResetGatherPipe(); 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 // Call Fifo::ResetVideoBuffer() from the video thread. Since that function
// resets various pointers used by the video thread, we can't call it directly // 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, // from the CPU thread, so queue a task to do it instead. In single-core mode,