summaryrefslogtreecommitdiffstats
path: root/src/glsl/ir_validate.cpp
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gmail.com>2013-08-22 13:31:18 -0700
committerMatt Turner <mattst88@gmail.com>2013-09-17 16:59:05 -0700
commitb2ab840130677bbe7b67de4727fcd91ee6506bb8 (patch)
tree5160561da43809a9c7df2b2c40c6e6cb73d6fa93 /src/glsl/ir_validate.cpp
parent4b0488ef4e3e4562c8e383282e0d2db183dfc5c1 (diff)
downloadexternal_mesa3d-b2ab840130677bbe7b67de4727fcd91ee6506bb8.zip
external_mesa3d-b2ab840130677bbe7b67de4727fcd91ee6506bb8.tar.gz
external_mesa3d-b2ab840130677bbe7b67de4727fcd91ee6506bb8.tar.bz2
glsl: Add support for ldexp.
v2: Drop frexp. Rebase on builtins rewrite. Reviewed-by: Paul Berry <stereotype441@gmail.com>
Diffstat (limited to 'src/glsl/ir_validate.cpp')
-rw-r--r--src/glsl/ir_validate.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index ae3f09d..66a9800 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -516,6 +516,14 @@ ir_validate::visit_leave(ir_expression *ir)
assert(ir->operands[1]->type == glsl_type::uint_type);
break;
+ case ir_binop_ldexp:
+ assert(ir->operands[0]->type == ir->type);
+ assert(ir->operands[0]->type->is_float());
+ assert(ir->operands[1]->type->base_type == GLSL_TYPE_INT);
+ assert(ir->operands[0]->type->components() ==
+ ir->operands[1]->type->components());
+ break;
+
case ir_binop_vector_extract:
assert(ir->operands[0]->type->is_vector());
assert(ir->operands[1]->type->is_scalar()