Mesa (master): glsl: don't run loop passes if loop unrolling is disabled
Marek Olšák
mareko at kemper.freedesktop.org
Thu Nov 10 17:47:18 UTC 2016
Module: Mesa
Branch: master
Commit: e27333a568aa97a897b0e4129d55dfbaf7dddb9f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e27333a568aa97a897b0e4129d55dfbaf7dddb9f
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Nov 4 12:57:53 2016 +0100
glsl: don't run loop passes if loop unrolling is disabled
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/compiler/glsl/glsl_parser_extras.cpp | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/compiler/glsl/glsl_parser_extras.cpp b/src/compiler/glsl/glsl_parser_extras.cpp
index db659adf..0cb3c12 100644
--- a/src/compiler/glsl/glsl_parser_extras.cpp
+++ b/src/compiler/glsl/glsl_parser_extras.cpp
@@ -2108,12 +2108,14 @@ do_common_optimization(exec_list *ir, bool linked,
OPT(optimize_split_arrays, ir, linked);
OPT(optimize_redundant_jumps, ir);
- loop_state *ls = analyze_loop_variables(ir);
- if (ls->loop_found) {
- OPT(set_loop_controls, ir, ls);
- OPT(unroll_loops, ir, ls, options);
+ if (options->MaxUnrollIterations) {
+ loop_state *ls = analyze_loop_variables(ir);
+ if (ls->loop_found) {
+ OPT(set_loop_controls, ir, ls);
+ OPT(unroll_loops, ir, ls, options);
+ }
+ delete ls;
}
- delete ls;
#undef OPT
More information about the mesa-commit
mailing list