summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_builder.cpp
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2013-09-19 12:56:10 -0700
committerMatt Turner <[email protected]>2013-10-07 10:41:16 -0700
commit499d7a7f6e47403a4a3da448eddaf15bdf56395c (patch)
tree2fa4bb92dd8d52622ead91fb7c2880c069cc7144 /src/glsl/ir_builder.cpp
parentae514416b20e0117d58822253069f594b4a3ee57 (diff)
glsl: Add ir_binop_carry and ir_binop_borrow.
Calculates the carry out of the addition of two values and the borrow from subtraction respectively. Will be used in uaddCarry() and usubBorrow() built-in implementations. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/ir_builder.cpp')
-rw-r--r--src/glsl/ir_builder.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/glsl/ir_builder.cpp b/src/glsl/ir_builder.cpp
index 98b43229508..b6ce889834c 100644
--- a/src/glsl/ir_builder.cpp
+++ b/src/glsl/ir_builder.cpp
@@ -221,6 +221,16 @@ ir_expression *div(operand a, operand b)
return expr(ir_binop_div, a, b);
}
+ir_expression *carry(operand a, operand b)
+{
+ return expr(ir_binop_carry, a, b);
+}
+
+ir_expression *borrow(operand a, operand b)
+{
+ return expr(ir_binop_borrow, a, b);
+}
+
ir_expression *round_even(operand a)
{
return expr(ir_unop_round_even, a);