glsl: Reject non-scalar switch expressions.

The comment quotes spec saying that only scalar integers are allowed,
but we only checked for integer.

Fixes piglit switch-expression-const-ivec2.vert

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
Eric Anholt
2012-05-14 08:45:59 -07:00
parent 5d6ea16dfe
commit bbbc7c7d56
+2 -4
View File
@@ -3521,11 +3521,9 @@ ast_switch_statement::hir(exec_list *instructions,
*
* "The type of init-expression in a switch statement must be a
* scalar integer."
*
* The checks are separated so that higher quality diagnostics can be
* generated for cases where the rule is violated.
*/
if (!test_expression->type->is_integer()) {
if (!test_expression->type->is_scalar() ||
!test_expression->type->is_integer()) {
YYLTYPE loc = this->test_expression->get_location();
_mesa_glsl_error(& loc,