diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-06-25 13:10:37 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-06-25 17:07:42 -0700 |
commit | 78062273de65bf8133f2550aa2a26040a82a65aa (patch) | |
tree | 957cad20b1b86d0555e0fe130d27f4acf8ed70d0 /src/glsl | |
parent | 85c978f38c819003b6447e8e4feb8b90bb352eea (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')
-rw-r--r-- | src/glsl/ir_reader.cpp | 4 |
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 |