mesa: Don't flatten IF statements by default.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 20 Sep 2012 21:27:29 +0000 (14:27 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 16 Oct 2012 19:01:39 +0000 (12:01 -0700)
MaxIfDepth of 0 means "flatten all the time", not "never flatten".
This is only desirable on hardware that can't support control flow;
software rasterization and most hardware drivers want this.

This alters behavior for swrast as well as i915.  Tested on i915.

NOTE: This is a candidate for stable release branches.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/main/shaderapi.c

index 6ee41f2b63e76e1a0f435d8d94ab3b92617d8f4e..d40a35376701a04caccba8860f70f29cbe030cf3 100644 (file)
@@ -105,6 +105,7 @@ _mesa_init_shader_state(struct gl_context *ctx)
 
    memset(&options, 0, sizeof(options));
    options.MaxUnrollIterations = 32;
+   options.MaxIfDepth = UINT_MAX;
 
    /* Default pragma settings */
    options.DefaultPragmas.Optimize = GL_TRUE;