glsl/ast: Stop processing a switch-statement after an error in the init-expression
This happens to work now because ir_binop_all_equal is used. This causes vector typed init-expressions to produce scalar Boolean values after comparison. The next commit changes ir_binop_all_equal to ir_binop_equal. Vector typed init-expressions will then produce vector Boolean values, and, in debug builds, the ir_assignment constructor will fail an assertion. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
This commit is contained in:
@@ -6407,6 +6407,7 @@ ast_switch_statement::hir(exec_list *instructions,
|
||||
state,
|
||||
"switch-statement expression must be scalar "
|
||||
"integer");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Track the switch-statement nesting in a stack-like manner.
|
||||
|
Reference in New Issue
Block a user