glsl: Bitwise conversion operator support in ir_expression.
authorOlivier Galibert <galibert@pobox.com>
Tue, 8 May 2012 18:40:33 +0000 (20:40 +0200)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 7 Jun 2012 07:06:17 +0000 (00:06 -0700)
Signed-off-by: Olivier Galibert <galibert@pobox.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/ir.cpp

index c489547fa52672efd2d3c26aa68fa84782f52894..69954998bd4893bb72fa49d75d5cfa333768bf94 100644 (file)
@@ -273,6 +273,7 @@ ir_expression::ir_expression(int op, ir_rvalue *op0)
    case ir_unop_f2i:
    case ir_unop_b2i:
    case ir_unop_u2i:
+   case ir_unop_bitcast_f2i:
       this->type = glsl_type::get_instance(GLSL_TYPE_INT,
                                           op0->type->vector_elements, 1);
       break;
@@ -280,6 +281,8 @@ ir_expression::ir_expression(int op, ir_rvalue *op0)
    case ir_unop_b2f:
    case ir_unop_i2f:
    case ir_unop_u2f:
+   case ir_unop_bitcast_i2f:
+   case ir_unop_bitcast_u2f:
       this->type = glsl_type::get_instance(GLSL_TYPE_FLOAT,
                                           op0->type->vector_elements, 1);
       break;
@@ -291,6 +294,7 @@ ir_expression::ir_expression(int op, ir_rvalue *op0)
       break;
 
    case ir_unop_i2u:
+   case ir_unop_bitcast_f2u:
       this->type = glsl_type::get_instance(GLSL_TYPE_UINT,
                                           op0->type->vector_elements, 1);
       break;