summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_builder.h
diff options
context:
space:
mode:
authorChad Versace <chad.versace@linux.intel.com>2013-01-11 09:53:21 -0800
committerChad Versace <chad.versace@linux.intel.com>2013-01-24 21:24:10 -0800
commit5790174e376e2b3543b902ae14c790c6eed2dd88 (patch)
treecee3ead8674bdccf721f58057932b179f9be005d /src/glsl/ir_builder.h
parentfafcbf52b7a45494e11488eb37d1e0b036ac8e4b (diff)
downloadexternal_mesa3d-5790174e376e2b3543b902ae14c790c6eed2dd88.zip
external_mesa3d-5790174e376e2b3543b902ae14c790c6eed2dd88.tar.gz
external_mesa3d-5790174e376e2b3543b902ae14c790c6eed2dd88.tar.bz2
glsl/ir_builder: Add more helpers for constructing expressions
Add the following functions, each of which construct the similarly named ir expression: div, round_even, clamp equal, less, greater, lequal, gequal logic_not, logic_and, logic_or bit_not, bit_or, bit_and, lshift, rshift f2i, i2f, f2u, u2f, i2u, u2i Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Diffstat (limited to 'src/glsl/ir_builder.h')
-rw-r--r--src/glsl/ir_builder.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/glsl/ir_builder.h b/src/glsl/ir_builder.h
index 278294f..01c7f96 100644
--- a/src/glsl/ir_builder.h
+++ b/src/glsl/ir_builder.h
@@ -95,9 +95,35 @@ ir_expression *expr(ir_expression_operation op, operand a, operand b);
ir_expression *add(operand a, operand b);
ir_expression *sub(operand a, operand b);
ir_expression *mul(operand a, operand b);
+ir_expression *div(operand a, operand b);
+ir_expression *round_even(operand a);
ir_expression *dot(operand a, operand b);
+ir_expression *clamp(operand a, operand b, operand c);
ir_expression *saturate(operand a);
+ir_expression *equal(operand a, operand b);
+ir_expression *less(operand a, operand b);
+ir_expression *greater(operand a, operand b);
+ir_expression *lequal(operand a, operand b);
+ir_expression *gequal(operand a, operand b);
+
+ir_expression *logic_not(operand a);
+ir_expression *logic_and(operand a, operand b);
+ir_expression *logic_or(operand a, operand b);
+
+ir_expression *bit_not(operand a);
+ir_expression *bit_or(operand a, operand b);
+ir_expression *bit_and(operand a, operand b);
+ir_expression *lshift(operand a, operand b);
+ir_expression *rshift(operand a, operand b);
+
+ir_expression *f2i(operand a);
+ir_expression *i2f(operand a);
+ir_expression *f2u(operand a);
+ir_expression *u2f(operand a);
+ir_expression *i2u(operand a);
+ir_expression *u2i(operand a);
+
/**
* Swizzle away later components, but preserve the ordering.
*/