nir: Use a single list for all shader variables
[mesa.git] / src / compiler / glsl / ir_builder.h
index b483ebf6269968921626e28ac0508c76df020e91..9309039f9deaaa8e89c225f9a68294a154ffe036 100644 (file)
@@ -21,6 +21,9 @@
  * IN THE SOFTWARE.
  */
 
+#ifndef IR_BUILDER_H
+#define IR_BUILDER_H
+
 #include "ir.h"
 
 namespace ir_builder {
@@ -148,6 +151,7 @@ ir_expression *neg(operand a);
 ir_expression *sin(operand a);
 ir_expression *cos(operand a);
 ir_expression *exp(operand a);
+ir_expression *rcp(operand a);
 ir_expression *rsq(operand a);
 ir_expression *sqrt(operand a);
 ir_expression *log(operand a);
@@ -168,6 +172,7 @@ 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 *bit_xor(operand a, operand b);
 ir_expression *lshift(operand a, operand b);
 ir_expression *rshift(operand a, operand b);
 
@@ -190,6 +195,12 @@ ir_expression *f2d(operand a);
 ir_expression *i2d(operand a);
 ir_expression *u2d(operand a);
 
+ir_expression *bitcast_d2i64(operand a);
+ir_expression *bitcast_d2u64(operand a);
+
+ir_expression *bitcast_i642d(operand a);
+ir_expression *bitcast_u642d(operand a);
+
 ir_expression *min2(operand a, operand b);
 ir_expression *max2(operand a, operand b);
 
@@ -228,3 +239,5 @@ ir_if *if_tree(operand condition,
                ir_instruction *else_branch);
 
 } /* namespace ir_builder */
+
+#endif