summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2020-04-07 17:31:07 -0700
committerFrancisco Jerez <currojerez@riseup.net>2020-04-28 23:00:28 -0700
commit72324035fb4dffcedd17dfc1c8d1f2ee2787e21a (patch)
treef97eee03d923d41abc97bb1d85c02fe2c40e062c
parentd6ae079771bc8f5ae3a9e8a333c50a6cacb7a77c (diff)
intel/fs/gen12: Work around dual-source blending hangs in combination with SIMD32.
This applies the same work-around I commited as b84fa0b31e67 "intel/fs/gen11: Work around dual-source blending hangs in combination with SIMD32." to Gen12, which seems to suffer from the same hardware bug found empirically. The failure mode seems to be identical. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r--src/intel/compiler/brw_fs_visitor.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index 794bb246451..7e6bebcd62f 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -539,9 +539,10 @@ fs_visitor::emit_fb_writes()
inst->last_rt = true;
inst->eot = true;
- if (devinfo->gen == 11 && prog_data->dual_src_blend) {
+ if (devinfo->gen >= 11 && devinfo->gen <= 12 &&
+ prog_data->dual_src_blend) {
/* The dual-source RT write messages fail to release the thread
- * dependency on ICL with SIMD32 dispatch, leading to hangs.
+ * dependency on ICL and TGL with SIMD32 dispatch, leading to hangs.
*
* XXX - Emit an extra single-source NULL RT-write marked LastRT in
* order to release the thread dependency without disabling