glsl: make sure builtins are initialized before getting the shader
The builtin function shader is part of the builtin state, released when glReleaseShaderCompiler is called. We must ensure that the builtins have been (re)initialized before attempting to link with the builtin shader. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Tested-by: Rob Herring <robh@kernel.org> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
@@ -2125,6 +2125,7 @@ link_intrastage_shaders(void *mem_ctx,
|
||||
|
||||
if (ok) {
|
||||
memcpy(linking_shaders, shader_list, num_shaders * sizeof(gl_shader *));
|
||||
_mesa_glsl_initialize_builtin_functions();
|
||||
linking_shaders[num_shaders] = _mesa_glsl_get_builtin_function_shader();
|
||||
|
||||
ok = link_function_calls(prog, linked, linking_shaders, num_shaders + 1);
|
||||
|
Reference in New Issue
Block a user