From f3b68fc5fc806cbfd5e7d79b8679fd2bcbae71f4 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Sat, 27 Feb 2016 16:38:26 -0800 Subject: [PATCH] glsl: Initialize gl_shader_program::EmptyUniformLocations. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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" Reviewed-by: Tapani Pälli --- src/compiler/glsl/linker.cpp | 1 - src/mesa/main/shaderobj.c | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) 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, ""); } -- 2.30.2