summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAras Pranckevicius <aras@unity3d.com>2013-03-01 12:05:11 +0200
committerIan Romanick <ian.d.romanick@intel.com>2013-05-10 16:41:28 -0700
commit46ac963a23bd7cb17b139f0a110b2d06228852fd (patch)
treeca68aef0500b751f5dc6b2112000bc7290ee5cd7
parentee561e0927585b24c62414f75880ce9d66a5512d (diff)
GLSL: fix lower_jumps to report progress properly
A fix for lower_jumps progress reporting, very much like similar in c1e591eed. NOTE: This is a candidate for stable branches. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit b2eee0869fde2d0ade19005524147c035ad764ea)
-rw-r--r--src/glsl/lower_jumps.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/lower_jumps.cpp b/src/glsl/lower_jumps.cpp
index 92813f567f1..bfc8c013bda 100644
--- a/src/glsl/lower_jumps.cpp
+++ b/src/glsl/lower_jumps.cpp
@@ -1002,10 +1002,12 @@ do_lower_jumps(exec_list *instructions, bool pull_out_jumps, bool lower_sub_retu
v.lower_sub_return = lower_sub_return;
v.lower_main_return = lower_main_return;
+ bool progress_ever = false;
do {
v.progress = false;
visit_exec_list(instructions, &v);
+ progress_ever = v.progress || progress_ever;
} while (v.progress);
- return v.progress;
+ return progress_ever;
}