On Mon, Jan 5, 2015 at 11:02 PM, Connor Abbott <cwabbo...@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 <ja...@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@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev