On Wed, Jan 14, 2015 at 7:27 PM, Connor Abbott <cwabbo...@gmail.com> wrote:
> Reviewed-by: Connor Abbott <cwabbo...@gmail.com> > > Just curious, how did this come about? > I was running shader-db and it was segfaulting. I'm not sure why I didn't notice it before. Perhaps it's because of the new optimizations you asked me to add? In any case, it's fixed now. --Jason > > On Wed, Jan 14, 2015 at 10:15 PM, Jason Ekstrand <ja...@jlekstrand.net> > wrote: > > Without the break, it was possible that an instruction would match > multiple > > expressions. If this happened, you could end up trying to replace it > > multiple times and get a segfault. This makes it so that, after a > > successful replacement, it moves on to the next instruction. > > --- > > src/glsl/nir/nir_algebraic.py | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/src/glsl/nir/nir_algebraic.py > b/src/glsl/nir/nir_algebraic.py > > index 72703be..f9b246d 100644 > > --- a/src/glsl/nir/nir_algebraic.py > > +++ b/src/glsl/nir/nir_algebraic.py > > @@ -192,8 +192,10 @@ ${pass_name}_block(nir_block *block, void > *void_state) > > for (unsigned i = 0; i < > ARRAY_SIZE(${pass_name}_${opcode}_xforms); i++) { > > if (nir_replace_instr(alu, > ${pass_name}_${opcode}_xforms[i].search, > > > ${pass_name}_${opcode}_xforms[i].replace, > > - state->mem_ctx)) > > + state->mem_ctx)) { > > state->progress = true; > > + break; > > + } > > } > > break; > > % endfor > > -- > > 2.2.1 > > > > _______________________________________________ > > 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