[Mesa-dev] [PATCH] mesa: Free the compiled shader IR after it has been linked.

Ian Romanick idr at freedesktop.org
Sat May 31 21:26:50 PDT 2014


On 05/28/2014 01:57 PM, Eric Anholt wrote:
> If the shader compiled once, then we can compile it again.  Compiled
> shaders almost always get used in just one program, so holding that
> compiled IR until the program is freed is just a waste of memory.
> 
> On the other hand, if they are either reusing shader objects to compile
> multiple times, or linking the same shader into multiple programs, we turn
> off this memory savings hack to avoid spending CPU on recompiling.
> 
> Reduces peak memory allocation of glretrace of a trace of dolphin-emu by
> 5.5MB.  It seems like this should be a big deal to DOTA2, but it was
> triggering RecompiledAnyShader, and I failed to see a benefit even if I
> removed the RecompiledAnyShader check (which confuses me).

Does dota2 DeleteShader after AttachShader / LinkProgram?  That could
explain why it doesn't help there...



More information about the mesa-dev mailing list