diff options
Diffstat (limited to 'src/compiler/glsl/propagate_invariance.cpp')
-rw-r--r-- | src/compiler/glsl/propagate_invariance.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/glsl/propagate_invariance.cpp b/src/compiler/glsl/propagate_invariance.cpp index b3f1d810cdb..2673fa16378 100644 --- a/src/compiler/glsl/propagate_invariance.cpp +++ b/src/compiler/glsl/propagate_invariance.cpp @@ -113,13 +113,17 @@ ir_invariance_propagation_visitor::visit(ir_dereference_variable *ir) return visit_continue; } -void +bool propagate_invariance(exec_list *instructions) { ir_invariance_propagation_visitor visitor; + bool progress = false; do { visitor.progress = false; visit_list_elements(&visitor, instructions); + progress = progress || visitor.progress; } while (visitor.progress); + + return progress; } |