GPU: Improve syncing.

This commit is contained in:
Fernando Sahmkow 2022-01-29 23:02:04 +01:00
parent 4258d515e6
commit d0a5a48948

View file

@ -503,8 +503,15 @@ struct GPU::Impl {
case BufferMethods::SemaphoreAddressHigh: case BufferMethods::SemaphoreAddressHigh:
case BufferMethods::SemaphoreAddressLow: case BufferMethods::SemaphoreAddressLow:
case BufferMethods::SemaphoreSequence: case BufferMethods::SemaphoreSequence:
case BufferMethods::UnkCacheFlush: break;
case BufferMethods::WrcacheFlush: case BufferMethods::UnkCacheFlush: {
rasterizer->SyncGuestHost();
break;
}
case BufferMethods::WrcacheFlush: {
rasterizer->SignalReference();
break;
}
case BufferMethods::FenceValue: case BufferMethods::FenceValue:
break; break;
case BufferMethods::RefCnt: case BufferMethods::RefCnt:
@ -514,7 +521,7 @@ struct GPU::Impl {
ProcessFenceActionMethod(); ProcessFenceActionMethod();
break; break;
case BufferMethods::WaitForInterrupt: case BufferMethods::WaitForInterrupt:
ProcessWaitForInterruptMethod(); rasterizer->WaitForIdle();
break; break;
case BufferMethods::SemaphoreTrigger: { case BufferMethods::SemaphoreTrigger: {
ProcessSemaphoreTriggerMethod(); ProcessSemaphoreTriggerMethod();