[Mesa-dev] [PATCH] nir/vars_to_ssa: Don't build deref nodes for non-local variables

Dave Airlie airlied at gmail.com
Mon Jul 9 07:16:38 UTC 2018


On 9 July 2018 at 14:55, Jason Ekstrand <jason at jlekstrand.net> wrote:
> ---
>  src/compiler/nir/nir_lower_vars_to_ssa.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/src/compiler/nir/nir_lower_vars_to_ssa.c b/src/compiler/nir/nir_lower_vars_to_ssa.c
> index 3f37acaed33..ef2019551c6 100644
> --- a/src/compiler/nir/nir_lower_vars_to_ssa.c
> +++ b/src/compiler/nir/nir_lower_vars_to_ssa.c
> @@ -206,6 +206,12 @@ get_deref_node_recur(nir_deref_instr *deref,
>  static struct deref_node *
>  get_deref_node(nir_deref_instr *deref, struct lower_variables_state *state)
>  {
> +   /* This pass only works on local variables.  Just ignore any derefs with
> +    * a non-local mode.
> +    */
> +   if (deref->mode != nir_var_local)
> +      return NULL;
> +

I think due to where this pass run it isn't this simple.

dEQP-VK.spirv_assembly.instruction.graphics.decoration_group.multiple_decoration_groups_on_same_variable_tessc

Regresses here with it.

I'll try and dig into this when I get more time.

Dave.


More information about the mesa-dev mailing list