Mesa (master): glsl/tests: fix segfault in uniform initializer test

Timothy Arceri tarceri at kemper.freedesktop.org
Thu Aug 11 04:57:28 UTC 2016


Module: Mesa
Branch: master
Commit: 33b38157731bb4e9b79edeb4f66213c66813248f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33b38157731bb4e9b79edeb4f66213c66813248f

Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Thu Aug 11 10:34:52 2016 +1000

glsl/tests: fix segfault in uniform initializer test

Caused by 549222f5

Tested-by: Aaron Watry <awatry at gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97286

---

 src/compiler/glsl/tests/set_uniform_initializer_tests.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp b/src/compiler/glsl/tests/set_uniform_initializer_tests.cpp
index a36ffdc..9d41017 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;




More information about the mesa-commit mailing list