intel/genxml: Fix SLICE_HASH_TABLE struct on XeHP.
authorFrancisco Jerez <currojerez@riseup.net>
Wed, 21 Jul 2021 21:30:28 +0000 (14:30 -0700)
committerFrancisco Jerez <currojerez@riseup.net>
Tue, 11 Jan 2022 02:27:41 +0000 (18:27 -0800)
It's now an array with 7 tables, each table is intended to specify the
pixel pipe hashing behavior for every possible slice count between 2
and 8, however that doesn't actually work, among other reasons due to
hardware bugs that will cause the GPU to erroneously access the table
at the wrong index in some cases, so in practice all 7 tables need to
be initialized to the same value.

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13569>

src/intel/genxml/gen125.xml

index 91dfc29..bc71668 100644 (file)
     <field name="Component Override W" start="15" end="15" type="bool"/>
   </struct>
 
-  <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"/>
+  <struct name="SLICE_HASH_TABLE" length="224">
+    <group count="7" start="0" size="1024">
+      <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>
     </group>
   </struct>