diff options
| author | 2018-06-04 22:12:02 +0200 | |
|---|---|---|
| committer | 2018-06-04 16:12:02 -0400 | |
| commit | 4fad069870dc0fc126eb723bd6fe8cefe71269ea (patch) | |
| tree | b5df5465392598083c841cb47c6fcfcf1d6032df /src | |
| parent | Merge pull request #502 from bunnei/more-am-stuff (diff) | |
| download | yuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.tar.gz yuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.tar.xz yuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.zip | |
Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params (#511)
* Add some IoctlCommand with their params to nvhost_gpu
* fix clang-format
* delete trailing whitespace
* fix some clang-format
* delete one other trailing whitespace
* last clang-format fix
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_gpu.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h index 2ecf818f3..56b5ed60d 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h | |||
| @@ -26,11 +26,19 @@ public: | |||
| 26 | private: | 26 | private: |
| 27 | enum class IoctlCommand : u32_le { | 27 | enum class IoctlCommand : u32_le { |
| 28 | IocSetNVMAPfdCommand = 0x40044801, | 28 | IocSetNVMAPfdCommand = 0x40044801, |
| 29 | IocAllocGPFIFOCommand = 0x40084805, | ||
| 29 | IocSetClientDataCommand = 0x40084714, | 30 | IocSetClientDataCommand = 0x40084714, |
| 30 | IocGetClientDataCommand = 0x80084715, | 31 | IocGetClientDataCommand = 0x80084715, |
| 31 | IocZCullBind = 0xc010480b, | 32 | IocZCullBind = 0xc010480b, |
| 32 | IocSetErrorNotifierCommand = 0xC018480C, | 33 | IocSetErrorNotifierCommand = 0xC018480C, |
| 33 | IocChannelSetPriorityCommand = 0x4004480D, | 34 | IocChannelSetPriorityCommand = 0x4004480D, |
| 35 | IocEnableCommand = 0x0000480E, | ||
| 36 | IocDisableCommand = 0x0000480F, | ||
| 37 | IocPreemptCommand = 0x00004810, | ||
| 38 | IocForceResetCommand = 0x00004811, | ||
| 39 | IocEventIdControlCommand = 0x40084812, | ||
| 40 | IocGetErrorNotificationCommand = 0xC0104817, | ||
| 41 | IocAllocGPFIFOExCommand = 0x40204818, | ||
| 34 | IocAllocGPFIFOEx2Command = 0xC020481A, | 42 | IocAllocGPFIFOEx2Command = 0xC020481A, |
| 35 | IocAllocObjCtxCommand = 0xC0104809, | 43 | IocAllocObjCtxCommand = 0xC0104809, |
| 36 | IocChannelGetWaitbaseCommand = 0xC0080003, | 44 | IocChannelGetWaitbaseCommand = 0xC0080003, |
| @@ -56,6 +64,12 @@ private: | |||
| 56 | }; | 64 | }; |
| 57 | static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size"); | 65 | static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size"); |
| 58 | 66 | ||
| 67 | struct IoctlAllocGPFIFO { | ||
| 68 | u32_le num_entries; | ||
| 69 | u32_le flags; | ||
| 70 | }; | ||
| 71 | static_assert(sizeof(IoctlAllocGPFIFO) == 8, "IoctlAllocGPFIFO is incorrect size"); | ||
| 72 | |||
| 59 | struct IoctlClientData { | 73 | struct IoctlClientData { |
| 60 | u64_le data; | 74 | u64_le data; |
| 61 | }; | 75 | }; |
| @@ -76,12 +90,45 @@ private: | |||
| 76 | }; | 90 | }; |
| 77 | static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size"); | 91 | static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size"); |
| 78 | 92 | ||
| 93 | struct IoctlChannelSetPriority { | ||
| 94 | u32_le priority; | ||
| 95 | }; | ||
| 96 | static_assert(sizeof(IoctlChannelSetPriority) == 4, | ||
| 97 | "IoctlChannelSetPriority is incorrect size"); | ||
| 98 | |||
| 99 | struct IoctlEventIdControl { | ||
| 100 | u32_le cmd; // 0=disable, 1=enable, 2=clear | ||
| 101 | u32_le id; | ||
| 102 | }; | ||
| 103 | static_assert(sizeof(IoctlEventIdControl) == 8, "IoctlEventIdControl is incorrect size"); | ||
| 104 | |||
| 105 | struct IoctlGetErrorNotification { | ||
| 106 | u64_le timestamp; | ||
| 107 | u32_le info32; | ||
| 108 | u16_le info16; | ||
| 109 | u16_le status; // always 0xFFFF | ||
| 110 | }; | ||
| 111 | static_assert(sizeof(IoctlGetErrorNotification) == 16, | ||
| 112 | "IoctlGetErrorNotification is incorrect size"); | ||
| 113 | |||
| 79 | struct IoctlFence { | 114 | struct IoctlFence { |
| 80 | u32_le id; | 115 | u32_le id; |
| 81 | u32_le value; | 116 | u32_le value; |
| 82 | }; | 117 | }; |
| 83 | static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size"); | 118 | static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size"); |
| 84 | 119 | ||
| 120 | struct IoctlAllocGpfifoEx { | ||
| 121 | u32_le num_entries; | ||
| 122 | u32_le flags; | ||
| 123 | u32_le unk0; | ||
| 124 | u32_le unk1; | ||
| 125 | u32_le unk2; | ||
| 126 | u32_le unk3; | ||
| 127 | u32_le unk4; | ||
| 128 | u32_le unk5; | ||
| 129 | }; | ||
| 130 | static_assert(sizeof(IoctlAllocGpfifoEx) == 32, "IoctlAllocGpfifoEx is incorrect size"); | ||
| 131 | |||
| 85 | struct IoctlAllocGpfifoEx2 { | 132 | struct IoctlAllocGpfifoEx2 { |
| 86 | u32_le num_entries; // in | 133 | u32_le num_entries; // in |
| 87 | u32_le flags; // in | 134 | u32_le flags; // in |