diff options
-rw-r--r-- | src/glsl/ir_builder.cpp | 24 | ||||
-rw-r--r-- | src/glsl/ir_builder.h | 4 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/glsl/ir_builder.cpp b/src/glsl/ir_builder.cpp index 8fb30a02a99..5e1da17a62f 100644 --- a/src/glsl/ir_builder.cpp +++ b/src/glsl/ir_builder.cpp @@ -304,12 +304,24 @@ f2i(operand a) } ir_expression* +bitcast_f2i(operand a) +{ + return expr(ir_unop_bitcast_f2i, a); +} + +ir_expression* i2f(operand a) { return expr(ir_unop_i2f, a); } ir_expression* +bitcast_i2f(operand a) +{ + return expr(ir_unop_bitcast_i2f, a); +} + +ir_expression* i2u(operand a) { return expr(ir_unop_i2u, a); @@ -328,11 +340,23 @@ f2u(operand a) } ir_expression* +bitcast_f2u(operand a) +{ + return expr(ir_unop_bitcast_f2u, a); +} + +ir_expression* u2f(operand a) { return expr(ir_unop_u2f, a); } +ir_expression* +bitcast_u2f(operand a) +{ + return expr(ir_unop_bitcast_u2f, a); +} + ir_if* if_tree(operand condition, ir_instruction *then_branch) diff --git a/src/glsl/ir_builder.h b/src/glsl/ir_builder.h index 690ac74ebcd..59985beb2c6 100644 --- a/src/glsl/ir_builder.h +++ b/src/glsl/ir_builder.h @@ -151,9 +151,13 @@ ir_expression *lshift(operand a, operand b); ir_expression *rshift(operand a, operand b); ir_expression *f2i(operand a); +ir_expression *bitcast_f2i(operand a); ir_expression *i2f(operand a); +ir_expression *bitcast_i2f(operand a); ir_expression *f2u(operand a); +ir_expression *bitcast_f2u(operand a); ir_expression *u2f(operand a); +ir_expression *bitcast_u2f(operand a); ir_expression *i2u(operand a); ir_expression *u2i(operand a); |