On Thursday, September 15, 2016 9:16:04 PM PDT Jason Ekstrand wrote: > This intrinsic has no destination, no sources, no variables, and can be > eliminated. In other words, it does nothing and will always get deleted by > dead code elimination. However, it does provide a quick-and-easy way to > temporarily tag a particular location in a NIR shader. > > Signed-off-by: Jason Ekstrand <ja...@jlekstrand.net> > --- > src/compiler/nir/nir_intrinsics.h | 3 +++ > 1 file changed, 3 insertions(+)
These two are: Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> I understand that Connor may not be a fan of this code, but it's been several weeks and we don't have a better proposal. We need to unblock RADV. I agree with Connor that we shouldn't be relying on the details of how the NIR control flow decides to split/join blocks...and inserting or removing a control flow node does tend to split/join blocks all over the place, making some set of your block pointers invalid. I like the approach of adding a nop instruction to hold the current position. The nop will end up somewhere, and you can just resume from wherever it is, and you don't have to assume anything about how NIR decided to split/join blocks.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev