summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/video_core/gpu.cpp13
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();