From: Francisco Jerez Date: Wed, 8 Apr 2020 00:31:07 +0000 (-0700) Subject: intel/fs/gen12: Work around dual-source blending hangs in combination with SIMD32. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=72324035fb4dffcedd17dfc1c8d1f2ee2787e21a;p=mesa.git 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 --- 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