From 978c4c597aa48e65bd6822a85e6b8f82ca9281f1 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Tue, 15 Aug 2017 13:47:08 -0400 Subject: [PATCH] glsl/ast: update rhs in addition to the var's constant_value We continue in the code to do some more things with the rhs, including setting a constant initializer. If the type is wrong, this causes some confusion down the line, leading to assertions. This makes sure that the rhs processing continues to flow as-if the type was correct to start with (even though the state has been marked as an error state). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101766 Signed-off-by: Ilia Mirkin Reviewed-by: Kenneth Graunke Cc: mesa-stable@lists.freedesktop.org --- 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 a07c0ecf953..f0a96c3e1e8 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -4500,7 +4500,7 @@ process_initializer(ir_variable *var, ast_declaration *decl, } else { if (var->type->is_numeric()) { /* Reduce cascading errors. */ - var->constant_value = type->qualifier.flags.q.constant + rhs = var->constant_value = type->qualifier.flags.q.constant ? ir_constant::zero(state, var->type) : NULL; } } -- 2.30.2