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

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 29 06:49:40 UTC 2020


Module: Mesa
Branch: master
Commit: 72324035fb4dffcedd17dfc1c8d1f2ee2787e21a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=72324035fb4dffcedd17dfc1c8d1f2ee2787e21a

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Apr  7 17:31:07 2020 -0700

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 at whitecape.org>

---

 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



More information about the mesa-commit mailing list