From: Brian Paul Date: Tue, 20 Mar 2012 23:43:12 +0000 (-0600) Subject: glsl: propagate MaxUnrollIterations to the optimizer's loop unroller X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7feabfe23dc54960abba34755f484f786575ac49;p=mesa.git 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 --- diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 471525e9e21..8278e43adb8 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)) ; }