From: Timothy Arceri Date: Thu, 11 Aug 2016 00:34:52 +0000 (+1000) Subject: glsl/tests: fix segfault in uniform initializer test X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33b38157731bb4e9b79edeb4f66213c66813248f;p=mesa.git glsl/tests: fix segfault in uniform initializer test Caused by 549222f5 Tested-by: Aaron Watry Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97286 --- diff --git a/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp b/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp index a36ffdc58be..9d4101743f9 100644 --- a/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp +++ b/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp @@ -24,6 +24,7 @@ #include "main/compiler.h" #include "main/mtypes.h" #include "main/macros.h" +#include "program/hash_table.h" #include "util/ralloc.h" #include "uniform_initializer_utils.h" @@ -108,6 +109,7 @@ establish_uniform_storage(struct gl_shader_program *prog, unsigned num_storage, + type->components())); const unsigned red_zone_components = total_components - data_components; + prog->UniformHash = new string_to_uint_map; prog->UniformStorage = rzalloc_array(prog, struct gl_uniform_storage, num_storage); prog->NumUniformStorage = num_storage; @@ -128,6 +130,9 @@ establish_uniform_storage(struct gl_shader_program *prog, unsigned num_storage, data_components, red_zone_components); + prog->UniformHash->put(index_to_set, + prog->UniformStorage[index_to_set].name); + for (unsigned i = 0; i < num_storage; i++) { if (i == index_to_set) continue;