ast_function: Remove bogus cases from generate_constructor_matrix.
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 1 Sep 2010 21:49:53 +0000 (14:49 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 2 Sep 2010 01:57:50 +0000 (18:57 -0700)
There are no integer matrix types, so switching on them is silly.

src/glsl/ast_function.cpp

index d39c4b195cde86f38106f17cd663914022fee1d7..d7d1b3eeb71ccca6fd1efec8e555f9b77f8eded3 100644 (file)
@@ -485,38 +485,17 @@ void
 generate_constructor_matrix(const glsl_type *type, ir_constant *initializer,
                            ir_constant_data *data)
 {
-   switch (type->base_type) {
-   case GLSL_TYPE_UINT:
-   case GLSL_TYPE_INT:
-      for (unsigned i = 0; i < type->components(); i++)
-        data->u[i] = 0;
-
-      for (unsigned i = 0; i < type->matrix_columns; i++) {
-        /* The array offset of the ith row and column of the matrix.
-         */
-        const unsigned idx = (i * type->vector_elements) + i;
+   assert(type->base_type == GLSL_TYPE_FLOAT);
+   assert(initializer->type->is_scalar());
 
-        data->u[idx] = initializer->value.u[0];
-      }
-      break;
+   for (unsigned i = 0; i < type->components(); i++)
+      data->f[i] = 0;
 
-   case GLSL_TYPE_FLOAT:
-      for (unsigned i = 0; i < type->components(); i++)
-        data->f[i] = 0;
+   for (unsigned i = 0; i < type->matrix_columns; i++) {
+      /* The array offset of the ith row and column of the matrix. */
+      const unsigned idx = (i * type->vector_elements) + i;
 
-      for (unsigned i = 0; i < type->matrix_columns; i++) {
-        /* The array offset of the ith row and column of the matrix.
-         */
-        const unsigned idx = (i * type->vector_elements) + i;
-
-        data->f[idx] = initializer->value.f[0];
-      }
-
-      break;
-
-   default:
-      assert(!"Should not get here.");
-      break;
+      data->f[idx] = initializer->value.f[0];
    }
 }