glsl/tests: fix segfault in uniform initializer test
Caused by 549222f5
Tested-by: Aaron Watry <awatry@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97286
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user