While nir_algebraic in general is great, the code to implement bit-size inference has always been pretty fragile. While I was trying to remember how everything worked in order to review Jason's patches touching this area, I realized that I could make the whole thing significantly simpler. This series is the end result of that. Since I was nice, I also included some tests to exercise all the different errors you can hit. It conflicts a little bit with Jason's series, since the bit size inference algorithm has to be aware of the new sizeless comparison operators, but I won't think it'll be too bad. And it means that I don't have to review the trickiest prep patches for that series :)
This series is available at: https://gitlab.freedesktop.org/cwabbott0/mesa/commits/nir-bitsize-validator-rewrite It might be better to go there to see the final version of the BitSizeValidator, since that part of the diff won't be too helpful. Finally, I haven't actually tested the compiled mesa, but I'm working on it :) It would be good to give this a run through the Intel CI. Connor Abbott (2): nir/algebraic: Rewrite bit-size inference nir/algebraic: Add unit tests for bitsize validation src/compiler/Makefile.nir.am | 4 +- src/compiler/nir/meson.build | 7 + src/compiler/nir/nir_algebraic.py | 518 ++++++++++-------- src/compiler/nir/nir_search.c | 146 +---- src/compiler/nir/nir_search.h | 2 +- .../nir/tests/algebraic_parser_test.py | 116 ++++ .../nir/tests/algebraic_parser_test.sh | 3 + 7 files changed, 424 insertions(+), 372 deletions(-) create mode 100644 src/compiler/nir/tests/algebraic_parser_test.py create mode 100644 src/compiler/nir/tests/algebraic_parser_test.sh -- 2.17.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev