From 87fb5aa3e741e9b93bf09509ff14d4cbc683e482 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Mon, 30 May 2016 12:16:39 +1000 Subject: [PATCH] glsl: dont crash when attempting to assign a value to a builtin define For example GL_ARB_enhanced_layouts = 3; Fixes: GL44-CTS.enhanced_layouts.glsl_contant_immutablity Reviewed-by: Dave Airlie --- src/compiler/glsl/ast_to_hir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index ccacd26..400d3c4 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -822,7 +822,7 @@ validate_assignment(struct _mesa_glsl_parse_state *state, */ if (state->stage == MESA_SHADER_TESS_CTRL && !lhs->type->is_error()) { ir_variable *var = lhs->variable_referenced(); - if (var->data.mode == ir_var_shader_out && !var->data.patch) { + if (var && var->data.mode == ir_var_shader_out && !var->data.patch) { ir_rvalue *index = find_innermost_array_index(lhs); ir_variable *index_var = index ? index->variable_referenced() : NULL; if (!index_var || strcmp(index_var->name, "gl_InvocationID") != 0) { -- 2.7.4