[Mesa-dev] [PATCH] Revert "intel/nir: Call nir_lower_io_to_scalar_early"
Dylan Baker
dylan at pnwbakers.com
Tue Aug 14 16:25:10 UTC 2018
I don't think this will be picked up by the stable spotting scripts, does it
need a Fixes: tag?
Dylan
Quoting Jason Ekstrand (2018-08-08 12:05:00)
> Commit 4434591bf56a6b0 caused substantially more URB messages in
> geometry and tessellation shaders. Before we can really enable this
> sort of optimization, We either need some way of combining them back
> together into vectors or we need to do cross-stage vector element
> elimination without splitting everything into scalars.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107510
> ---
> src/intel/compiler/brw_nir.c | 17 +++++------------
> 1 file changed, 5 insertions(+), 12 deletions(-)
>
> diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c
> index 31ffbe613ec..29ad68fdb2a 100644
> --- a/src/intel/compiler/brw_nir.c
> +++ b/src/intel/compiler/brw_nir.c
> @@ -713,18 +713,6 @@ 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[(*consumer)->info.stage];
> -
> - 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);
>
> @@ -741,7 +729,12 @@ 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[(*consumer)->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 --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180814/0f4bccc0/attachment.sig>
More information about the mesa-dev
mailing list