mesa: ensure that variable is initialized
authorDylan Baker <dylan@pnwbakers.com>
Mon, 2 Apr 2018 22:29:45 +0000 (15:29 -0700)
committerDylan Baker <dylan@pnwbakers.com>
Tue, 3 Apr 2018 15:47:59 +0000 (08:47 -0700)
This variable controls whether we link using the glsl code path or the
spirv path. It's set when we validate that all shaders are glsl or
spirv, but if there are no shaders attached to the program it will
remain unset, resulting in undefined behavior. We want to go down the
glsl path in that case, so initialize to false.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105820
Fixes: 16f6634e7fb5ada308e55b852cd49251e7f3f8b1
       ("mesa/program: Link SPIR-V shaders using the SPIR-V code-path")
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Tested-by: Mark Janes <mark.a.janes@intel.com>
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
src/mesa/program/ir_to_mesa.cpp

index 49ef5ea52d86ba2619643d6d1af71cd11c17b46a..60fb24bf664af0b1e038029193655912cac173f9 100644 (file)
@@ -3126,7 +3126,7 @@ void
 _mesa_glsl_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
 {
    unsigned int i;
-   bool spirv;
+   bool spirv = false;
 
    _mesa_clear_shader_program_data(ctx, prog);