summaryrefslogtreecommitdiffstats
path: root/src/intel/genxml
diff options
context:
space:
mode:
authorRafael Antognolli <[email protected]>2019-07-19 13:37:25 -0700
committerRafael Antognolli <[email protected]>2019-08-12 16:19:08 -0700
commite1cb71c18213bbe50983b6edeac061df89bef718 (patch)
tree5f99b181445233145b663fdb0201a20e13617d6d /src/intel/genxml
parentd787a2d05e20642a7ec52ce80a830c7795a6bdc0 (diff)
intel/genxml: Update 3D_MODE and add SLICE_HASH_TABLE.
Add these fields and the 3DSTATE_SLICE_TABLE_STATE_POINTERS instruction so we can properly configure the slice and subslice hashing on ICL+ v2: Make 'Mask' field a mbo (Ken).
Diffstat (limited to 'src/intel/genxml')
-rw-r--r--src/intel/genxml/gen11.xml34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml
index c1774501f4c..e30143366f1 100644
--- a/src/intel/genxml/gen11.xml
+++ b/src/intel/genxml/gen11.xml
@@ -1249,7 +1249,21 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
<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="Mask Bits" start="48" end="63" type="uint"/>
+ <!-- "On 3DSTATE_3D_MODE, driver must always program bits 31:16 of DW1
+ a value of 0xFFFF" -->
+ <field name="Mask" start="48" end="63" type="mbo"/>
+ <field name="Slice Hashing Table Enable" start="38" end="38" type="bool"/>
+ <field name="Subslice Hashing Mode" start="34" end="35" type="uint">
+ <value name="hashing 8x8" value="0"/>
+ <value name="hashing 16x4" value="1"/>
+ <value name="hashing 8x4" value="2"/>
+ <value name="hashing 16x16" value="3"/>
+ </field>
+ <field name="Cross Slice Hashing Mode" start="32" end="33" type="uint">
+ <value name="Normal Mode" value="0"/>
+ <value name="Disable" value="1"/>
+ <value name="hashing 32x32" value="3"/>
+ </field>
</instruction>
<instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
@@ -2474,6 +2488,24 @@
<field name="Last Pixel Enable" start="127" end="127" type="bool"/>
</instruction>
+ <instruction name="3DSTATE_SLICE_TABLE_STATE_POINTERS" bias="2" length="2">
+ <field name="DWord Length" start="0" end="7" type="uint" default="0"/>
+ <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="32"/>
+ <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
+ <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="Slice Hash State Pointer Valid" start="32" end="32" type="bool"/>
+ <field name="Slice Hash Table State Pointer" start="38" end="63" type="offset"/>
+ </instruction>
+
+ <struct name="SLICE_HASH_TABLE" length="32">
+ <group count="16" start="0" size="64">
+ <group count="16" start="0" size="4">
+ <field name="Entry" start="0" end="3" type="uint"/>
+ </group>
+ </group>
+ </struct>
+
<instruction name="3DSTATE_SO_BUFFER" 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="24"/>