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

Gert Wollny gw.fossdev at gmail.com
Sun Jun 11 17:21:04 UTC 2017


Hello Marek, 

thanks for chiming in. 

Am Sonntag, den 11.06.2017, 16:15 +0200 schrieb Marek Olšák:
> Also, I don't know if people will like that it uses STL. I personally
> have no issue with that as long as it doesn't break apps (e.g. the
> STL shipped with apps should be the same as the STL shipped with the
> distribution).

Well, on Linux I would take it for granted that the STL used to run the
code is the same like the one the code was compiled with, and there are
already quite some places in the mesa code where STL constructs are
used (if that wounld't  have been the case, then I would tried to avoid
the STL). I am actually more concerned that propagating the  C++11
requirement to the whole  of src/mesa might not be welcomed (although
everything compiles and runs fine).


> On Sun, Jun 11, 2017 at 4:12 PM, Marek Olšák <maraeo at gmail.com>
> wrote:
> > Hi Gert,
> > 
> > Have you measured the CPU overhead of the new code?

So far no, I guess one would do that with the shader-db to get
reasonable complex shaders, but I only have a r600 based card so I'm
not sure whether I can run this. In any case, tomorrow I will take a
look into this. 

Best, 
Gert 

> > 
> > Marek
> > 
> > On Sat, Jun 10, 2017 at 1:15 AM, Gert Wollny <gw.fossdev at gmail.com>
> > 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.
> > > 
> > > 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 at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list