From a80cbd6d82f6ec4c1d16129581d5fa893a6ba94f Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 30 Mar 2010 17:04:48 -0700 Subject: [PATCH] Forbid array comparisons in GLSL 1.10 This causes the following tests to pass: glslparsertest/shaders/array3.frag --- ast_to_hir.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp index 23021bf04cf..e037af7137b 100644 --- a/ast_to_hir.cpp +++ b/ast_to_hir.cpp @@ -666,6 +666,11 @@ ast_expression::hir(exec_list *instructions, _mesa_glsl_error(& loc, state, "operands of `%s' must have the same " "type", (this->oper == ast_equal) ? "==" : "!="); error_emitted = true; + } else if ((state->language_version <= 110) + && (op[0]->type->is_array() || op[1]->type->is_array())) { + _mesa_glsl_error(& loc, state, "array comparisons forbidden in " + "GLSL 1.10"); + error_emitted = true; } result = new ir_expression(operations[this->oper], glsl_type::bool_type, -- 2.30.2