mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-26 01:38:20 +02:00
genxml/12.5: Add the EXECUTE_INDIRECT_DISPATCH instruction
Signed-off-by: Rohan Garg <rohan.garg@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26421>
This commit is contained in:
parent
4229757309
commit
7a9e82e82f
1 changed files with 124 additions and 48 deletions
|
|
@ -23,42 +23,6 @@
|
|||
<value name="SLM_ENCODES_192K" value="14" />
|
||||
<value name="SLM_ENCODES_256K" value="15" />
|
||||
</enum>
|
||||
<struct name="CPS_STATE" length="8">
|
||||
<field name="MinCPSizeX" start="0" end="10" type="s3.7" />
|
||||
<field name="Statistics Enable" start="11" end="11" type="bool" />
|
||||
<field name="Coarse Pixel Shading Mode" start="12" end="13" type="uint">
|
||||
<value name="CPS_MODE_NONE" value="0" />
|
||||
<value name="CPS_MODE_CONSTANT" value="1" />
|
||||
<value name="CPS_MODE_RADIAL" value="2" />
|
||||
</field>
|
||||
<field name="ScaleAxis" start="14" end="14" type="uint">
|
||||
<value name="X axis" value="0" />
|
||||
<value name="Y axis" value="1" />
|
||||
</field>
|
||||
<field name="MinCPSizeY" start="15" end="25" type="s3.7" />
|
||||
<field name="Combiner1 Opcode for CPsize" start="26" end="28" type="uint">
|
||||
<value name="PASSTHROUGH" value="0" />
|
||||
<value name="OVERRIDE" value="1" />
|
||||
<value name="HIGH_QUALITY" value="2" />
|
||||
<value name="LOW_QUALITY" value="3" />
|
||||
<value name="RELATIVE" value="4" />
|
||||
</field>
|
||||
<field name="Combiner0 Opcode for CPsize" start="29" end="31" type="uint">
|
||||
<value name="PASSTHROUGH" value="0" />
|
||||
<value name="OVERRIDE" value="1" />
|
||||
<value name="HIGH_QUALITY" value="2" />
|
||||
<value name="LOW_QUALITY" value="3" />
|
||||
<value name="RELATIVE" value="4" />
|
||||
</field>
|
||||
<field name="MaxCPSizeX" start="32" end="42" type="s3.7" />
|
||||
<field name="MaxCPSizeY" start="48" end="58" type="s3.7" />
|
||||
<field name="Y_Focal" start="64" end="79" type="int" />
|
||||
<field name="X_Focal" start="96" end="111" type="int" />
|
||||
<field name="My" start="128" end="159" type="uint" />
|
||||
<field name="Mx" start="160" end="191" type="uint" />
|
||||
<field name="Rmin" start="192" end="223" type="uint" />
|
||||
<field name="Aspect" start="224" end="255" type="uint" />
|
||||
</struct>
|
||||
<struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
|
||||
<field name="Kernel Start Pointer" start="6" end="31" type="offset" />
|
||||
<field name="Software Exception Enable" start="71" end="71" type="bool" />
|
||||
|
|
@ -119,6 +83,116 @@
|
|||
<field name="BTD Mode" start="191" end="191" type="uint" />
|
||||
<field name="Preferred SLM Allocation Size" start="192" end="195" type="uint" />
|
||||
</struct>
|
||||
<struct name="POSTSYNC_DATA" length="5">
|
||||
<field name="Operation" start="0" end="1" type="uint" default="0">
|
||||
<value name="No Write" value="0" />
|
||||
<value name="Write Immediate Data" value="1" />
|
||||
<value name="Write Timestamp" value="3" />
|
||||
</field>
|
||||
<field name="HDC Pipeline Flush" start="2" end="2" type="bool" />
|
||||
<field name="L3 flush" start="3" end="3" type="bool" />
|
||||
<field name="MOCS" start="4" end="10" type="uint" nonzero="true" />
|
||||
<field name="Destination Address" start="32" end="95" type="address" />
|
||||
<field name="Immediate Data" start="96" end="159" type="uint" />
|
||||
</struct>
|
||||
<struct name="COMPUTE_WALKER_BODY" length="38">
|
||||
<field name="Indirect Data Length" start="32" end="48" type="uint" />
|
||||
<field name="L3 prefetch disable" start="49" end="49" type="bool" />
|
||||
<field name="Partition Type" start="62" end="63" type="uint">
|
||||
<value name="PartitionX" value="1" />
|
||||
<value name="PartitionY" value="2" />
|
||||
<value name="PartitionZ" value="3" />
|
||||
</field>
|
||||
<field name="Indirect Data Start Address" start="70" end="95" type="offset" />
|
||||
<field name="Message SIMD" start="113" end="114" type="uint">
|
||||
<value name="SIMD8" value="0" />
|
||||
<value name="SIMD16" value="1" />
|
||||
<value name="SIMD32" value="2" />
|
||||
</field>
|
||||
<field name="Tile Layout" start="115" end="117" type="uint">
|
||||
<value name="Linear" value="0" />
|
||||
<value name="TileY 32bpe" value="1" />
|
||||
<value name="TileY 64bpe" value="2" />
|
||||
<value name="TileY 128bpe" value="3" />
|
||||
</field>
|
||||
<field name="Walk Order" start="118" end="120" type="uint">
|
||||
<value name="Walk 012" value="0" />
|
||||
<value name="Walk 021" value="1" />
|
||||
<value name="Walk 102" value="2" />
|
||||
<value name="Walk 120" value="3" />
|
||||
<value name="Walk 201" value="4" />
|
||||
<value name="Walk 210" value="5" />
|
||||
</field>
|
||||
<field name="Emit Inline Parameter" start="121" end="121" type="bool" />
|
||||
<field name="Emit Local" start="122" end="124" type="uint">
|
||||
<value name="Emit None" value="0" />
|
||||
<value name="Emit X" value="1" />
|
||||
<value name="Emit XY" value="3" />
|
||||
<value name="Emit XYZ" value="7" />
|
||||
</field>
|
||||
<field name="Generate Local ID" start="125" end="125" type="bool" />
|
||||
<field name="SIMD Size" start="126" end="127" type="uint">
|
||||
<value name="SIMD8" value="0" />
|
||||
<value name="SIMD16" value="1" />
|
||||
<value name="SIMD32" value="2" />
|
||||
</field>
|
||||
<field name="Execution Mask" start="128" end="159" type="uint" />
|
||||
<field name="Local X Maximum" start="160" end="169" type="uint" />
|
||||
<field name="Local Y Maximum" start="170" end="179" type="uint" />
|
||||
<field name="Local Z Maximum" start="180" end="189" type="uint" />
|
||||
<field name="Thread Group ID X Dimension" start="192" end="223" type="uint" />
|
||||
<field name="Thread Group ID Y Dimension" start="224" end="255" type="uint" />
|
||||
<field name="Thread Group ID Z Dimension" start="256" end="287" type="uint" />
|
||||
<field name="Thread Group ID Starting X" start="288" end="319" type="uint" />
|
||||
<field name="Thread Group ID Starting Y" start="320" end="351" type="uint" />
|
||||
<field name="Thread Group ID Starting Z" start="352" end="383" type="uint" />
|
||||
<field name="Partition ID" start="384" end="415" type="uint" />
|
||||
<field name="Partition Size" start="416" end="447" type="uint" />
|
||||
<field name="Preempt X" start="448" end="479" type="uint" />
|
||||
<field name="Preempt Y" start="480" end="511" type="uint" />
|
||||
<field name="Preempt Z" start="512" end="543" type="uint" />
|
||||
<field name="Interface Descriptor" start="544" end="799" type="INTERFACE_DESCRIPTOR_DATA" />
|
||||
<field name="Post Sync" start="800" end="959" type="POSTSYNC_DATA" />
|
||||
<group count="8" start="960" size="32">
|
||||
<field name="Inline Data" start="0" end="31" type="uint" />
|
||||
</group>
|
||||
</struct>
|
||||
<struct name="CPS_STATE" length="8">
|
||||
<field name="MinCPSizeX" start="0" end="10" type="s3.7" />
|
||||
<field name="Statistics Enable" start="11" end="11" type="bool" />
|
||||
<field name="Coarse Pixel Shading Mode" start="12" end="13" type="uint">
|
||||
<value name="CPS_MODE_NONE" value="0" />
|
||||
<value name="CPS_MODE_CONSTANT" value="1" />
|
||||
<value name="CPS_MODE_RADIAL" value="2" />
|
||||
</field>
|
||||
<field name="ScaleAxis" start="14" end="14" type="uint">
|
||||
<value name="X axis" value="0" />
|
||||
<value name="Y axis" value="1" />
|
||||
</field>
|
||||
<field name="MinCPSizeY" start="15" end="25" type="s3.7" />
|
||||
<field name="Combiner1 Opcode for CPsize" start="26" end="28" type="uint">
|
||||
<value name="PASSTHROUGH" value="0" />
|
||||
<value name="OVERRIDE" value="1" />
|
||||
<value name="HIGH_QUALITY" value="2" />
|
||||
<value name="LOW_QUALITY" value="3" />
|
||||
<value name="RELATIVE" value="4" />
|
||||
</field>
|
||||
<field name="Combiner0 Opcode for CPsize" start="29" end="31" type="uint">
|
||||
<value name="PASSTHROUGH" value="0" />
|
||||
<value name="OVERRIDE" value="1" />
|
||||
<value name="HIGH_QUALITY" value="2" />
|
||||
<value name="LOW_QUALITY" value="3" />
|
||||
<value name="RELATIVE" value="4" />
|
||||
</field>
|
||||
<field name="MaxCPSizeX" start="32" end="42" type="s3.7" />
|
||||
<field name="MaxCPSizeY" start="48" end="58" type="s3.7" />
|
||||
<field name="Y_Focal" start="64" end="79" type="int" />
|
||||
<field name="X_Focal" start="96" end="111" type="int" />
|
||||
<field name="My" start="128" end="159" type="uint" />
|
||||
<field name="Mx" start="160" end="191" type="uint" />
|
||||
<field name="Rmin" start="192" end="223" type="uint" />
|
||||
<field name="Aspect" start="224" end="255" type="uint" />
|
||||
</struct>
|
||||
<struct name="MI_MATH_ALU_INSTRUCTION" length="1">
|
||||
<field name="Operand 2" start="0" end="9" type="uint" prefix="MI_ALU">
|
||||
<value name="REG0" value="0x00" />
|
||||
|
|
@ -188,18 +262,6 @@
|
|||
<value name="STOREIND" value="0x181" />
|
||||
</field>
|
||||
</struct>
|
||||
<struct name="POSTSYNC_DATA" length="5">
|
||||
<field name="Operation" start="0" end="1" type="uint" default="0">
|
||||
<value name="No Write" value="0" />
|
||||
<value name="Write Immediate Data" value="1" />
|
||||
<value name="Write Timestamp" value="3" />
|
||||
</field>
|
||||
<field name="HDC Pipeline Flush" start="2" end="2" type="bool" />
|
||||
<field name="L3 flush" start="3" end="3" type="bool" />
|
||||
<field name="MOCS" start="4" end="10" type="uint" nonzero="true" />
|
||||
<field name="Destination Address" start="32" end="95" type="address" />
|
||||
<field name="Immediate Data" start="96" end="159" type="uint" />
|
||||
</struct>
|
||||
<struct name="RENDER_SURFACE_STATE" length="16">
|
||||
<field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool" />
|
||||
<field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool" />
|
||||
|
|
@ -1583,6 +1645,20 @@
|
|||
<field name="Inline Data" start="0" end="31" type="uint" />
|
||||
</group>
|
||||
</instruction>
|
||||
<instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="44">
|
||||
<field name="DWord Length" start="0" end="7" type="uint" default="42" />
|
||||
<field name="Predicate Enable" start="8" end="8" type="bool" />
|
||||
<field name="MOCS" start="12" end="15" type="uint" nonzero="true" />
|
||||
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
|
||||
<field name="3D Command Opcode" start="24" end="26" type="uint" default="4" />
|
||||
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
|
||||
<field name="Command Type" start="29" end="31" type="uint" default="3" />
|
||||
<field name="Max Count" start="32" end="63" type="uint" />
|
||||
<field name="Count Buffer Indirect Enable" start="64" end="64" type="bool" />
|
||||
<field name="Count Buffer Address" start="66" end="127" type="address" />
|
||||
<field name="Argument Buffer Start Address" start="130" end="191" type="address" />
|
||||
<field name="COMPUTE_WALKER_BODY" start="192" end="1407" type="COMPUTE_WALKER_BODY" />
|
||||
</instruction>
|
||||
<instruction name="EXECUTE_INDIRECT_DRAW" bias="2" length="6" engine="render">
|
||||
<field name="DWord Length" start="0" end="7" type="uint" default="4" />
|
||||
<field name="Predicate Enable" start="8" end="8" type="bool" />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue