From d2bd77eae4800e739ad360d4e06a7243d2335f84 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Wed, 8 Jul 2020 18:37:34 -0400 Subject: [PATCH] glsl: don't validate array types in ir_dereference_variable Fixes: 8d62969cfe8 - glsl: validate more stuff Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3245 Reviewed-by: Alyssa Rosenzweig Part-of: --- src/compiler/glsl/ir_validate.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/compiler/glsl/ir_validate.cpp b/src/compiler/glsl/ir_validate.cpp index 426862c039c..c9d5ca1e356 100644 --- a/src/compiler/glsl/ir_validate.cpp +++ b/src/compiler/glsl/ir_validate.cpp @@ -98,7 +98,10 @@ ir_validate::visit(ir_dereference_variable *ir) abort(); } - if (ir->var->type != ir->type) { + /* Compare types without arrays, because one side can be sized and + * the other unsized. + */ + if (ir->var->type->without_array() != ir->type->without_array()) { printf("ir_dereference_variable type is not equal to variable type: "); ir->print(); printf("\n"); -- 2.30.2