Mesa (master): glsl: Add support for ir_unop_f2u to constant folding.

Paul Berry stereotype441 at kemper.freedesktop.org
Fri Jun 15 16:12:39 UTC 2012


Module: Mesa
Branch: master
Commit: 613a8170ae53091d516f602d091a6bbcd169e92f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=613a8170ae53091d516f602d091a6bbcd169e92f

Author: Paul Berry <stereotype441 at gmail.com>
Date:   Wed Jun 13 15:48:56 2012 -0700

glsl: Add support for ir_unop_f2u to constant folding.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 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++) {




More information about the mesa-commit mailing list