Dear all, as I wrote before, I was looking into the temporary register renaming.
This series of patches implements a new approach that achieves a tigher estimation of the life time of the temporaries, and as a result the Piano and Voloplosion benchmarks implemented in gputest [1] now work. Before they failed with "r600_pipe_shader_create - translation from TGSI failed!" Piglit shows 7 fixes and 6 regressions compared to git 8fac894f, but they don't seem to be related to shaders. I've also tested other programs like the unignie-* benchmarks and they didn't show regressions. I think that the patch will need a few more iterations to remove code duplication and generally adhere to the mesa style, but I think it is atthe point where I could need a bit of feedback to get it into shape to be acceptable, and I'd also like to mention that since I'm new to mesa this I have no commit rights. many thanks, Gert [1] http://www.geeks3d.com/gputest/ Gert Wollny (3): mesa/st: glsl_to_tgsi move some helper classes to extra files mesa/st: glsl_to_tgsi Implement a new lifetime tracker for temporaries mesa/st: glsl_to_tgsi: tie in the new register renaming approach configure.ac | 1 + src/mesa/Makefile.am | 4 +- src/mesa/Makefile.sources | 4 + src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 302 +------- src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp | 241 +++++++ src/mesa/state_tracker/st_glsl_to_tgsi_private.h | 135 ++++ .../state_tracker/st_glsl_to_tgsi_temprename.cpp | 551 ++++++++++++++ .../state_tracker/st_glsl_to_tgsi_temprename.h | 114 +++ src/mesa/state_tracker/tests/Makefile.am | 40 ++ src/mesa/state_tracker/tests/st-renumerate-test | 210 ++++++ .../tests/test_glsl_to_tgsi_lifetime.cpp | 789 +++++++++++++++++++++ 11 files changed, 2104 insertions(+), 287 deletions(-) create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_private.cpp create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_private.h create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_temprename.cpp create mode 100644 src/mesa/state_tracker/st_glsl_to_tgsi_temprename.h create mode 100644 src/mesa/state_tracker/tests/Makefile.am create mode 100755 src/mesa/state_tracker/tests/st-renumerate-test create mode 100644 src/mesa/state_tracker/tests/test_glsl_to_tgsi_lifetime.cpp -- 2.13.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev