I'd have swapped the order of this patch and the next. Then the first 3 patches stand on their own, and the last 4 patches stand on their own. *shrug*
On 05/26/2016 06:30 PM, Jason Ekstrand wrote: > --- > src/compiler/nir/nir_algebraic.py | 4 ++-- > src/compiler/nir/nir_search.c | 12 ++++++++---- > src/compiler/nir/nir_search.h | 2 +- > 3 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/src/compiler/nir/nir_algebraic.py > b/src/compiler/nir/nir_algebraic.py > index 285f853..b4df8c8 100644 > --- a/src/compiler/nir/nir_algebraic.py > +++ b/src/compiler/nir/nir_algebraic.py > @@ -498,7 +498,7 @@ _algebraic_pass_template = mako.template.Template(""" > #define NIR_OPT_ALGEBRAIC_STRUCT_DEFS > > struct transform { > - const nir_search_expression *search; > + const nir_search_value *search; > const nir_search_value *replace; > unsigned condition_offset; > }; > @@ -513,7 +513,7 @@ struct transform { > > static const struct transform ${pass_name}_${opcode}_xforms[] = { > % for xform in xform_list: > - { &${xform.search.name}, ${xform.replace.c_ptr}, ${xform.condition_index} > }, > + { ${xform.search.c_ptr}, ${xform.replace.c_ptr}, ${xform.condition_index} > }, > % endfor > }; > % endfor > diff --git a/src/compiler/nir/nir_search.c b/src/compiler/nir/nir_search.c > index 2c2fd92..6e8c829d 100644 > --- a/src/compiler/nir/nir_search.c > +++ b/src/compiler/nir/nir_search.c > @@ -36,7 +36,7 @@ struct match_state { > }; > > static bool > -match_expression(const nir_search_expression *expr, nir_alu_instr *instr, > +match_expression(const nir_search_value *expr, nir_alu_instr *instr, > unsigned num_components, const uint8_t *swizzle, > struct match_state *state); > > @@ -101,7 +101,7 @@ match_value(const nir_search_value *value, nir_alu_instr > *instr, unsigned src, > if (instr->src[src].src.ssa->parent_instr->type != nir_instr_type_alu) > return false; > > - return match_expression(nir_search_value_as_expression(value), > + return match_expression(value, > > nir_instr_as_alu(instr->src[src].src.ssa->parent_instr), > num_components, new_swizzle, state); > > @@ -239,10 +239,12 @@ match_value(const nir_search_value *value, > nir_alu_instr *instr, unsigned src, > } > > static bool > -match_expression(const nir_search_expression *expr, nir_alu_instr *instr, > +match_expression(const nir_search_value *expr_val, nir_alu_instr *instr, > unsigned num_components, const uint8_t *swizzle, > struct match_state *state) > { > + nir_search_expression *expr = nir_search_value_as_expression(expr_val); > + > if (instr->op != expr->opcode) > return false; > > @@ -561,9 +563,11 @@ construct_value(const nir_search_value *value, > } > > nir_alu_instr * > -nir_replace_instr(nir_alu_instr *instr, const nir_search_expression *search, > +nir_replace_instr(nir_alu_instr *instr, const nir_search_value *search, > const nir_search_value *replace, void *mem_ctx) > { > + assert(search->type == nir_search_value_expression); > + > uint8_t swizzle[4] = { 0, 0, 0, 0 }; > > for (unsigned i = 0; i < instr->dest.dest.ssa.num_components; ++i) > diff --git a/src/compiler/nir/nir_search.h b/src/compiler/nir/nir_search.h > index a500feb..888a2a3 100644 > --- a/src/compiler/nir/nir_search.h > +++ b/src/compiler/nir/nir_search.h > @@ -103,7 +103,7 @@ NIR_DEFINE_CAST(nir_search_value_as_expression, > nir_search_value, > nir_search_expression, value) > > nir_alu_instr * > -nir_replace_instr(nir_alu_instr *instr, const nir_search_expression *search, > +nir_replace_instr(nir_alu_instr *instr, const nir_search_value *search, > const nir_search_value *replace, void *mem_ctx); > > #endif /* _NIR_SEARCH_ */ > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev