gpu_thread: Block on FlushRegion for all GPU accuracies

This addresses a synchronization issue that causes an SVC break in Kirby and the Forgotten Land.
This commit is contained in:
ameerj
2022-03-29 00:33:13 -04:00
parent 642913b0d1
commit 324bda9cba

View File

@@ -90,6 +90,10 @@ void ThreadManager::FlushRegion(VAddr addr, u64 size) {
return;
}
if (!Settings::IsGPULevelExtreme()) {
// Push a command and block here before proceeding, addresses a synchronization
// bug causing an SVC break in Kirby and the Forgotten Land
// GPUTickCommand is essentially a no-op if we don't RequestFlush()
PushCommand(GPUTickCommand(), true);
return;
}
auto& gpu = system.GPU();