summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/intel/genxml/gen11.xml5
-rw-r--r--src/intel/vulkan/genX_state.c12
2 files changed, 17 insertions, 0 deletions
diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml
index a7c06c5ab60..6f3aba46561 100644
--- a/src/intel/genxml/gen11.xml
+++ b/src/intel/genxml/gen11.xml
@@ -3681,4 +3681,9 @@
<field name="Enabled Texel Offset Precision Fix Mask" start="17" end="17" type="bool"/>
</register>
+ <register name="COMMON_SLICE_CHICKEN3" length="1" num="0x7304">
+ <field name="PS Thread Panic Dispatch" start="6" end="7" type="uint"/>
+ <field name="PS Thread Panic Dispatch Mask" start="22" end="23" type="uint"/>
+ </register>
+
</genxml>
diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c
index cffd1e47247..6d55e5dc5c6 100644
--- a/src/intel/vulkan/genX_state.c
+++ b/src/intel/vulkan/genX_state.c
@@ -200,6 +200,18 @@ genX(init_device_state)(struct anv_device *device)
lri.DataDWord = half_slice_chicken7;
}
+ /* WA_2204188704: Pixel Shader Panic dispatch must be disabled.
+ */
+ uint32_t common_slice_chicken3;
+ anv_pack_struct(&common_slice_chicken3, GENX(COMMON_SLICE_CHICKEN3),
+ .PSThreadPanicDispatch = 0x3,
+ .PSThreadPanicDispatchMask = 0x3);
+
+ anv_batch_emit(&batch, GENX(MI_LOAD_REGISTER_IMM), lri) {
+ lri.RegisterOffset = GENX(COMMON_SLICE_CHICKEN3_num);
+ lri.DataDWord = common_slice_chicken3;
+ }
+
#endif
/* Set the "CONSTANT_BUFFER Address Offset Disable" bit, so