On Monday, August 31, 2015 04:55:51 PM Jason Ekstrand wrote: > This *should* ensure that the cursor gets properly advanced in all cases. > We had a problem before where, if the cursor was created using > nir_after_cf_node on a non-block cf_node, that would call nir_before_block > on the block following the cf node. Instructions would then get inserted > in backwards order at the top of the block which is not at all what you > would expect from nir_after_cf_node. By just resetting to after_instr, we > avoid all these problems. > --- > src/glsl/nir/nir_builder.h | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/src/glsl/nir/nir_builder.h b/src/glsl/nir/nir_builder.h > index 3aa0efd..295a209 100644 > --- a/src/glsl/nir/nir_builder.h > +++ b/src/glsl/nir/nir_builder.h > @@ -49,8 +49,7 @@ nir_builder_instr_insert(nir_builder *build, nir_instr > *instr) > nir_instr_insert(build->cursor, instr); > > /* Move the cursor forward. */ > - if (build->cursor.option == nir_cursor_after_instr) > - build->cursor.instr = instr; > + build->cursor = nir_after_instr(instr); > } > > static inline void >
This seems like the right behavior for the builder to take. Sorry for the breakage - I hadn't thought through how the nir_{before,after}_cf_{node,list} functions translate to blocks. Thanks for fixing it. Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> You've regression tested this, I assume?
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev