Mesa (master): genxml: Add 3DSTATE_SO_BUFFER_INDEX_* instructions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Oct 29 19:23:29 UTC 2019


Module: Mesa
Branch: master
Commit: 665b81e29a2655b1c317ddb441635cf23ae04862
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=665b81e29a2655b1c317ddb441635cf23ae04862

Author: Plamena Manolova <plamena.manolova at intel.com>
Date:   Thu Oct 17 21:05:55 2019 +0100

genxml: Add 3DSTATE_SO_BUFFER_INDEX_* instructions

For gen12 we set the streamout buffers using 4 separate
commands instead of 3DSTATE_SO_BUFFER.

Signed-off-by: Plamena Manolova <plamena.manolova at intel.com>
Acked-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/genxml/gen12.xml | 47 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/src/intel/genxml/gen12.xml b/src/intel/genxml/gen12.xml
index ff98525f093..36fa091c229 100644
--- a/src/intel/genxml/gen12.xml
+++ b/src/intel/genxml/gen12.xml
@@ -1225,6 +1225,17 @@
     <field name="Component 0 Control" start="60" end="62" type="3D_Vertex_Component_Control"/>
   </struct>
 
+  <struct name="3DSTATE_SO_BUFFER_INDEX_BODY" length="7">
+    <field name="Stream Output Buffer Offset Address Enable" start="20" end="20" type="bool"/>
+    <field name="Stream Offset Write Enable" start="21" end="21" type="bool"/>
+    <field name="MOCS" start="22" end="28" type="uint"/>
+    <field name="SO Buffer Enable" start="31" end="31" type="bool"/>
+    <field name="Surface Base Address" start="34" end="79" type="address"/>
+    <field name="Surface Size" start="96" end="125" type="uint"/>
+    <field name="Stream Output Buffer Offset Address" start="130" end="175" type="address"/>
+    <field name="Stream Offset" start="192" end="223" type="uint"/>
+  </struct>
+
   <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="DWord Length" start="0" end="7" type="uint" default="5"/>
     <field name="Predicate Enable" start="8" end="8" type="bool"/>
@@ -2539,6 +2550,42 @@
     <field name="Stream Offset" start="224" end="255" type="uint"/>
   </instruction>
 
+  <instruction name="3DSTATE_SO_BUFFER_INDEX_0" bias="2" length="8" engine="render">
+    <field name="DWord Length" start="0" end="7" type="uint" default="6"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="96"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <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="SO Buffer Index State Body" start="32" end="255" type="3DSTATE_SO_BUFFER_INDEX_BODY"/>
+  </instruction>
+
+  <instruction name="3DSTATE_SO_BUFFER_INDEX_1" bias="2" length="8" engine="render">
+    <field name="DWord Length" start="0" end="7" type="uint" default="6"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="97"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <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="SO Buffer Index State Body" start="32" end="255" type="3DSTATE_SO_BUFFER_INDEX_BODY"/>
+  </instruction>
+
+  <instruction name="3DSTATE_SO_BUFFER_INDEX_2" bias="2" length="8" engine="render">
+    <field name="DWord Length" start="0" end="7" type="uint" default="6"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="98"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <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="SO Buffer Index State Body" start="32" end="255" type="3DSTATE_SO_BUFFER_INDEX_BODY"/>
+  </instruction>
+
+  <instruction name="3DSTATE_SO_BUFFER_INDEX_3" bias="2" length="8" engine="render">
+    <field name="DWord Length" start="0" end="7" type="uint" default="6"/>
+    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="99"/>
+    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
+    <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="SO Buffer Index State Body" start="32" end="255" type="3DSTATE_SO_BUFFER_INDEX_BODY"/>
+  </instruction>
+
   <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="DWord Length" start="0" end="8" type="uint"/>
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23"/>




More information about the mesa-commit mailing list