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:
@@ -90,6 +90,10 @@ void ThreadManager::FlushRegion(VAddr addr, u64 size) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!Settings::IsGPULevelExtreme()) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
auto& gpu = system.GPU();
|
auto& gpu = system.GPU();
|
||||||
|
|||||||
Reference in New Issue
Block a user