From d0a5a48948b91011e2117c6ae8f717e7271abcc8 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sat, 29 Jan 2022 23:02:04 +0100 Subject: GPU: Improve syncing. --- src/video_core/gpu.cpp | 13 ++++++++++--- 1 file 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(); -- cgit v1.2.3