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

Author: Bryan Cain <[email protected]>
Date:   Sat Jan  7 16:19:39 2012 -0600

glsl_to_tgsi: emit IABS for absolute value of integers

---

 src/mesa/state_tracker/st_glsl_to_tgsi.cpp |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp 
b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
index 5397011..3b8e2fe 100644
--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
@@ -1410,8 +1410,10 @@ glsl_to_tgsi_visitor::visit(ir_expression *ir)
       }
       break;
    case ir_unop_abs:
-      assert(result_dst.type == GLSL_TYPE_FLOAT);
-      emit(ir, TGSI_OPCODE_ABS, result_dst, op[0]);
+      if (result_dst.type == GLSL_TYPE_INT || result_dst.type == 
GLSL_TYPE_UINT)
+         emit(ir, TGSI_OPCODE_IABS, result_dst, op[0]);
+      else
+         emit(ir, TGSI_OPCODE_ABS, result_dst, op[0]);
       break;
    case ir_unop_sign:
       emit(ir, TGSI_OPCODE_SSG, result_dst, op[0]);

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to