summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-11-08 16:10:46 -0800
committerIan Romanick <ian.d.romanick@intel.com>2010-12-15 12:24:15 -0800
commit6e5907c3903eb2f54610c4391a279b64330e0357 (patch)
tree01af2a15d562bcb1a788778b3cc9bebcfb3e26f7
parent4c1db8c7a4ac1e6ef634fc02dbb9b34a7301ea25 (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.cpp2
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;
}
}