GLSL: fix lower_jumps to report progress properly
authorAras Pranckevicius <aras@unity3d.com>
Fri, 1 Mar 2013 10:05:11 +0000 (12:05 +0200)
committerIan Romanick <ian.d.romanick@intel.com>
Mon, 1 Apr 2013 23:57:17 +0000 (16:57 -0700)
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>
src/glsl/lower_jumps.cpp

index 92813f567f16ad68e563889a9435ce35b1987391..bfc8c013bdabed365a27da8556c3d122c52b4a7b 100644 (file)
@@ -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;
 }