[Mesa-dev] [PATCH v3 25/48] intel/cs: Drop max_dispatch_width checks from compile_cs

Iago Toral itoral at igalia.com
Fri Oct 27 08:18:30 UTC 2017


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);


More information about the mesa-dev mailing list