diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-11-08 16:10:46 -0800 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-12-15 12:24:15 -0800 |
commit | 6e5907c3903eb2f54610c4391a279b64330e0357 (patch) | |
tree | 01af2a15d562bcb1a788778b3cc9bebcfb3e26f7 | |
parent | 4c1db8c7a4ac1e6ef634fc02dbb9b34a7301ea25 (diff) |
ir_dead_functions: Actually free dead functions and signatures.
This makes linked shaders use around 36k less memory since the
built-in prototypes are now freed.
(cherry picked from commit a457ca7844c7943e17aa18a73757cc4ac965e200)
-rw-r--r-- | src/glsl/ir_dead_functions.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/ir_dead_functions.cpp b/src/glsl/ir_dead_functions.cpp index 26554441d3a..16037a2632d 100644 --- a/src/glsl/ir_dead_functions.cpp +++ b/src/glsl/ir_dead_functions.cpp @@ -125,6 +125,7 @@ do_dead_functions(exec_list *instructions) if (!entry->used) { entry->signature->remove(); + delete entry->signature; progress = true; } delete(entry); @@ -143,6 +144,7 @@ do_dead_functions(exec_list *instructions) * symbol table should be OK. */ func->remove(); + delete func; progress = true; } } |