diff options
author | Matt Turner <[email protected]> | 2014-10-30 15:39:36 -0700 |
---|---|---|
committer | Matt Turner <[email protected]> | 2014-11-03 11:27:50 -0800 |
commit | 5fbcb1b41d370b0ba23d2151b690a225b75fb3a0 (patch) | |
tree | 3edeb9522f41c1561cd5f5f070a983d8418eb3a7 /src/glsl/ir.cpp | |
parent | 336e76c1439823185d425ebecb849ce38d55c4eb (diff) |
glsl: Remove now useless dot optimization on basis vect
The optimization in commit d056863b covers these cases, which were the
first optimizations I added to the GLSL compiler.
Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir.cpp')
-rw-r--r-- | src/glsl/ir.cpp | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index c712c6a7bd9..fe5601a16c7 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -46,11 +46,6 @@ bool ir_rvalue::is_negative_one() const return false; } -bool ir_rvalue::is_basis() const -{ - return false; -} - /** * Modify the swizzle make to move one component to another * @@ -1191,49 +1186,6 @@ ir_constant::is_negative_one() const } bool -ir_constant::is_basis() const -{ - if (!this->type->is_scalar() && !this->type->is_vector()) - return false; - - if (this->type->is_boolean()) - return false; - - unsigned ones = 0; - for (unsigned c = 0; c < this->type->vector_elements; c++) { - switch (this->type->base_type) { - case GLSL_TYPE_FLOAT: - if (this->value.f[c] == 1.0) - ones++; - else if (this->value.f[c] != 0.0) - return false; - break; - case GLSL_TYPE_INT: - if (this->value.i[c] == 1) - ones++; - else if (this->value.i[c] != 0) - return false; - break; - case GLSL_TYPE_UINT: - if (int(this->value.u[c]) == 1) - ones++; - else if (int(this->value.u[c]) != 0) - return false; - break; - default: - /* The only other base types are structures, arrays, samplers, and - * booleans. Samplers cannot be constants, and the others should - * have been filtered out above. - */ - assert(!"Should not get here."); - return false; - } - } - - return ones == 1; -} - -bool ir_constant::is_uint16_constant() const { if (!type->is_integer()) |