Reviewed-by: Chris Forbes <chr...@ijw.co.nz>
On Fri, Jul 25, 2014 at 6:40 PM, Tapani Pälli <tapani.pa...@intel.com> wrote: > This patch fixes regressions caused by commit 48deb4d. Regressions > happened because 'run_default' var did not initialized when default > case was the last one. > > Now all the switch tests in es3conform suite are passing. > > Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> > --- > src/glsl/ast_to_hir.cpp | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp > index a15ee9c..7249a06 100644 > --- a/src/glsl/ast_to_hir.cpp > +++ b/src/glsl/ast_to_hir.cpp > @@ -4597,12 +4597,6 @@ ast_case_statement_list::hir(exec_list *instructions, > */ > if (!default_case.is_empty()) { > > - /* Default case was the last one, no checks required. */ > - if (after_default.is_empty()) { > - instructions->append_list(&default_case); > - return NULL; > - } > - > ir_rvalue *const true_val = new (state) ir_constant(true); > ir_dereference_variable *deref_run_default_var = > new(state) ir_dereference_variable(state->switch_state.run_default); > @@ -4614,6 +4608,12 @@ ast_case_statement_list::hir(exec_list *instructions, > new(state) ir_assignment(deref_run_default_var, true_val); > instructions->push_tail(init_var); > > + /* Default case was the last one, no checks required. */ > + if (after_default.is_empty()) { > + instructions->append_list(&default_case); > + return NULL; > + } > + > foreach_in_list(ir_instruction, ir, &after_default) { > ir_assignment *assign = ir->as_assignment(); > > -- > 1.8.3.1 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev