summaryrefslogtreecommitdiff
path: root/src/glsl/ir_reader.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-06-25 13:10:37 -0700
committerEric Anholt <eric@anholt.net>2010-06-25 17:07:42 -0700
commit78062273de65bf8133f2550aa2a26040a82a65aa (patch)
tree957cad20b1b86d0555e0fe130d27f4acf8ed70d0 /src/glsl/ir_reader.cpp
parent85c978f38c819003b6447e8e4feb8b90bb352eea (diff)
ir_reader: Free memory for S-Expressions earlier.
There's no point in keeping it around once we've read the IR. Also, remove an unnecessary talloc_parent call.
Diffstat (limited to 'src/glsl/ir_reader.cpp')
-rw-r--r--src/glsl/ir_reader.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp
index 7383c42cbc..03dce0d684 100644
--- a/src/glsl/ir_reader.cpp
+++ b/src/glsl/ir_reader.cpp
@@ -70,8 +70,7 @@ void
_mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions,
const char *src)
{
- void *ctx = talloc_parent(state);
- s_expression *expr = s_expression::read_expression(ctx, src);
+ s_expression *expr = s_expression::read_expression(state, src);
if (expr == NULL) {
ir_read_error(state, NULL, "couldn't parse S-Expression.");
return;
@@ -82,6 +81,7 @@ _mesa_glsl_read_ir(_mesa_glsl_parse_state *state, exec_list *instructions,
return;
read_instructions(state, instructions, expr, NULL);
+ talloc_free(expr);
}
static void