summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2019-06-10 08:19:27 -0400
committerFernandoS27 <fsahmkow27@gmail.com>2019-07-05 15:49:20 -0400
commit0706d633bf7764455082cfdfdc35c14507cb6897 (patch)
tree00f07387d43df3cf85d786af7d9a35233bf2c9d5 /src/core
parent600dddf88db0a786b945c65d27da05105410bfe6 (diff)
nv_host_ctrl: Make Sync GPU variant always return synced result.
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
index 5b1253f6b..96310ed83 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.cpp
@@ -60,6 +60,11 @@ u32 nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector<u8>&
}
auto& gpu = Core::System::GetInstance().GPU();
+ // This is mostly to take into account unimplemented features. As synced
+ // gpu is always synced.
+ if (!gpu.IsAsync()) {
+ return NvResult::Success;
+ }
gpu.Guard(true);
u32 current_syncpoint_value = gpu.GetSyncpointValue(params.syncpt_id);
if (current_syncpoint_value >= params.threshold) {