st: Sweep NIR after linking phase to free held memory
authorDanylo Piliaiev <danylo.piliaiev@gmail.com>
Tue, 10 Jul 2018 08:51:45 +0000 (11:51 +0300)
committerEric Anholt <eric@anholt.net>
Fri, 20 Jul 2018 18:26:12 +0000 (11:26 -0700)
commitd24c35c3fb5c49e3256547a46183b280541e6fea
tree71af6a37a8ac6e6d14caf877f792c5f7ba8a3917
parent945524ba0e09447754abc755698e32335d5dbc9b
st: Sweep NIR after linking phase to free held memory

After optimization passes and many trasfromations most of memory
NIR holds is a garbage which was being freed only after shader deletion.
Freeing it at the end of linking will save memory which would be useful
in case there are a lot of complex shaders being compiled.
The common case for this issue is 32bit game running under Wine.

The cost of the optimization is around ~3-5% of compilation speed
with complex shaders.

Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
src/mesa/state_tracker/st_glsl_to_nir.cpp