summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2021-10-16 00:20:19 +0200
committerGravatar Fernando Sahmkow2021-10-16 00:23:27 +0200
commit53cf91d151d1e3d289917b63cf17ca254674f1ce (patch)
treeb98a87d68243e1f9358c10a8870dd296c0aa5eb1 /src/core/hle
parentSuspend temporally (diff)
downloadyuzu-53cf91d151d1e3d289917b63cf17ca254674f1ce.tar.gz
yuzu-53cf91d151d1e3d289917b63cf17ca254674f1ce.tar.xz
yuzu-53cf91d151d1e3d289917b63cf17ca254674f1ce.zip
NvHost/Core: Address Feedback.
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
index b59eae55c..f9b82b504 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
@@ -150,9 +150,11 @@ NvResult nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector
150 params.value |= event_id; 150 params.value |= event_id;
151 event.event->GetWritableEvent().Clear(); 151 event.event->GetWritableEvent().Clear();
152 if (events_interface.failed[event_id]) { 152 if (events_interface.failed[event_id]) {
153 system.stallForGPU(true); 153 {
154 gpu.WaitFence(params.syncpt_id, target_value); 154 auto lk = system.StallCPU();
155 system.stallForGPU(false); 155 gpu.WaitFence(params.syncpt_id, target_value);
156 system.UnstallCPU();
157 }
156 std::memcpy(output.data(), &params, sizeof(params)); 158 std::memcpy(output.data(), &params, sizeof(params));
157 events_interface.failed[event_id] = false; 159 events_interface.failed[event_id] = false;
158 return NvResult::Success; 160 return NvResult::Success;