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 6470057..36bf0c9 100644
--- a/ast_function.cpp
+++ b/ast_function.cpp
@@ -327,7 +327,7 @@
* 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);