diff options
author | Kenneth Graunke <[email protected]> | 2010-09-01 14:49:53 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2010-09-01 18:57:50 -0700 |
commit | ee88c4664016b11359c391cc62296bcbfcc5decd (patch) | |
tree | 73e77c3d10dce10aa547f55754bb897680cd1dea | |
parent | 36192b772eda190c4d78e8a4979c4e3c6377ae61 (diff) |
ast_function: Remove bogus cases from generate_constructor_matrix.
There are no integer matrix types, so switching on them is silly.
-rw-r--r-- | src/glsl/ast_function.cpp | 37 |
1 files changed, 8 insertions, 29 deletions
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]; } } |