summaryrefslogtreecommitdiff
path: root/src/glsl/loop_analysis.cpp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-09-07 13:33:48 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-09-07 13:36:32 -0700
commit956f049fd24eb5239361e68a1f27e1bebb3315a0 (patch)
treebc789df701a4c2d03024b4d4ab035cf601aa7e1c /src/glsl/loop_analysis.cpp
parent0427228bbc241d0b76df853812d023273b496637 (diff)
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.
Diffstat (limited to 'src/glsl/loop_analysis.cpp')
-rw-r--r--src/glsl/loop_analysis.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/loop_analysis.cpp b/src/glsl/loop_analysis.cpp
index 32e8b8c85b..91e34da0ee 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();