aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/shader/prog_optimize.c
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa/shader/prog_optimize.c')
-rw-r--r--mesalib/src/mesa/shader/prog_optimize.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mesalib/src/mesa/shader/prog_optimize.c b/mesalib/src/mesa/shader/prog_optimize.c
index be903106a..9d937488e 100644
--- a/mesalib/src/mesa/shader/prog_optimize.c
+++ b/mesalib/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);*/