intel/fs/gen12: Work around dual-source blending hangs in combination with SIMD32.

This applies the same work-around I commited as b84fa0b31e
"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>
This commit is contained in:
Francisco Jerez
2020-04-07 17:31:07 -07:00
parent d6ae079771
commit 72324035fb

View File

@@ -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