diff options
author | Brian Paul <[email protected]> | 2009-10-05 14:42:08 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2009-10-05 14:42:08 -0600 |
commit | 55770d09c18c4d33403abb97dfef4f897efbbe2a (patch) | |
tree | 3f3cb2ea42c511c11e134c2d414367df82268cea /src/mesa/shader | |
parent | f00da2a3ff59c1a7104ac25a1c6eba5a6050ad68 (diff) | |
parent | 79892e7976fbb91ae426f5868d5f453e977c1f17 (diff) |
Merge branch 'mesa_7_6_branch'
Conflicts:
src/gallium/auxiliary/util/u_cpu_detect.c
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/prog_optimize.c | 4 | ||||
-rw-r--r-- | src/mesa/shader/slang/slang_link.c | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/shader/prog_optimize.c b/src/mesa/shader/prog_optimize.c index be903106a08..9d937488e37 100644 --- a/src/mesa/shader/prog_optimize.c +++ b/src/mesa/shader/prog_optimize.c @@ -217,6 +217,7 @@ _mesa_remove_dead_code(struct gl_program *prog) if (inst->SrcReg[j].RelAddr) { if (dbg) _mesa_printf("abort remove dead code (indirect temp)\n"); + _mesa_free(removeInst); return; } @@ -232,6 +233,7 @@ _mesa_remove_dead_code(struct gl_program *prog) if (inst->DstReg.RelAddr) { if (dbg) _mesa_printf("abort remove dead code (indirect temp)\n"); + _mesa_free(removeInst); return; } @@ -422,6 +424,8 @@ _mesa_remove_extra_moves(struct gl_program *prog) /* now remove the instructions which aren't needed */ rem = remove_instructions(prog, removeInst); + _mesa_free(removeInst); + if (dbg) { _mesa_printf("Optimize: End remove extra moves. %u instructions removed\n", rem); /*_mesa_print_program(prog);*/ diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c index 8f2b40d5dfb..71038d2d94e 100644 --- a/src/mesa/shader/slang/slang_link.c +++ b/src/mesa/shader/slang/slang_link.c @@ -670,6 +670,7 @@ get_main_shader(GLcontext *ctx, !shader->Main || shader->UnresolvedRefs) { link_error(shProg, "Unresolved symbols"); + _mesa_free_shader(ctx, shader); return NULL; } } |