From 7feabfe23dc54960abba34755f484f786575ac49 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 20 Mar 2012 17:43:12 -0600 Subject: [PATCH] glsl: propagate MaxUnrollIterations to the optimizer's loop unroller Instead of the hard-coded value of 32. Note that MaxUnrollIterations defaults to 32 so there's no net change. But the gallium state tracker can override this. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Kenneth Graunke --- src/glsl/linker.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 471525e..8278e43 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2294,7 +2294,9 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) if (ctx->ShaderCompilerOptions[i].LowerClipDistance) lower_clip_distance(prog->_LinkedShaders[i]->ir); - while (do_common_optimization(prog->_LinkedShaders[i]->ir, true, false, 32)) + unsigned max_unroll = ctx->ShaderCompilerOptions[i].MaxUnrollIterations; + + while (do_common_optimization(prog->_LinkedShaders[i]->ir, true, false, max_unroll)) ; } -- 2.7.4