From: Ian Romanick Date: Tue, 7 Sep 2010 20:33:48 +0000 (-0700) Subject: glsl2: Early return with visit_continue in loop_analysis::visit(ir_dereference_variab... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=956f049fd24eb5239361e68a1f27e1bebb3315a0;p=mesa.git glsl2: Early return with visit_continue in loop_analysis::visit(ir_dereference_variable *) Returning early with visit_continue_with_parent prevented the then-statements and else-statements of if-statements such as the following from being processed: if (some_var) { ... } else { ... } Fixes piglit test case glsl-fs-loop-nested-if and bugzilla #30030. --- diff --git a/src/glsl/loop_analysis.cpp b/src/glsl/loop_analysis.cpp index 32e8b8c85b3..91e34da0ee4 100644 --- a/src/glsl/loop_analysis.cpp +++ b/src/glsl/loop_analysis.cpp @@ -154,7 +154,7 @@ loop_analysis::visit(ir_dereference_variable *ir) /* If we're not somewhere inside a loop, there's nothing to do. */ if (this->state.is_empty()) - return visit_continue_with_parent; + return visit_continue; loop_variable_state *const ls = (loop_variable_state *) this->state.get_head();