diff options
-rw-r--r-- | src/video_core/gpu.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp index e326018ae..191b97dbf 100644 --- a/src/video_core/gpu.cpp +++ b/src/video_core/gpu.cpp @@ -503,8 +503,15 @@ struct GPU::Impl { case BufferMethods::SemaphoreAddressHigh: case BufferMethods::SemaphoreAddressLow: case BufferMethods::SemaphoreSequence: - case BufferMethods::UnkCacheFlush: - case BufferMethods::WrcacheFlush: + break; + case BufferMethods::UnkCacheFlush: { + rasterizer->SyncGuestHost(); + break; + } + case BufferMethods::WrcacheFlush: { + rasterizer->SignalReference(); + break; + } case BufferMethods::FenceValue: break; case BufferMethods::RefCnt: @@ -514,7 +521,7 @@ struct GPU::Impl { ProcessFenceActionMethod(); break; case BufferMethods::WaitForInterrupt: - ProcessWaitForInterruptMethod(); + rasterizer->WaitForIdle(); break; case BufferMethods::SemaphoreTrigger: { ProcessSemaphoreTriggerMethod(); |