glsl: avoid leaking hiddenUniforms map when there are no uniforms

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
This commit is contained in:
Ilia Mirkin 2015-10-01 20:21:47 -04:00
parent da2fdf950f
commit 19598aaa5d

View file

@ -1131,15 +1131,15 @@ link_assign_uniform_locations(struct gl_shader_program *prog,
const unsigned num_data_slots = uniform_size.num_values; const unsigned num_data_slots = uniform_size.num_values;
const unsigned hidden_uniforms = uniform_size.num_hidden_uniforms; const unsigned hidden_uniforms = uniform_size.num_hidden_uniforms;
/* assign hidden uniforms a slot id */
hiddenUniforms->iterate(assign_hidden_uniform_slot_id, &uniform_size);
delete hiddenUniforms;
/* On the outside chance that there were no uniforms, bail out. /* On the outside chance that there were no uniforms, bail out.
*/ */
if (num_uniforms == 0) if (num_uniforms == 0)
return; return;
/* assign hidden uniforms a slot id */
hiddenUniforms->iterate(assign_hidden_uniform_slot_id, &uniform_size);
delete hiddenUniforms;
struct gl_uniform_storage *uniforms = struct gl_uniform_storage *uniforms =
rzalloc_array(prog, struct gl_uniform_storage, num_uniforms); rzalloc_array(prog, struct gl_uniform_storage, num_uniforms);
union gl_constant_value *data = union gl_constant_value *data =