st/glsl_to_tgsi: fix theoretical memory leak

It can't *really* happen since we don't use subroutines.

CID: 1417491
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-By: Gert Wollny <gw.fossdev@gmail.com>
This commit is contained in:
Nicolai Hähnle 2017-09-13 18:08:22 +02:00
parent 3d9cb39fd0
commit b7b4a14db5
1 changed files with 5 additions and 2 deletions

View File

@ -617,6 +617,7 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
int if_id = 0; int if_id = 0;
int switch_id = 0; int switch_id = 0;
bool is_at_end = false; bool is_at_end = false;
bool ok = true;
int n_scopes = 1; int n_scopes = 1;
/* Count scopes to allocate the needed space without the need for /* Count scopes to allocate the needed space without the need for
@ -758,7 +759,8 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
* Since this is not done, we have to bail out here and signal * Since this is not done, we have to bail out here and signal
* that no register merge will take place. * that no register merge will take place.
*/ */
return false; ok = false;
goto out;
default: { default: {
for (unsigned j = 0; j < num_inst_src_regs(inst); j++) { for (unsigned j = 0; j < num_inst_src_regs(inst); j++) {
const st_src_reg& src = inst->src[j]; const st_src_reg& src = inst->src[j];
@ -797,8 +799,9 @@ get_temp_registers_required_lifetimes(void *mem_ctx, exec_list *instructions,
} }
RENAME_DEBUG(cerr << "==================================\n\n"); RENAME_DEBUG(cerr << "==================================\n\n");
out:
delete[] acc; delete[] acc;
return true; return ok;
} }
/* Find the next register between [start, end) that has a life time starting /* Find the next register between [start, end) that has a life time starting