glsl: Avoid cascading errors when looking for a scalar boolean and failing.
authorEric Anholt <eric@anholt.net>
Sun, 10 Apr 2011 01:59:20 +0000 (15:59 -1000)
committerEric Anholt <eric@anholt.net>
Wed, 13 Apr 2011 22:48:02 +0000 (15:48 -0700)
commit01822706ec2c2501a2cd2431a90c56b334b79a5c
treeaa71a8dc41e3fc90e4b59f168efbc52675a2d255
parent6a35cbb656e0f8a2479a63eadefb1ab85f42d490
glsl: Avoid cascading errors when looking for a scalar boolean and failing.

By always using a boolean, we should generally avoid further
complaints.  The failure case I see is logic_not, where the user might
understandably make the mistake of using `!' on a boolean vector (like
a piglit case did recently!), and then get a further complaint that
the new boolean type doesn't match the bvec it gets assigned to.

Fixes invalid-logic-not-06.vert (assertion failure when the bad type
ends up in an expression and ir_constant_expression gets angry).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33314
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/glsl/ast_to_hir.cpp