glsl/ast: Use logical-or instead of conditional assignment to set fallthru_var

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
This commit is contained in:
Ian Romanick
2017-09-18 16:20:38 -05:00
parent d5361d9f01
commit 623002f0b2

View File

@@ -6763,8 +6763,7 @@ ast_case_label::hir(exec_list *instructions,
}
body.emit(assign(fallthru_var,
body.constant(true),
equal(label, deref_test_var)));
logic_or(fallthru_var, equal(label, deref_test_var))));
} else { /* default case */
if (state->switch_state.previous_default) {
YYLTYPE loc = this->get_location();
@@ -6777,8 +6776,9 @@ ast_case_label::hir(exec_list *instructions,
state->switch_state.previous_default = this;
/* Set fallthru condition on 'run_default' bool. */
body.emit(assign(fallthru_var, body.constant(true),
state->switch_state.run_default));
body.emit(assign(fallthru_var,
logic_or(fallthru_var,
state->switch_state.run_default)));
}
/* Case statements do not have r-values. */