ast_function: Fix check for "too few components".
This was triggering even for matrix-from-matrix constructors. It is perfectly legal to construct a mat3 from a mat2 - the rest will be filled in by the identity matrix. Changes piglit test constructor-23.vert from FAIL to PASS, but the generated code is incorrect.
This commit is contained in:
@@ -1151,7 +1151,8 @@ ast_function_expression::hir(exec_list *instructions,
|
||||
* arguments to provide an initializer for every component in the
|
||||
* constructed value."
|
||||
*/
|
||||
if ((components_used < type_components) && (components_used != 1)) {
|
||||
if (components_used < type_components && components_used != 1
|
||||
&& matrix_parameters == 0) {
|
||||
_mesa_glsl_error(& loc, state, "too few components to construct "
|
||||
"`%s'",
|
||||
constructor_type->name);
|
||||
|
||||
Reference in New Issue
Block a user