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/devices/nvhost_gpu.h | |
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/devices/nvhost_gpu.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h index 8a9f7775a..eb4936df0 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h @@ -15,7 +15,8 @@ namespace Service::Nvidia { class SyncpointManager; -} +class EventInterface; +} // namespace Service::Nvidia namespace Service::Nvidia::Devices { @@ -23,7 +24,7 @@ class nvmap; class nvhost_gpu final : public nvdevice { public: explicit nvhost_gpu(Core::System& system_, std::shared_ptr<nvmap> nvmap_dev_, - SyncpointManager& syncpoint_manager_); + EventInterface& events_interface_, SyncpointManager& syncpoint_manager_); ~nvhost_gpu() override; NvResult Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& input, @@ -36,6 +37,8 @@ public: void OnOpen(DeviceFD fd) override; void OnClose(DeviceFD fd) override; + Kernel::KEvent* QueryEvent(u32 event_id) override; + private: enum class CtxObjects : u32_le { Ctx2D = 0x902D, @@ -192,8 +195,14 @@ private: NvResult ChannelSetTimeslice(const std::vector<u8>& input, std::vector<u8>& output); std::shared_ptr<nvmap> nvmap_dev; + EventInterface& events_interface; SyncpointManager& syncpoint_manager; NvFence channel_fence; + + // Events + Kernel::KEvent* sm_exception_breakpoint_int_report_event; + Kernel::KEvent* sm_exception_breakpoint_pause_report_event; + Kernel::KEvent* error_notifier_event; }; } // namespace Service::Nvidia::Devices |