summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/compiler/glsl/ir_builder.cpp24
-rw-r--r--src/compiler/glsl/ir_builder.h6
2 files changed, 30 insertions, 0 deletions
diff --git a/src/compiler/glsl/ir_builder.cpp b/src/compiler/glsl/ir_builder.cpp
index f430100a085..0cee8565e4e 100644
--- a/src/compiler/glsl/ir_builder.cpp
+++ b/src/compiler/glsl/ir_builder.cpp
@@ -518,6 +518,30 @@ b2f(operand a)
return expr(ir_unop_b2f, a);
}
+ir_expression*
+bitcast_d2i64(operand a)
+{
+ return expr(ir_unop_bitcast_d2i64, a);
+}
+
+ir_expression*
+bitcast_d2u64(operand a)
+{
+ return expr(ir_unop_bitcast_d2u64, a);
+}
+
+ir_expression*
+bitcast_i642d(operand a)
+{
+ return expr(ir_unop_bitcast_i642d, a);
+}
+
+ir_expression*
+bitcast_u642d(operand a)
+{
+ return expr(ir_unop_bitcast_u642d, a);
+}
+
ir_expression *
interpolate_at_centroid(operand a)
{
diff --git a/src/compiler/glsl/ir_builder.h b/src/compiler/glsl/ir_builder.h
index 231fbfcdb3e..5ee9412f6ef 100644
--- a/src/compiler/glsl/ir_builder.h
+++ b/src/compiler/glsl/ir_builder.h
@@ -191,6 +191,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);