From: Ian Romanick Date: Mon, 29 Mar 2010 22:36:02 +0000 (-0700) Subject: Allow single-component constructors X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;ds=sidebyside;h=8a24cd5ceaf74a9be5954b5f7426b1612ce8ecd3;p=mesa.git Allow single-component constructors This causes the following tests to pass: glslparsertest/shaders/CorrectVersion.V110.frag shaders/glsl-vs-sqrt-zero.frag shaders/glsl-vs-sqrt-zero.vert This causes the following tests to fail. These shaders were previously failing to compile, but they were all failing for the wrong reasons. glslparsertest/shaders/attribute1.vert glslparsertest/shaders/attribute2.vert glslparsertest/shaders/main2.vert --- diff --git a/ast_function.cpp b/ast_function.cpp index 6470057a905..36bf0c9cc2d 100644 --- a/ast_function.cpp +++ b/ast_function.cpp @@ -327,7 +327,7 @@ ast_function_expression::hir(exec_list *instructions, * arguments to provide an initializer for every component in the * constructed value." */ - if (components_used < type_components) { + if ((components_used < type_components) && (components_used != 1)) { _mesa_glsl_error(& loc, state, "too few components to construct " "`%s'", constructor_type->name);