From 72324035fb4dffcedd17dfc1c8d1f2ee2787e21a Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Tue, 7 Apr 2020 17:31:07 -0700 Subject: 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 --- src/intel/compiler/brw_fs_visitor.cpp | 5 +++-- 1 file 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 -- cgit v1.2.3