On Wed, 2017-10-25 at 16:25 -0700, Jason Ekstrand wrote: > The only things that adjust fs_visitor::max_dispatch_width are render > target writes which don't happen in compute shaders so they're > pointless. > --- > src/intel/compiler/brw_fs.cpp | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/src/intel/compiler/brw_fs.cpp > b/src/intel/compiler/brw_fs.cpp > index a23366b..4c362ba 100644 > --- a/src/intel/compiler/brw_fs.cpp > +++ b/src/intel/compiler/brw_fs.cpp
Maybe add an assert before this to check that max_dispatch_width is >= 32 as expected here? > @@ -6818,8 +6818,7 @@ brw_compile_cs(const struct brw_compiler > *compiler, void *log_data, > NULL, /* Never used in core profile */ > shader, 16, shader_time_index); > if (likely(!(INTEL_DEBUG & DEBUG_NO16)) && > - !fail_msg && v8.max_dispatch_width >= 16 && > - min_dispatch_width <= 16) { > + !fail_msg && min_dispatch_width <= 16) { > /* Try a SIMD16 compile */ > if (min_dispatch_width <= 8) > v16.import_uniforms(&v8); > @@ -6843,8 +6842,7 @@ brw_compile_cs(const struct brw_compiler > *compiler, void *log_data, > fs_visitor v32(compiler, log_data, mem_ctx, key, &prog_data- > >base, > NULL, /* Never used in core profile */ > shader, 32, shader_time_index); > - if (!fail_msg && v8.max_dispatch_width >= 32 && > - (min_dispatch_width > 16 || (INTEL_DEBUG & DEBUG_DO32))) { > + if (!fail_msg && (min_dispatch_width > 16 || ( Maybe use unlikely() with (INTEL_DEBUG & DEBUG_DO32)? > /* Try a SIMD32 compile */ > if (min_dispatch_width <= 8) > v32.import_uniforms(&v8); _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev