glsl/linker: Free any IR discarded by optimization passes.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 17 Nov 2010 19:03:57 +0000 (11:03 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 30 Nov 2010 21:48:28 +0000 (13:48 -0800)
commit2da02e75b17dcfb2efc3ce053c48339109bc0f26
treee0827a8daf9d433b00839e4e7da07563654b96bd
parentff994eeff8fa9f8f889878d6b48015ca7683e22b
glsl/linker: Free any IR discarded by optimization passes.

Previously, IR for a linked shader was allocated directly out of the
gl_shader object - meaning all of it lived as long as the shader.

Now, IR is allocated out of a temporary context, and any -live- IR is
reparented/stolen to (effectively) the gl_shader.  Any remaining IR can
be freed.

NOTE: This is a candidate for the 7.9 branch.
src/glsl/linker.cpp