diff options
author | Chloe <25727384+ogniK5377@users.noreply.github.com> | 2020-11-04 08:36:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-04 08:36:55 +0100 |
commit | 6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1 (patch) | |
tree | a97a13d00eaae7e81f028a57fef7dadf9d96a27c /src/core/hle/service/nvdrv/nvdrv.h | |
parent | Merge pull request #4874 from lioncash/nodiscard2 (diff) | |
parent | fixup! hle service: nvdrv: nvhost_gpu: Update to use SyncpointManager and other improvements. (diff) | |
download | yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar.gz yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar.bz2 yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar.lz yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar.xz yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.tar.zst yuzu-6bbbbe8f85369dfc7a67441e5f7f6ab7a6484ae1.zip |
Diffstat (limited to 'src/core/hle/service/nvdrv/nvdrv.h')
-rw-r--r-- | src/core/hle/service/nvdrv/nvdrv.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/service/nvdrv/nvdrv.h b/src/core/hle/service/nvdrv/nvdrv.h index 7706a5590..f3d863dac 100644 --- a/src/core/hle/service/nvdrv/nvdrv.h +++ b/src/core/hle/service/nvdrv/nvdrv.h @@ -10,6 +10,7 @@ #include "common/common_types.h" #include "core/hle/kernel/writable_event.h" #include "core/hle/service/nvdrv/nvdata.h" +#include "core/hle/service/nvdrv/syncpoint_manager.h" #include "core/hle/service/service.h" namespace Core { @@ -22,15 +23,23 @@ class NVFlinger; namespace Service::Nvidia { +class SyncpointManager; + namespace Devices { class nvdevice; } +/// Represents an Nvidia event +struct NvEvent { + Kernel::EventPair event; + Fence fence{}; +}; + struct EventInterface { // Mask representing currently busy events u64 events_mask{}; // Each kernel event associated to an NV event - std::array<Kernel::EventPair, MaxNvEvents> events; + std::array<NvEvent, MaxNvEvents> events; // The status of the current NVEvent std::array<EventState, MaxNvEvents> status{}; // Tells if an NVEvent is registered or not @@ -119,6 +128,9 @@ public: std::shared_ptr<Kernel::WritableEvent> GetEventWriteable(u32 event_id) const; private: + /// Manages syncpoints on the host + SyncpointManager syncpoint_manager; + /// Id to use for the next open file descriptor. u32 next_fd = 1; |