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>

Reply via email to