InlineToMemoryClassState.cs
1 // This file was auto-generated from NVIDIA official Maxwell definitions. 2 3 using Ryujinx.Common.Memory; 4 5 namespace Ryujinx.Graphics.Gpu.Engine.InlineToMemory 6 { 7 /// <summary> 8 /// Notify type. 9 /// </summary> 10 enum NotifyType 11 { 12 WriteOnly = 0, 13 WriteThenAwaken = 1, 14 } 15 16 /// <summary> 17 /// Width in GOBs of the destination texture. 18 /// </summary> 19 enum SetDstBlockSizeWidth 20 { 21 OneGob = 0, 22 } 23 24 /// <summary> 25 /// Height in GOBs of the destination texture. 26 /// </summary> 27 enum SetDstBlockSizeHeight 28 { 29 OneGob = 0, 30 TwoGobs = 1, 31 FourGobs = 2, 32 EightGobs = 3, 33 SixteenGobs = 4, 34 ThirtytwoGobs = 5, 35 } 36 37 /// <summary> 38 /// Depth in GOBs of the destination texture. 39 /// </summary> 40 enum SetDstBlockSizeDepth 41 { 42 OneGob = 0, 43 TwoGobs = 1, 44 FourGobs = 2, 45 EightGobs = 3, 46 SixteenGobs = 4, 47 ThirtytwoGobs = 5, 48 } 49 50 /// <summary> 51 /// Memory layout of the destination texture. 52 /// </summary> 53 enum LaunchDmaDstMemoryLayout 54 { 55 Blocklinear = 0, 56 Pitch = 1, 57 } 58 59 /// <summary> 60 /// DMA completion type. 61 /// </summary> 62 enum LaunchDmaCompletionType 63 { 64 FlushDisable = 0, 65 FlushOnly = 1, 66 ReleaseSemaphore = 2, 67 } 68 69 /// <summary> 70 /// DMA interrupt type. 71 /// </summary> 72 enum LaunchDmaInterruptType 73 { 74 None = 0, 75 Interrupt = 1, 76 } 77 78 /// <summary> 79 /// DMA semaphore structure size. 80 /// </summary> 81 enum LaunchDmaSemaphoreStructSize 82 { 83 FourWords = 0, 84 OneWord = 1, 85 } 86 87 /// <summary> 88 /// DMA semaphore reduction operation. 89 /// </summary> 90 enum LaunchDmaReductionOp 91 { 92 RedAdd = 0, 93 RedMin = 1, 94 RedMax = 2, 95 RedInc = 3, 96 RedDec = 4, 97 RedAnd = 5, 98 RedOr = 6, 99 RedXor = 7, 100 } 101 102 /// <summary> 103 /// DMA semaphore reduction format. 104 /// </summary> 105 enum LaunchDmaReductionFormat 106 { 107 Unsigned32 = 0, 108 Signed32 = 1, 109 } 110 111 /// <summary> 112 /// Inline-to-Memory class state. 113 /// </summary> 114 unsafe struct InlineToMemoryClassState 115 { 116 #pragma warning disable CS0649 // Field is never assigned to 117 public uint SetObject; 118 public readonly int SetObjectClassId => (int)(SetObject & 0xFFFF); 119 public readonly int SetObjectEngineId => (int)((SetObject >> 16) & 0x1F); 120 public fixed uint Reserved04[63]; 121 public uint NoOperation; 122 public uint SetNotifyA; 123 public readonly int SetNotifyAAddressUpper => (int)(SetNotifyA & 0xFF); 124 public uint SetNotifyB; 125 public uint Notify; 126 public readonly NotifyType NotifyType => (NotifyType)(Notify); 127 public uint WaitForIdle; 128 public fixed uint Reserved114[7]; 129 public uint SetGlobalRenderEnableA; 130 public readonly int SetGlobalRenderEnableAOffsetUpper => (int)(SetGlobalRenderEnableA & 0xFF); 131 public uint SetGlobalRenderEnableB; 132 public uint SetGlobalRenderEnableC; 133 public readonly int SetGlobalRenderEnableCMode => (int)(SetGlobalRenderEnableC & 0x7); 134 public uint SendGoIdle; 135 public uint PmTrigger; 136 public uint PmTriggerWfi; 137 public fixed uint Reserved148[2]; 138 public uint SetInstrumentationMethodHeader; 139 public uint SetInstrumentationMethodData; 140 public fixed uint Reserved158[10]; 141 public uint LineLengthIn; 142 public uint LineCount; 143 public uint OffsetOutUpper; 144 public readonly int OffsetOutUpperValue => (int)(OffsetOutUpper & 0xFF); 145 public uint OffsetOut; 146 public uint PitchOut; 147 public uint SetDstBlockSize; 148 public readonly SetDstBlockSizeWidth SetDstBlockSizeWidth => (SetDstBlockSizeWidth)(SetDstBlockSize & 0xF); 149 public readonly SetDstBlockSizeHeight SetDstBlockSizeHeight => (SetDstBlockSizeHeight)((SetDstBlockSize >> 4) & 0xF); 150 public readonly SetDstBlockSizeDepth SetDstBlockSizeDepth => (SetDstBlockSizeDepth)((SetDstBlockSize >> 8) & 0xF); 151 public uint SetDstWidth; 152 public uint SetDstHeight; 153 public uint SetDstDepth; 154 public uint SetDstLayer; 155 public uint SetDstOriginBytesX; 156 public readonly int SetDstOriginBytesXV => (int)(SetDstOriginBytesX & 0xFFFFF); 157 public uint SetDstOriginSamplesY; 158 public readonly int SetDstOriginSamplesYV => (int)(SetDstOriginSamplesY & 0xFFFF); 159 public uint LaunchDma; 160 public readonly LaunchDmaDstMemoryLayout LaunchDmaDstMemoryLayout => (LaunchDmaDstMemoryLayout)(LaunchDma & 0x1); 161 public readonly LaunchDmaCompletionType LaunchDmaCompletionType => (LaunchDmaCompletionType)((LaunchDma >> 4) & 0x3); 162 public readonly LaunchDmaInterruptType LaunchDmaInterruptType => (LaunchDmaInterruptType)((LaunchDma >> 8) & 0x3); 163 public readonly LaunchDmaSemaphoreStructSize LaunchDmaSemaphoreStructSize => (LaunchDmaSemaphoreStructSize)((LaunchDma >> 12) & 0x1); 164 public readonly bool LaunchDmaReductionEnable => (LaunchDma & 0x2) != 0; 165 public readonly LaunchDmaReductionOp LaunchDmaReductionOp => (LaunchDmaReductionOp)((LaunchDma >> 13) & 0x7); 166 public readonly LaunchDmaReductionFormat LaunchDmaReductionFormat => (LaunchDmaReductionFormat)((LaunchDma >> 2) & 0x3); 167 public readonly bool LaunchDmaSysmembarDisable => (LaunchDma & 0x40) != 0; 168 public uint LoadInlineData; 169 public fixed uint Reserved1B8[9]; 170 public uint SetI2mSemaphoreA; 171 public readonly int SetI2mSemaphoreAOffsetUpper => (int)(SetI2mSemaphoreA & 0xFF); 172 public uint SetI2mSemaphoreB; 173 public uint SetI2mSemaphoreC; 174 public fixed uint Reserved1E8[2]; 175 public uint SetI2mSpareNoop00; 176 public uint SetI2mSpareNoop01; 177 public uint SetI2mSpareNoop02; 178 public uint SetI2mSpareNoop03; 179 public fixed uint Reserved200[3200]; 180 public Array256<uint> SetMmeShadowScratch; 181 #pragma warning restore CS0649 182 } 183 }