[Mesa-dev] [PATCH 2/7] glsl: Add support for ir_unop_f2u to constant folding.

Paul Berry stereotype441 at gmail.com
Wed Jun 13 17:14:14 PDT 2012


---
 src/glsl/ir_constant_expression.cpp |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp
index 38a1ed9..17b54b9 100644
--- a/src/glsl/ir_constant_expression.cpp
+++ b/src/glsl/ir_constant_expression.cpp
@@ -182,6 +182,12 @@ ir_expression::constant_expression_value(struct hash_table *variable_context)
 	 data.i[c] = (int) op[0]->value.f[c];
       }
       break;
+   case ir_unop_f2u:
+      assert(op[0]->type->base_type == GLSL_TYPE_FLOAT);
+      for (unsigned c = 0; c < op[0]->type->components(); c++) {
+         data.i[c] = (unsigned) op[0]->value.f[c];
+      }
+      break;
    case ir_unop_i2f:
       assert(op[0]->type->base_type == GLSL_TYPE_INT);
       for (unsigned c = 0; c < op[0]->type->components(); c++) {
-- 
1.7.7.6



More information about the mesa-dev mailing list