[Mesa-dev] [PATCH 19/59] glsl/ir_builder: Add support for some 64-bit bitcasts.

Ian Romanick idr at freedesktop.org
Wed Oct 26 00:59:25 UTC 2016


From: Dave Airlie <airlied at redhat.com>

We need builder support to implement some of the builtins.

Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
---
 src/compiler/glsl/ir_builder.cpp | 24 ++++++++++++++++++++++++
 src/compiler/glsl/ir_builder.h   |  6 ++++++
 2 files changed, 30 insertions(+)

diff --git a/src/compiler/glsl/ir_builder.cpp b/src/compiler/glsl/ir_builder.cpp
index f430100..0cee856 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 231fbfc..5ee9412 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);
 
-- 
2.5.5



More information about the mesa-dev mailing list