[Mesa-dev] [PATCH 0/3] [RFC] mesa/st: glsl_to_tgsi: improved temp-reg lifetime estimation

Nicolai Hähnle nhaehnle at gmail.com
Mon Jun 12 10:28:07 UTC 2017


On 10.06.2017 01:15, Gert Wollny wrote:
> 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.

Plenty of style issues aside, can you explain where and why you get 
tighter lifetimes?

Cheers,
Nicolai

> 
> 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
> 


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list