From: Kenneth Graunke Date: Wed, 1 Sep 2010 21:49:53 +0000 (-0700) Subject: ast_function: Remove bogus cases from generate_constructor_matrix. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ee88c4664016b11359c391cc62296bcbfcc5decd;p=mesa.git ast_function: Remove bogus cases from generate_constructor_matrix. There are no integer matrix types, so switching on them is silly. --- diff --git a/src/glsl/ast_function.cpp b/src/glsl/ast_function.cpp index d39c4b195cd..d7d1b3eeb71 100644 --- a/src/glsl/ast_function.cpp +++ b/src/glsl/ast_function.cpp @@ -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]; } }