glsl: free hash tables earlier
These are only used by get_matching_input() which has been call at this point so free the hash tables. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
parent
af08cfc626
commit
29d70cc964
|
@ -2156,6 +2156,9 @@ assign_varying_locations(struct gl_context *ctx,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hash_table_dtor(consumer_inputs);
|
||||||
|
hash_table_dtor(consumer_interface_inputs);
|
||||||
|
|
||||||
for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
|
for (unsigned i = 0; i < num_tfeedback_decls; ++i) {
|
||||||
if (!tfeedback_decls[i].is_varying())
|
if (!tfeedback_decls[i].is_varying())
|
||||||
continue;
|
continue;
|
||||||
|
@ -2165,8 +2168,6 @@ assign_varying_locations(struct gl_context *ctx,
|
||||||
|
|
||||||
if (matched_candidate == NULL) {
|
if (matched_candidate == NULL) {
|
||||||
hash_table_dtor(tfeedback_candidates);
|
hash_table_dtor(tfeedback_candidates);
|
||||||
hash_table_dtor(consumer_inputs);
|
|
||||||
hash_table_dtor(consumer_interface_inputs);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2185,15 +2186,10 @@ assign_varying_locations(struct gl_context *ctx,
|
||||||
|
|
||||||
if (!tfeedback_decls[i].assign_location(ctx, prog)) {
|
if (!tfeedback_decls[i].assign_location(ctx, prog)) {
|
||||||
hash_table_dtor(tfeedback_candidates);
|
hash_table_dtor(tfeedback_candidates);
|
||||||
hash_table_dtor(consumer_inputs);
|
|
||||||
hash_table_dtor(consumer_interface_inputs);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hash_table_dtor(tfeedback_candidates);
|
hash_table_dtor(tfeedback_candidates);
|
||||||
hash_table_dtor(consumer_inputs);
|
|
||||||
hash_table_dtor(consumer_interface_inputs);
|
|
||||||
|
|
||||||
if (consumer && producer) {
|
if (consumer && producer) {
|
||||||
foreach_in_list(ir_instruction, node, consumer->ir) {
|
foreach_in_list(ir_instruction, node, consumer->ir) {
|
||||||
|
|
Loading…
Reference in New Issue