summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorIan Romanick <[email protected]>2010-08-17 15:57:48 -0700
committerIan Romanick <[email protected]>2010-08-17 16:06:30 -0700
commitbdc0e5285a3d7d29b953970e43ca548cbc4e7e30 (patch)
tree77934bfda4db92686d9e412adc149b2b9c6ba1cb /src/glsl
parent8f5f44c9c8fa59e36efdf1acf3543ad81cb865d5 (diff)
glsl2: Fix transpose of rows and cols
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.
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/ast_function.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp
index 6c36a04889e..f85b308c1bf 100644
--- a/src/glsl/ast_function.cpp
+++ b/src/glsl/ast_function.cpp
@@ -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;