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 6c36a04889eb1f353bf54290afd91762af4f6e21..f85b308c1bf6d337f3e8ad143ded3b22a5f39ea8 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;