Mesa (master): intel/compiler/fs: Still attempt simd32 when INTEL_DEBUG=no16 is used

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jul 9 23:29:36 UTC 2020


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

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 31 09:27:28 2020 -0700

intel/compiler/fs: Still attempt simd32 when INTEL_DEBUG=no16 is used

If INTEL_DEBUG=no16 is used, then simd16 will not be attempted. This,
in turn prevents simd32 from running, because we attempt to skip
simd32 when simd16 fails to compile.

This change more accurately recognizes when we attempted simd16, but
simd16 failed.

One easy way to cause an issue is to set both no8 and no16. Before
this change, we would be left with no FS program, even though simd32
could still be generated in some cases.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5269>

---

 src/intel/compiler/brw_fs.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index e10c6705858..4ba0c8ed073 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -8657,10 +8657,12 @@ brw_compile_fs(const struct brw_compiler *compiler, void *log_data,
       }
    }
 
+   const bool simd16_failed = v16 && !simd16_cfg;
+
    /* Currently, the compiler only supports SIMD32 on SNB+ */
    if (!has_spilled &&
        v8->max_dispatch_width >= 32 && !use_rep_send &&
-       devinfo->gen >= 6 && simd16_cfg &&
+       devinfo->gen >= 6 && !simd16_failed &&
        !(INTEL_DEBUG & DEBUG_NO32)) {
       /* Try a SIMD32 compile */
       v32 = new fs_visitor(compiler, log_data, mem_ctx, &key->base,



More information about the mesa-commit mailing list