Line 40:
Line 40:
|-
|-
| 0x49 || SetMmeShadowRamControl || 1 || uint || 0=MethodTrack, 1=MethodTrackWithFilter, 2=MethodPassthrough, 3=MethodReplay. Used during ClearColor.
| 0x49 || SetMmeShadowRamControl || 1 || uint || 0=MethodTrack, 1=MethodTrackWithFilter, 2=MethodPassthrough, 3=MethodReplay. Used during ClearColor.
+
|-
+
| 0x4A || PeerSemaphoreReleaseOffsetUpper || 1 || ||
+
|-
+
| 0x4B || PeerSemaphoreReleaseOffset || 1 || ||
+
|-
+
| 0x4C || SetGlobalRenderEnableA || 1 || ||
+
|-
+
| 0x4D || SetGlobalRenderEnableB || 1 || ||
+
|-
+
| 0x4E || SetGlobalRenderEnableC || 1 || ||
+
|-
+
| 0x4F || SendGoIdle || 1 || ||
+
|-
+
| 0x50 || PmTrigger || 1 || ||
+
|-
+
| 0x51 || PmTriggerWfi || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x83 || LineWidthSeparate || 1 || bool ||
+
| 0x54 || SetInstrumentationMethodHeader || 1 || ||
|-
|-
−
| 0x84 || ForceEarlyFragmentTests || 1 || bool ||
+
| 0x55 || SetInstrumentationMethodData || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x87 || Barrier || 1 || bitfield ||
+
| 0x60 || LineLengthIn || 1 || ||
+
|-
+
| 0x61 || LineCount || 1 || ||
+
|-
+
| 0x62 || OffsetOutUpper || 1 || ||
+
|-
+
| 0x63 || OffsetOut || 1 || ||
+
|-
+
| 0x64 || PitchOut || 1 || ||
+
|-
+
| 0x65 || SetDstBlockSize || 1 || ||
+
|-
+
| 0x66 || SetDstWidth || 1 || ||
+
|-
+
| 0x67 || SetDstHeight || 1 || ||
+
|-
+
| 0x68 || SetDstDepth || 1 || ||
+
|-
+
| 0x69 || SetDstLayer || 1 || ||
+
|-
+
| 0x6A || SetDstOriginBytesX || 1 || ||
+
|-
+
| 0x6B || SetDstOriginSamplesY || 1 || ||
+
|-
+
| 0x6C || LaunchDma || 1 || ||
+
|-
+
| 0x6D || LoadInlineData || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xBA || || 1 || || SetRenderTargets writes 1/0 here an optional buffer != NULL, and depending on type.
+
| 0x77 || SetI2mSemaphoreA || 1 || ||
+
|-
+
| 0x78 || SetI2mSemaphoreB || 1 || ||
+
|-
+
| 0x79 || SetI2mSemaphoreC || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xBE || || 1 || pipe || SetRenderTargets writes here repeatedly 16 times, if an optional buffer != NULL and is a given type.
+
| 0x7C || SetI2mSpareNoop00 || 1 || ||
+
|-
+
| 0x7D || SetI2mSpareNoop01 || 1 || ||
+
|-
+
| 0x7E || SetI2mSpareNoop02 || 1 || ||
+
|-
+
| 0x7F || SetI2mSpareNoop03 || 1 || ||
+
|-
+
| 0x80 || RunDsNow || 1 || ||
|-
|-
−
| 0xBF || || 1 || bool || SetRenderTargets writes 1 here after 0xBE has been written 16 times, and 0xDC been written.
+
| 0x81 || SetOpportunisticEarlyZHysteresis || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xC2 || CacheSplit || 1 || enum ||
+
| 0x83 || SetAliasedLineWidthEnable || 1 || bool ||
−
|- style="border-top: double"
+
|-
−
| 0xC8 || TesselationMode || 1 || bitfield || Bit0-1: PrimitiveType (0=Isolines, 1=Triangles, 2=Quads), bit4-5: Spacing (0=Equal, 1=FractionalOdd, 2=FractionalEven), bit8-9: WindingAndConnectednessFlags (0=CcwAndNotConnected, 1=IsolineConnected, 1=TriangleCw, 2=TriangleConnected, 3=TriangleConnectedCw)
+
| 0x84 || SetApiMandatedEarlyZ || 1 || bool ||
+
|-
+
| 0x85 || SetGsDmFifo || 1 || ||
+
|-
+
| 0x86 || SetL2CacheControlForRopPrefetchReadRequests || 1 || ||
|-
|-
−
| 0xC9 || TesselationOuterLevels || 4 || float[4] ||
+
| 0x87 || InvalidateShaderCaches || 1 || bitfield ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xCD || TesselationInnerLevels || 2 || float[2] ||
+
| 0xB2 || IncrementSyncPoint || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xDC || || 1 || bool || SetRenderTargets writes 1 here, if an optional buffer != NULL and is a given type.
+
| 0xB4 || SetPrimCircularBufferThrottle || 1 || ||
+
|-
+
| 0xB5 || FlushAndInvalidateRopMiniCache || 1 || ||
+
|-
+
| 0xB6 || SetSurfaceClipIdBlockSize || 1 || ||
+
|-
+
| 0xB7 || SetAlphaCircularBufferSize || 1 || ||
+
|-
+
| 0xB8 || DecompressSurface || 1 || ||
+
|-
+
| 0xB9 || SetZcullRopBypass || 1 || ||
+
|-
+
| 0xBA || SetZcullSubregion || 1 || || SetRenderTargets writes 1/0 here an optional buffer != NULL, and depending on type.
+
|-
+
| 0xBB || SetRasterBoundingBox || 1 || ||
+
|-
+
| 0xBC || PeerSemaphoreRelease || 1 || ||
+
|-
+
| 0xBD || SetIteratedBlendOptimization || 1 || ||
+
|-
+
| 0xBE || SetZcullSubregionAllocation || 1 || pipe || SetRenderTargets writes here repeatedly 16 times, if an optional buffer != NULL and is a given type.
+
|-
+
| 0xBF || AssignZcullSubregions || 1 || bool || SetRenderTargets writes 1 here after 0xBE has been written 16 times, and 0xDC been written.
+
|-
+
| 0xC0 || SetPsOutputSampleMaskUsage || 1 || ||
+
|-
+
| 0xC1 || DrawZeroIndex || 1 || ||
+
|-
+
| 0xC2 || SetL1Configuration || 1 || enum ||
+
|-
+
| 0xC3 || SetRenderEnableControl || 1 || ||
+
|-
+
| 0xC4 || SetSpaVersion || 1 || ||
+
|-
+
| 0xC5 || SetIeeeCleanUpdate || 1 || ||
+
|-
+
| 0xC6 || SetSnapGridLine || 1 || ||
+
|-
+
| 0xC7 || SetSnapGridNonLine || 1 || ||
+
|-
+
| 0xC8 || SetTessellationParameters || 1 || bitfield || Bit0-1: DomainType (0=Isoline, 1=Triangle, 2=Quad), bit4-5: Spacing (0=Integer, 1=FractionalOdd, 2=FractionalEven), bit8-9: OutputPrimitives (0=Points, 1=Lines, 2=TrianglesCw, 3=TrianglesCcw)
+
|-
+
| 0xC9 || SetTessellationLodU0OrDensity || 1 || float ||
+
|-
+
| 0xCA || SetTessellationLodV0OrDetail || 1 || float ||
+
|-
+
| 0xCB || SetTessellationLodU1OrW0 || 1 || float ||
+
|-
+
| 0xCC || SetTessellationLodV1 || 1 || float ||
+
|-
+
| 0xCD || SetTgLodInteriorU || 1 || float ||
+
|-
+
| 0xCE || SetTgLodInteriorV || 1 || float ||
+
|-
+
| 0xCF || ReservedTg07 || 1 || ||
+
|-
+
| 0xD0 || ReservedTg08 || 1 || ||
+
|-
+
| 0xD1 || ReservedTg09 || 1 || ||
+
|-
+
| 0xD2 || ReservedTg10 || 1 || ||
+
|-
+
| 0xD3 || ReservedTg11 || 1 || ||
+
|-
+
| 0xD4 || ReservedTg12 || 1 || ||
+
|-
+
| 0xD5 || ReservedTg13 || 1 || ||
+
|-
+
| 0xD6 || ReservedTg14 || 1 || ||
+
|-
+
| 0xD7 || ReservedTg15 || 1 || ||
+
|-
+
| 0xD8 || SetSubtilingPerfKnobA || 1 || ||
+
|-
+
| 0xD9 || SetSubtilingPerfKnobB || 1 || ||
+
|-
+
| 0xDA || SetSubtilingPerfKnobC || 1 || ||
+
|-
+
| 0xDB || SetZcullSubregionToReport || 1 || ||
+
|-
+
| 0xDC || SetZcullSubregionReportType || 1 || bool || SetRenderTargets writes 1 here, if an optional buffer != NULL and is a given type.
+
|-
+
| 0xDD || SetBalancedPrimitiveWorkload || 1 || ||
+
|-
+
| 0xDE || SetMaxPatchesPerBatch || 1 || ||
+
|-
+
| 0xDF || SetRasterEnable || 1 || bool ||
+
|-
+
| 0xE0+8*N || SetStreamOutBufferEnable || 1 || bool || n=0..3
+
|-
+
| 0xE1+8*N || SetStreamOutBufferAddressA || 1 || ||
+
|-
+
| 0xE2+8*N || SetStreamOutBufferAddressB || 1 || ||
+
|-
+
| 0xE3+8*N || SetStreamOutBufferSize || 1 || ||
+
|-
+
| 0xE4+8*N || SetStreamOutBufferLoadWritePointer || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0xDF || RasterizerEnable || 1 || bool ||
+
| 0x1C0+4*N || SetStreamOutControlStream || 1 || bitfield ||
−
|- style="border-top: double"
−
| 0xE0+8*N || TransformFeedbackBufferEnable || 1 || bool || n=0..3
|-
|-
−
| 0xE1+8*N || TransformFeedbackBufferAddr || 2 || gpuva ||
+
| 0x1C1+4*N || SetStreamOutControlComponentCount || 1 || uint ||
|-
|-
−
| 0xE3+8*N || TransformFeedbackBufferFlags || 1 || ||
+
| 0x1C2+4*N || SetStreamOutControlStride || 1 || uint ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1C0+4*N || TransformFeedbackBufferStream || 1 || bitfield ||
+
| 0x1D0 || SetRasterInput || 1 || ||
+
|-
+
| 0x1D1 || SetStreamOutput || 1 || bool ||
|-
|-
−
| 0x1C1+4*N || TransformFeedbackVaryingCount || 1 || uint ||
+
| 0x1D2 || SetDaPrimitiveRestartTopologyChange || 1 || ||
|-
|-
−
| 0x1C2+4*N || TransformFeedbackStride || 1 || uint ||
+
| 0x1D3 || SetAlphaFraction || 1 || || GpuInit writes 0x3f here.
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1D1 || TransformFeedbackEnable || 1 || bool ||
+
| 0x1D5 || SetHybridAntiAliasControl || 1 || bitfield || Bit0-3: ?, bit4: Enable
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1D3 || || 1 || || GpuInit writes 0x3f here.
+
| 0x1DF || SetShaderLocalMemoryWindow || 1 || uint ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1D5 || SampleShading || 1 || bitfield || Bit0-3: ?, bit4: Enable
+
| 0x1E4 || SetShaderLocalMemoryA || 1 || ||
+
|-
+
| 0x1E5 || SetShaderLocalMemoryB || 1 || ||
+
|-
+
| 0x1E6 || SetShaderLocalMemoryC || 1 || ||
+
|-
+
| 0x1E7 || SetShaderLocalMemoryD || 1 || ||
+
|-
+
| 0x1E8 || SetShaderLocalMemoryE || 1 || ||
+
|-
+
| 0x1E9 || SetColorZeroBandwidthClear || 1 || ||
+
|-
+
| 0x1EA || SetZZeroBandwidthClear || 1 || ||
+
|-
+
| 0x1EB || SetIsbeSaveRestoreProgram || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1DF || LocalBase || 1 || uint || TODO
+
| 0x1F0 || SetZcullRegionSizeA || 1 || || SetRenderTargets optionally uses this.
+
|-
+
| 0x1F1 || SetZcullRegionSizeB || 1 || || SetRenderTargets optionally uses this.
+
|-
+
| 0x1F2 || SetZcullRegionSizeC || 1 || || SetRenderTargets optionally uses this.
+
|-
+
| 0x1F3 || SetZcullRegionPixelOffsetC || 1 || || SetRenderTargets optionally writes 0 here.
|- style="border-top: double"
|- style="border-top: double"
−
| 0x1F0 || ZCullWidth || 1 || || SetRenderTargets optionally uses this.
+
| 0x1F7 || SetCullBeforeFetch || 1 || ||
|-
|-
−
| 0x1F1 || ZCullHeight || 1 || || SetRenderTargets optionally uses this.
+
| 0x1F8 || SetZcullRegionLocation || 1 || || SetRenderTargets optionally uses this.
|-
|-
−
| 0x1F2 || || 1 || || SetRenderTargets optionally uses this.
+
| 0x1F9 || SetZcullRegionAliquots || 1 || || SetRenderTargets optionally uses this.
|-
|-
−
| 0x1F3 || || 1 || || SetRenderTargets optionally writes 0 here.
+
| 0x1FA || SetZcullStorageA || 1 || gpuva ||
−
|- style="border-top: double"
+
|-
−
| 0x1F8 || || 1 || || SetRenderTargets optionally uses this.
+
| 0x1FB || SetZcullStorageB || 1 || gpuva ||
|-
|-
−
| 0x1F9 || || 1 || || SetRenderTargets optionally uses this.
+
| 0x1FC || SetZcullStorageC || 1 || gpuva ||
|-
|-
−
| 0x1FA || ZCullContextStartAddr || 2 || gpuva ||
+
| 0x1FD || SetZcullStorageD || 1 || gpuva ||
|-
|-
−
| 0x1FC || ZCullContextEndAddr || 2 || gpuva ||
+
| 0x1FE || SetZtReadOnly || 1 || ||
|- style="border-top: double"
|- style="border-top: double"
−
| 0x200+16*N || RenderTargetNAddr || 2 || gpuva ||
+
| 0x200+16*N || SetColorTargetA || 1 || gpuva ||
|-
|-
−
| 0x202+16*N || RenderTargetNHorizontal || 1 || ||
+
| 0x201+16*N || SetColorTargetB || 1 || gpuva ||
|-
|-
−
| 0x203+16*N || RenderTargetNVertical || 1 || ||
+
| 0x202+16*N || SetColorTargetWidth || 1 || ||
|-
|-
−
| 0x204+16*N || RenderTargetNFormat || 1 || ||
+
| 0x203+16*N || SetColorTargetHeight || 1 || ||
|-
|-
−
| 0x205+16*N || RenderTargetNTileMode || 1 || bitfield || Bit0-3: Width, bit4-7: Height, bit8-10: Depth, bit12: Layout, bit16: ?
+
| 0x204+16*N || SetColorTargetFormat || 1 || ||
|-
|-
−
| 0x206+16*N || RenderTargetNArrayMode || 1 || bitfield || Bit0-15: Layers, bit16: Volume
+
| 0x205+16*N || SetColorTargetMemory || 1 || bitfield || Bit0-3: Width, bit4-7: Height, bit8-10: Depth, bit12: Layout, bit16: ?
|-
|-
−
| 0x207+16*N || RenderTargetNLayerStride || 1 || uint || In units of 4 bytes.
+
| 0x206+16*N || SetColorTargetThirdDimension || 1 || bitfield || Bit0-15: Layers, bit16: Volume
|-
|-
−
| 0x208+16*N || RenderTargetNBaseLayer || 1 || ||
+
| 0x207+16*N || SetColorTargetArrayPitch || 1 || uint || In units of 4 bytes.
|-
|-
−
| 0x280+8*N || ViewportNScaleX || 1 || float || n=0..15
+
| 0x208+16*N || SetColorTargetLayer || 1 || ||
|-
|-
−
| 0x281+8*N || ViewportNScaleY || 1 || float ||
+
| 0x209+16*N || SetColorTargetMark || 1 || ||
+
|- style="border-top: double"
+
| 0x280+8*N || SetViewportScaleX || 1 || float || n=0..15
|-
|-
−
| 0x282+8*N || ViewportNScaleZ || 1 || float ||
+
| 0x281+8*N || SetViewportScaleY || 1 || float ||
|-
|-
−
| 0x283+8*N || ViewportNTranslateX || 1 || float ||
+
| 0x282+8*N || SetViewportScaleZ || 1 || float ||
|-
|-
−
| 0x284+8*N || ViewportNTranslateY || 1 || float ||
+
| 0x283+8*N || SetViewportOffsetX || 1 || float ||
|-
|-
−
| 0x285+8*N || ViewportNTranslateZ || 1 || float ||
+
| 0x284+8*N || SetViewportOffsetY || 1 || float ||
|-
|-
−
| 0x286+8*N || ViewportNSwizzles || 1 || bitfield ||
+
| 0x285+8*N || SetViewportOffsetZ || 1 || float ||
|-
|-
−
| 0x287+8*N || ViewportNSubpixelPrecisionBias || 1 || bitfield || Bit0-4: BiasX, bit8-bit11: BiasY
+
| 0x286+8*N || SetViewportCoordinateSwizzle || 1 || bitfield ||
|-
|-
+
| 0x287+8*N || SetViewportIncreaseSnapGridPrecision || 1 || bitfield || Bit0-4: BiasX, bit8-bit11: BiasY
+
|- style="border-top: double"
| 0x300+4*N || ViewportNHorizontal || 1 || bitfield || Bit0-15: X, bit16-31: Width
| 0x300+4*N || ViewportNHorizontal || 1 || bitfield || Bit0-15: X, bit16-31: Width
|-
|-
Line 455:
Line 633:
| 0xE01+N*2 || CallMmeDataN || 1 || pipe || Used to send variable number of arguments to macro via the "parm" instruction.
| 0xE01+N*2 || CallMmeDataN || 1 || pipe || Used to send variable number of arguments to macro via the "parm" instruction.
|}
|}
−
−
TODO: (Tiled)Downsample, Copy*, Dispatch*, DrawTexture/DrawTransformFeedback, BindImages, BindProgram, BindSeprarateSamplers, BindSeprarateTextures, BindTextures.
= MAXWELL_COMPUTE_B =
= MAXWELL_COMPUTE_B =