From 50ad96ebce6ea19b414a02d2d45f0b0c73586abf Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 6 May 2010 10:53:51 -0700 Subject: [PATCH] ir_to_mesa: Start doing some int support. --- ir_to_mesa.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ir_to_mesa.cpp b/ir_to_mesa.cpp index 35c24ca..e77a6e2 100644 --- a/ir_to_mesa.cpp +++ b/ir_to_mesa.cpp @@ -349,6 +349,10 @@ ir_to_mesa_visitor::visit(ir_expression *ir) case ir_unop_sqrt: this->result = this->create_tree(MB_TERM_sqrt_vec4, ir, op[0], op[1]); break; + case ir_unop_i2f: + /* Mesa IR lacks types, ints are stored as floats. */ + this->result = op[0]; + break; default: break; } @@ -543,7 +547,10 @@ ir_to_mesa_visitor::visit(ir_constant *ir) tree = this->create_tree(MB_TERM_reference_vec4, ir, NULL, NULL); - assert(ir->type->base_type == GLSL_TYPE_FLOAT); + assert(ir->type->base_type == GLSL_TYPE_FLOAT || + ir->type->base_type == GLSL_TYPE_UINT || + ir->type->base_type == GLSL_TYPE_INT || + ir->type->base_type == GLSL_TYPE_BOOL); /* FINISHME: This will end up being _mesa_add_unnamed_constant, * which handles sharing values and sharing channels of vec4 -- 2.7.4