diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2021-11-01 15:02:47 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:51 +0200 |
commit | d30b885d713fa2b9393aeb3c515f4d881bf838f2 (patch) | |
tree | 4445e1621b403fd6603e9773841107ba9c10822e /src/core/hle/service/nvdrv/nvdrv_interface.cpp | |
parent | NvHost: Remake Ctrl Implementation. (diff) | |
download | yuzu-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.cpp | 15 |
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); } } |