[Mesa-dev] [PATCH 132/133] nir: Make nir_ssa_undef_instr_create take a number of components
Jason Ekstrand
jason at jlekstrand.net
Tue Jan 6 14:44:03 PST 2015
On Mon, Jan 5, 2015 at 11:02 PM, Connor Abbott <cwabbott0 at gmail.com> wrote:
> The commit message should probably say something like "nir: Make
> nir_ssa_undef_instr_create initialize the destination". That we now
> need to pass in the number of components is just a side effect.
>
Good point. Done.
>
> On Tue, Dec 16, 2014 at 1:13 AM, Jason Ekstrand <jason at jlekstrand.net>
> wrote:
> > ---
> > src/glsl/nir/nir.c | 5 ++---
> > src/glsl/nir/nir.h | 3 ++-
> > src/glsl/nir/nir_lower_variables.c | 11 +++++------
> > src/glsl/nir/nir_to_ssa.c | 5 ++---
> > 4 files changed, 11 insertions(+), 13 deletions(-)
> >
> > diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c
> > index e128b48..2f79892 100644
> > --- a/src/glsl/nir/nir.c
> > +++ b/src/glsl/nir/nir.c
> > @@ -480,13 +480,12 @@ nir_parallel_copy_instr_create(void *mem_ctx)
> > }
> >
> > nir_ssa_undef_instr *
> > -nir_ssa_undef_instr_create(void *mem_ctx)
> > +nir_ssa_undef_instr_create(void *mem_ctx, unsigned num_components)
> > {
> > nir_ssa_undef_instr *instr = ralloc(mem_ctx, nir_ssa_undef_instr);
> > instr_init(&instr->instr, nir_instr_type_ssa_undef);
> >
> > - instr->def.name = NULL;
> > - instr->def.parent_instr = &instr->instr;
> > + nir_ssa_def_init(&instr->instr, &instr->def, num_components, NULL);
> >
> > return instr;
> > }
> > diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h
> > index b859322..74a1dda 100644
> > --- a/src/glsl/nir/nir.h
> > +++ b/src/glsl/nir/nir.h
> > @@ -1295,7 +1295,8 @@ nir_phi_instr *nir_phi_instr_create(void *mem_ctx);
> >
> > nir_parallel_copy_instr *nir_parallel_copy_instr_create(void *mem_ctx);
> >
> > -nir_ssa_undef_instr *nir_ssa_undef_instr_create(void *mem_ctx);
> > +nir_ssa_undef_instr *nir_ssa_undef_instr_create(void *mem_ctx,
> > + unsigned
> num_components);
> >
> > nir_deref_var *nir_deref_var_create(void *mem_ctx, nir_variable *var);
> > nir_deref_array *nir_deref_array_create(void *mem_ctx);
> > diff --git a/src/glsl/nir/nir_lower_variables.c
> b/src/glsl/nir/nir_lower_variables.c
> > index 16157b3..c5bc866 100644
> > --- a/src/glsl/nir/nir_lower_variables.c
> > +++ b/src/glsl/nir/nir_lower_variables.c
> > @@ -692,9 +692,9 @@ get_ssa_def_for_block(struct deref_node *node,
> nir_block *block,
> > /* If we got here then we don't have a definition that dominates the
> > * given block. This means that we need to add an undef and use
> that.
> > */
> > - nir_ssa_undef_instr *undef =
> nir_ssa_undef_instr_create(state->mem_ctx);
> > - nir_ssa_def_init(&undef->instr, &undef->def,
> > - glsl_get_vector_elements(node->type), NULL);
> > + nir_ssa_undef_instr *undef =
> > + nir_ssa_undef_instr_create(state->mem_ctx,
> > + glsl_get_vector_elements(node->type));
> > nir_instr_insert_before_cf_list(&state->impl->body, &undef->instr);
> > def_stack_push(node, &undef->def, state);
> > return &undef->def;
> > @@ -764,9 +764,8 @@ rename_variables_block(nir_block *block, struct
> lower_variables_state *state)
> > * should result in an undefined value.
> > */
> > nir_ssa_undef_instr *undef =
> > - nir_ssa_undef_instr_create(state->mem_ctx);
> > - nir_ssa_def_init(&undef->instr, &undef->def,
> > - intrin->num_components, NULL);
> > + nir_ssa_undef_instr_create(state->mem_ctx,
> > + intrin->num_components);
> >
> > nir_instr_insert_before(&intrin->instr, &undef->instr);
> > nir_instr_remove(&intrin->instr);
> > diff --git a/src/glsl/nir/nir_to_ssa.c b/src/glsl/nir/nir_to_ssa.c
> > index 01297e6..b352ded 100644
> > --- a/src/glsl/nir/nir_to_ssa.c
> > +++ b/src/glsl/nir/nir_to_ssa.c
> > @@ -159,9 +159,8 @@ static nir_ssa_def *get_ssa_src(nir_register *reg,
> rewrite_state *state)
> > * We're using an undefined register, create a new undefined SSA
> value
> > * to preserve the information that this source is undefined
> > */
> > - nir_ssa_undef_instr *instr =
> nir_ssa_undef_instr_create(state->mem_ctx);
> > - nir_ssa_def_init(&instr->instr, &instr->def,
> > - reg->num_components, NULL);
> > + nir_ssa_undef_instr *instr =
> > + nir_ssa_undef_instr_create(state->mem_ctx,
> reg->num_components);
> >
> > /*
> > * We could just insert the undefined instruction before the
> instruction
> > --
> > 2.2.0
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150106/e7c7602a/attachment-0001.html>
More information about the mesa-dev
mailing list