glsl2: Fix transpose of rows and cols
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 17 Aug 2010 22:57:48 +0000 (15:57 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Tue, 17 Aug 2010 23:06:30 +0000 (16:06 -0700)
This error led to an assertion failure for some constructors of
non-square matrices.  It only occured in matrices where the number of
columns was greater than the number of rows.  It didn't even always
occur on those.

Fixes piglit glslparsertest case constructor-16.vert.

src/glsl/ast_function.cpp

index 6c36a04..f85b308 100644 (file)
@@ -904,8 +904,8 @@ emit_inline_matrix_constructor(const glsl_type *type,
         instructions->push_tail(inst);
       }
    } else {
-      const unsigned rows = type->matrix_columns;
-      const unsigned cols = type->vector_elements;
+      const unsigned cols = type->matrix_columns;
+      const unsigned rows = type->vector_elements;
       unsigned col_idx = 0;
       unsigned row_idx = 0;