From: Ian Romanick Date: Wed, 31 Mar 2010 00:04:48 +0000 (-0700) Subject: Forbid array comparisons in GLSL 1.10 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a80cbd6d82f6ec4c1d16129581d5fa893a6ba94f;p=mesa.git Forbid array comparisons in GLSL 1.10 This causes the following tests to pass: glslparsertest/shaders/array3.frag --- 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,