ir_to_mesa: Only allocate a vector per column of a matrix.
authorEric Anholt <eric@anholt.net>
Wed, 7 Jul 2010 23:16:09 +0000 (16:16 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 7 Jul 2010 23:37:48 +0000 (16:37 -0700)
src/mesa/shader/ir_to_mesa.cpp

index 9497b17a2a97a343938dcb1ad4b5c24a85472cec..5cb5564d503b444e9622695092ab871ca0be7a91 100644 (file)
@@ -393,7 +393,7 @@ type_size(const struct glsl_type *type)
    case GLSL_TYPE_FLOAT:
    case GLSL_TYPE_BOOL:
       if (type->is_matrix()) {
-        return 4; /* FINISHME: Not all matrices are 4x4. */
+        return type->matrix_columns;
       } else {
         /* Regardless of size of vector, it gets a vec4. This is bad
          * packing for things like floats, but otherwise arrays become a