summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPlamena Manolova <[email protected]>2019-10-17 21:05:55 +0100
committerPlamena Manolova <[email protected]>2019-10-29 19:19:58 +0000
commit665b81e29a2655b1c317ddb441635cf23ae04862 (patch)
tree327d1003df4eae32f69dd8ed5f4e582e5aedd2ef
parentff6e148a3d60e6e7f3b33f134228b1ed4216903e (diff)
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 <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/intel/genxml/gen12.xml47
1 files changed, 47 insertions, 0 deletions
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"/>