diff options
author | Liam <byteslice@airmail.cc> | 2023-10-24 19:03:46 +0200 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-10-25 19:05:56 +0200 |
commit | 789d9c8af931490efd8647f286e136faaf062989 (patch) | |
tree | 360baf82ade3a563cbf41cd4b59bdf8525df15d9 /src/core/hle/service/nvdrv/devices/nvhost_ctrl.h | |
parent | nvdrv: convert nvhost_ctrl_gpu (diff) | |
download | yuzu-789d9c8af931490efd8647f286e136faaf062989.tar yuzu-789d9c8af931490efd8647f286e136faaf062989.tar.gz yuzu-789d9c8af931490efd8647f286e136faaf062989.tar.bz2 yuzu-789d9c8af931490efd8647f286e136faaf062989.tar.lz yuzu-789d9c8af931490efd8647f286e136faaf062989.tar.xz yuzu-789d9c8af931490efd8647f286e136faaf062989.tar.zst yuzu-789d9c8af931490efd8647f286e136faaf062989.zip |
Diffstat (limited to 'src/core/hle/service/nvdrv/devices/nvhost_ctrl.h')
-rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_ctrl.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h index 2efed4862..6913c61ac 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h @@ -186,15 +186,24 @@ private: static_assert(sizeof(IocCtrlEventUnregisterBatchParams) == 8, "IocCtrlEventKill is incorrect size"); - NvResult NvOsGetConfigU32(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventWait(std::span<const u8> input, std::span<u8> output, bool is_allocation); - NvResult IocCtrlEventRegister(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventUnregister(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventUnregisterBatch(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlClearEventWait(std::span<const u8> input, std::span<u8> output); + NvResult NvOsGetConfigU32(IocGetConfigParams& params); + NvResult IocCtrlEventRegister(IocCtrlEventRegisterParams& params); + NvResult IocCtrlEventUnregister(IocCtrlEventUnregisterParams& params); + NvResult IocCtrlEventUnregisterBatch(IocCtrlEventUnregisterBatchParams& params); + NvResult IocCtrlClearEventWait(IocCtrlEventClearParams& params); NvResult FreeEvent(u32 slot); + // TODO: these are not the correct names + NvResult IocCtrlEventWaitNotAllocation(IocCtrlEventWaitParams& params) { + return this->IocCtrlEventWaitImpl(params, false); + } + NvResult IocCtrlEventWaitWithAllocation(IocCtrlEventWaitParams& params) { + return this->IocCtrlEventWaitImpl(params, true); + } + + NvResult IocCtrlEventWaitImpl(IocCtrlEventWaitParams& params, bool is_allocation); + EventInterface& events_interface; NvCore::Container& core; NvCore::SyncpointManager& syncpoint_manager; |