From: Eric Anholt Date: Tue, 27 Sep 2011 21:27:58 +0000 (-0700) Subject: glsl: Fix assertion checking types of constant bitshift expressions. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=344f94bb006188931b09939aafc7cc96609c4f5a;p=mesa.git 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 --- 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();