[Mesa-dev] regarding mesa/state_tracker/glsl_to_tgsi register renaming

Gert Wollny gw.fossdev at gmail.com
Thu Jun 8 07:27:02 UTC 2017


Dear all, 

(and specifically to Dave Arlie), 

when looking at the TGSI code of shaders that fail on r600g because of
too many temporaries used, I notes that often their lifetime is very
short, like just assigned in one line and read the only  time in the
next line. 

Looking on the register-renaming code in mesa/st/st_glsl_to_tgsi.cpp I
also notes that the register life time estimation is very conservative,
i.e. registers that are assigned and used within a loop get a life time
over the whole loop range.

Because of this, and also because I'm new to mesa development and would
like to get a bit more knowledge about the mesa code base, I thought
about re-implementing the register renaming. My plan is to do a
complete rewrite that can be run instead of the current implementation
like by setting an environment variable, I'd also like to propose a
proper patch for the UE4 editor problem I could only solve with a
rather hackish solution [1] :) 

Now, I've seen that you, Dave, are already working on code related to
st_glsl_to_tgsi, so in order not to interfere  with your work, or
duplicate it, I wanted to inquire whether you are already working or
planning to work on the register renaming part?

many thanks, 
Gert 

[1] https://patchwork.freedesktop.org/patch/158872/



More information about the mesa-dev mailing list