summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorSergii Romantsov <[email protected]>2018-07-12 15:47:48 +0300
committerKenneth Graunke <[email protected]>2018-07-16 12:18:36 -0700
commitcec540fbc6f00049b8393b70219b6fe0b303b7b0 (patch)
treed89fd1bd8941d26e05f519f9a9d4f5701abe9b2a /src/intel
parent4054133dccef1fdf125faae13c75e8f8a19d858f (diff)
intel/batch_decoder: decoding of 3DSTATE_CONSTANT_BODY.
SNB doesn't have a definition of 3DSTATE_CONSTANT_BODY, thats why we got segmentation fault when used INTEL_DEBUG=bat. Fixed by adding of 3DSTATE_CONSTANT_BODY into 3DSTATE_CONSTANT of VS, GS and PS structures. v2: added definition of 3DSTATE_CONSTANT_BODY to the gen6.xml Fixes: 169d8e011ae (intel: Fix 3DSTATE_CONSTANT buffer decoding.) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107190 Signed-off-by: Sergii Romantsov <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/genxml/gen6.xml38
1 files changed, 14 insertions, 24 deletions
diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml
index c2967cd423d..62d2574d480 100644
--- a/src/intel/genxml/gen6.xml
+++ b/src/intel/genxml/gen6.xml
@@ -622,6 +622,17 @@
<field name="Maximum VP Index" start="96" end="99" type="uint"/>
</instruction>
+ <struct name="3DSTATE_CONSTANT_BODY" length="4">
+ <field name="Pointer to Constant Buffer 0" start="5" end="31" type="offset"/>
+ <field name="Constant Buffer 0 Read Length" start="0" end="4" type="uint"/>
+ <field name="Pointer to Constant Buffer 1" start="37" end="63" type="address"/>
+ <field name="Constant Buffer 1 Read Length" start="32" end="36" type="uint"/>
+ <field name="Pointer to Constant Buffer 2" start="69" end="95" type="address"/>
+ <field name="Constant Buffer 2 Read Length" start="64" end="68" type="uint"/>
+ <field name="Pointer to Constant Buffer 3" start="101" end="127" type="address"/>
+ <field name="Constant Buffer 3 Read Length" start="96" end="100" type="uint"/>
+ </struct>
+
<instruction name="3DSTATE_CONSTANT_GS" bias="2" length="5">
<field name="Command Type" start="29" end="31" type="uint" default="3"/>
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
@@ -633,14 +644,7 @@
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
<field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Pointer to GS Constant Buffer 0" start="37" end="63" type="offset"/>
- <field name="GS Constant Buffer 0 Read Length" start="32" end="36" type="uint"/>
- <field name="Pointer to GS Constant Buffer 1" start="69" end="95" type="address"/>
- <field name="GS Constant Buffer 1 Read Length" start="64" end="68" type="uint"/>
- <field name="Pointer to GS Constant Buffer 2" start="101" end="127" type="address"/>
- <field name="GS Constant Buffer 2 Read Length" start="96" end="100" type="uint"/>
- <field name="Pointer to GS Constant Buffer 3" start="133" end="159" type="address"/>
- <field name="GS Constant Buffer 3 Read Length" start="128" end="132" type="uint"/>
+ <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
<instruction name="3DSTATE_CONSTANT_PS" bias="2" length="5">
@@ -654,14 +658,7 @@
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
<field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Pointer to PS Constant Buffer 0" start="37" end="63" type="offset"/>
- <field name="PS Constant Buffer 0 Read Length" start="32" end="36" type="uint"/>
- <field name="Pointer to PS Constant Buffer 1" start="69" end="95" type="address"/>
- <field name="PS Constant Buffer 1 Read Length" start="64" end="68" type="uint"/>
- <field name="Pointer to PS Constant Buffer 2" start="101" end="127" type="address"/>
- <field name="PS Constant Buffer 2 Read Length" start="96" end="100" type="uint"/>
- <field name="Pointer to PS Constant Buffer 3" start="133" end="159" type="address"/>
- <field name="PS Constant Buffer 3 Read Length" start="128" end="132" type="uint"/>
+ <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
<instruction name="3DSTATE_CONSTANT_VS" bias="2" length="5">
@@ -675,14 +672,7 @@
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
<field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Pointer to VS Constant Buffer 0" start="37" end="63" type="offset"/>
- <field name="VS Constant Buffer 0 Read Length" start="32" end="36" type="uint"/>
- <field name="Pointer to VS Constant Buffer 1" start="69" end="95" type="address"/>
- <field name="VS Constant Buffer 1 Read Length" start="64" end="68" type="uint"/>
- <field name="Pointer to VS Constant Buffer 2" start="101" end="127" type="address"/>
- <field name="VS Constant Buffer 2 Read Length" start="96" end="100" type="uint"/>
- <field name="Pointer to VS Constant Buffer 3" start="133" end="159" type="address"/>
- <field name="VS Constant Buffer 3 Read Length" start="128" end="132" type="uint"/>
+ <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
<instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7">