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:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user