Module: Mesa Branch: main Commit: c916038b894b343cb9922d763ac12205e6ccc45c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c916038b894b343cb9922d763ac12205e6ccc45c
Author: Rohan Garg <rohan.g...@intel.com> Date: Wed Oct 19 17:43:02 2022 +0200 intel/genxml: Update COMPUTE_WALKER_BODY for xe2 Reworks: * Caio: Change patch to only add COMPUTE_WALKER_BODY and EXECUTE_INDIRECT_DISPATCH (that uses it). Signed-off-by: Rohan Garg <rohan.g...@intel.com> Reviewed-by: Caio Oliveira <caio.olive...@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26390> --- src/intel/genxml/gen20.xml | 86 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/src/intel/genxml/gen20.xml b/src/intel/genxml/gen20.xml index fabe18a710d..b5c44fb6ba9 100644 --- a/src/intel/genxml/gen20.xml +++ b/src/intel/genxml/gen20.xml @@ -61,6 +61,78 @@ <field name="BTD Mode" start="191" end="191" type="uint" /> <field name="Preferred SLM Allocation Size" start="224" end="227" type="PREF_SLM_ALLOCATION_SIZE" /> </struct> + <struct name="COMPUTE_WALKER_BODY" length="39"> + <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 Dispatch Parameter" start="50" end="61" type="uint" /> + <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="Compute Dispatch All walker Enable" start="96" end="96" type="uint"> + <value name="Disabled" value="0" /> + <value name="Enabled" value="1" /> + </field> + <field name="Dispatch Walk Order" start="101" end="102" type="uint"> + <value name="Linear Walk" value="0" /> + <value name="Y order walk" value="1" /> + <value name="Morton Walk" value="2" /> + </field> + <field name="Message SIMD" start="113" end="114" type="uint"> + <value name="SIMT16" value="1" /> + <value name="SIMT32" 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="SIMT16" value="1" /> + <value name="SIMT32" 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="Walker ID" start="544" end="547" type="uint" /> + <field name="Over dispatch TG count" start="552" end="567" type="uint" /> + <field name="Interface Descriptor" start="576" end="831" type="INTERFACE_DESCRIPTOR_DATA" /> + <field name="Post Sync" start="832" end="991" type="POSTSYNC_DATA" /> + <group count="8" start="992" size="32"> + <field name="Inline Data" start="0" end="31" type="uint" /> + </group> + </struct> <instruction name="COMPUTE_WALKER" bias="2" length="40"> <field name="DWord Length" start="0" end="7" type="uint" default="38" /> <field name="Predicate Enable" start="8" end="8" type="bool" /> @@ -131,4 +203,18 @@ <field name="Inline Data" start="0" end="31" type="uint" /> </group> </instruction> + <instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="45"> + <field name="DWord Length" start="0" end="7" type="uint" default="43" /> + <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="1439" type="COMPUTE_WALKER_BODY" /> + </instruction> </genxml>