Mesa (glsl2): glsl2: Validate that ir_if conditions are actually bool.
Eric Anholt
anholt at kemper.freedesktop.org
Thu Jul 22 23:35:04 UTC 2010
Module: Mesa
Branch: glsl2
Commit: 432b787b29202301dbfc139c3289521b0bfc3dec
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=432b787b29202301dbfc139c3289521b0bfc3dec
Author: Eric Anholt <eric at anholt.net>
Date: Thu Jul 22 16:24:49 2010 -0700
glsl2: Validate that ir_if conditions are actually bool.
---
src/glsl/ir_validate.cpp | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/glsl/ir_validate.cpp b/src/glsl/ir_validate.cpp
index c05edf2..bb381a0 100644
--- a/src/glsl/ir_validate.cpp
+++ b/src/glsl/ir_validate.cpp
@@ -59,6 +59,7 @@ public:
virtual ir_visitor_status visit(ir_variable *v);
virtual ir_visitor_status visit(ir_dereference_variable *ir);
+ virtual ir_visitor_status visit(ir_if *ir);
virtual ir_visitor_status visit_enter(ir_function *ir);
virtual ir_visitor_status visit_leave(ir_function *ir);
@@ -93,6 +94,18 @@ ir_validate::visit(ir_dereference_variable *ir)
return visit_continue;
}
+ir_visitor_status
+ir_validate::visit(ir_if *ir)
+{
+ if (ir->condition->type != glsl_type::bool_type) {
+ printf("ir_if condition %s type instead of bool.\n",
+ ir->condition->type->name);
+ ir->print();
+ printf("\n");
+ abort();
+ }
+}
+
ir_visitor_status
ir_validate::visit_enter(ir_function *ir)
More information about the mesa-commit
mailing list