From 344f94bb006188931b09939aafc7cc96609c4f5a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 27 Sep 2011 14:27:58 -0700 Subject: [PATCH] glsl: Fix assertion checking types of constant bitshift expressions. Bitshifts are one of the rare places that GLSL allows mixed base types without an implicit conversion occurring. Reviewed-by: Chad Versace Reviewed-by: Kenneth Graunke --- src/glsl/ir_constant_expression.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/glsl/ir_constant_expression.cpp b/src/glsl/ir_constant_expression.cpp index f0299a2c4a0..56a423761b5 100644 --- a/src/glsl/ir_constant_expression.cpp +++ b/src/glsl/ir_constant_expression.cpp @@ -69,7 +69,9 @@ ir_expression::constant_expression_value() } if (op[1] != NULL) - assert(op[0]->type->base_type == op[1]->type->base_type); + assert(op[0]->type->base_type == op[1]->type->base_type || + this->operation == ir_binop_lshift || + this->operation == ir_binop_rshift); bool op0_scalar = op[0]->type->is_scalar(); bool op1_scalar = op[1] != NULL && op[1]->type->is_scalar(); -- 2.30.2