summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/nvdrv_interface.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-11-01 15:02:47 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2022-10-06 21:00:51 +0200
commitd30b885d713fa2b9393aeb3c515f4d881bf838f2 (patch)
tree4445e1621b403fd6603e9773841107ba9c10822e /src/core/hle/service/nvdrv/nvdrv_interface.cpp
parentNvHost: Remake Ctrl Implementation. (diff)
downloadyuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar.gz
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar.bz2
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar.lz
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar.xz
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.tar.zst
yuzu-d30b885d713fa2b9393aeb3c515f4d881bf838f2.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/nvdrv/nvdrv_interface.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/core/hle/service/nvdrv/nvdrv_interface.cpp b/src/core/hle/service/nvdrv/nvdrv_interface.cpp
index 07883feb2..81ee28f31 100644
--- a/src/core/hle/service/nvdrv/nvdrv_interface.cpp
+++ b/src/core/hle/service/nvdrv/nvdrv_interface.cpp
@@ -173,25 +173,20 @@ void NVDRV::QueryEvent(Kernel::HLERequestContext& ctx) {
return;
}
- const auto nv_result = nvdrv->VerifyFD(fd);
- if (nv_result != NvResult::Success) {
- LOG_ERROR(Service_NVDRV, "Invalid FD specified DeviceFD={}!", fd);
- ServiceError(ctx, nv_result);
- return;
- }
-
- auto* event = nvdrv->GetEvent(event_id);
+ Kernel::KEvent* event = nullptr;
+ NvResult result = nvdrv->QueryEvent(fd, event_id, event);
- if (event) {
+ if (result == NvResult::Success) {
IPC::ResponseBuilder rb{ctx, 3, 1};
rb.Push(ResultSuccess);
auto& readable_event = event->GetReadableEvent();
rb.PushCopyObjects(readable_event);
rb.PushEnum(NvResult::Success);
} else {
+ LOG_ERROR(Service_NVDRV, "Invalid event request!");
IPC::ResponseBuilder rb{ctx, 3};
rb.Push(ResultSuccess);
- rb.PushEnum(NvResult::BadParameter);
+ rb.PushEnum(result);
}
}