From: Ian Romanick Date: Mon, 18 Sep 2017 21:20:38 +0000 (-0500) Subject: glsl/ast: Use logical-or instead of conditional assignment to set fallthru_var X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=623002f0b2d3a0b65d5dc6c5de9060adf0f3658f;p=mesa.git glsl/ast: Use logical-or instead of conditional assignment to set fallthru_var Signed-off-by: Ian Romanick Reviewed-by: Alejandro PiƱeiro --- diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index cbd5746648d..d7c8b47f9d4 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -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. */