[Mesa-dev] [PATCH 3/2] intel/nir: Call nir_lower_io_to_scalar_early
Nils Wallménius
nils.wallmenius at gmail.com
Tue Jul 31 16:55:25 UTC 2018
Hi, sorry for the drive-by but a comment in line below
Den tis 31 juli 2018 16:09Jason Ekstrand <jason at jlekstrand.net> skrev:
> Shader-db results on Kaby Lake:
>
> total instructions in shared programs: 15166953 -> 15073611 (-0.62%)
> instructions in affected programs: 2390284 -> 2296942 (-3.91%)
> helped: 16469
> HURT: 505
>
> total loops in shared programs: 4954 -> 4951 (-0.06%)
> loops in affected programs: 3 -> 0
> helped: 3
> HURT: 0
> ---
> src/intel/compiler/brw_nir.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
> index 99ef6bec77f..a6e3e502cdd 100644
> --- a/src/intel/compiler/brw_nir.c
> +++ b/src/intel/compiler/brw_nir.c
> @@ -713,6 +713,18 @@ brw_nir_link_shaders(const struct brw_compiler
> *compiler,
> nir_validate_shader(*producer);
> nir_validate_shader(*consumer);
>
> + const bool p_is_scalar =
> + compiler->scalar_stage[(*producer)->info.stage];
> + const bool c_is_scalar =
> + compiler->scalar_stage[(*producer)->info.stage];
>
Shouldn't the above index be s/producer/consumer/ ? else both booleans are
the same.
BR
Nils
+
> + if (p_is_scalar && c_is_scalar) {
> + NIR_PASS_V(*producer, nir_lower_io_to_scalar_early,
> nir_var_shader_out);
> + NIR_PASS_V(*consumer, nir_lower_io_to_scalar_early,
> nir_var_shader_in);
> + *producer = brw_nir_optimize(*producer, compiler, p_is_scalar);
> + *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar);
> + }
> +
> NIR_PASS_V(*producer, nir_remove_dead_variables, nir_var_shader_out);
> NIR_PASS_V(*consumer, nir_remove_dead_variables, nir_var_shader_in);
>
> @@ -729,12 +741,7 @@ brw_nir_link_shaders(const struct brw_compiler
> *compiler,
> NIR_PASS_V(*consumer, nir_lower_indirect_derefs,
> brw_nir_no_indirect_mask(compiler,
> (*consumer)->info.stage));
>
> - const bool p_is_scalar =
> - compiler->scalar_stage[(*producer)->info.stage];
> *producer = brw_nir_optimize(*producer, compiler, p_is_scalar);
> -
> - const bool c_is_scalar =
> - compiler->scalar_stage[(*producer)->info.stage];
> *consumer = brw_nir_optimize(*consumer, compiler, c_is_scalar);
> }
> }
> --
> 2.17.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180731/6dfbbdb4/attachment.html>
More information about the mesa-dev
mailing list