diff options
author | Matt Turner <[email protected]> | 2016-02-27 16:38:26 -0800 |
---|---|---|
committer | Matt Turner <[email protected]> | 2016-03-01 11:41:29 -0800 |
commit | f3b68fc5fc806cbfd5e7d79b8679fd2bcbae71f4 (patch) | |
tree | cbe1d0d2b7c42785b1f764c6830dcd869d6c410b | |
parent | 1a80ca22fef420142d128f98bb3a04a5d9c46bf9 (diff) |
glsl: Initialize gl_shader_program::EmptyUniformLocations.
Commit 65dfb30 added exec_list EmptyUniformLocations, but only
initialized the list if ARB_explicit_uniform_location was enabled,
leading to crashes if the extension was not available.
Cc: "11.2" <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
-rw-r--r-- | src/compiler/glsl/linker.cpp | 1 | ||||
-rw-r--r-- | src/mesa/main/shaderobj.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 5326bfd4d68..3039232162a 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -3180,7 +3180,6 @@ check_explicit_uniform_locations(struct gl_context *ctx, } } - exec_list_make_empty(&prog->EmptyUniformLocations); struct empty_uniform_block *current_block = NULL; for (unsigned i = 0; i < prog->NumUniformRemapTable; i++) { diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c index 203ccef7fc4..9a4eb6b56fd 100644 --- a/src/mesa/main/shaderobj.c +++ b/src/mesa/main/shaderobj.c @@ -240,6 +240,8 @@ init_shader_program(struct gl_shader_program *prog) prog->TransformFeedback.BufferMode = GL_INTERLEAVED_ATTRIBS; + exec_list_make_empty(&prog->EmptyUniformLocations); + prog->InfoLog = ralloc_strdup(prog, ""); } |