diff options
author | Eric Anholt <eric@anholt.net> | 2010-10-11 16:02:08 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-11-10 13:33:27 -0800 |
commit | 9effc1adf1e7ba57fb3b10909762b76c1ae12f61 (patch) | |
tree | 1b161d688145ffcbcb6f7adf2ce3e858f2610127 /src/mesa/drivers/dri/i965/brw_context.c | |
parent | 490c23ee6be2e8531b5a14d42f808de83d401130 (diff) |
i965: re-enable gen6 IF statements in the fragment shader.
IF statements were getting flattened while they were broken. With
Zhenyu's last fix for ENDIF's type, everything appears to have lined
up to actually work.
This regresses two tests:
glsl1-! (not) operator (1, fail)
glsl1-! (not) operator (1, pass)
but fixes tests that couldn't work before because the IFs couldn't be
flattened:
glsl-fs-discard-01
occlusion-query-discard
(and, naturally, this should be a performance improvement for apps
that actually use IF statements to avoid executing a bunch of code).
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_context.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index 3c4ae8a7a4..cb0a8b96c9 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -124,7 +124,7 @@ GLboolean brwCreateContext( int api, (i == MESA_SHADER_FRAGMENT); if (intel->gen == 6) - ctx->ShaderCompilerOptions[i].EmitNoIfs = GL_TRUE; + ctx->ShaderCompilerOptions[i].EmitNoIfs = (i == MESA_SHADER_VERTEX); } ctx->Const.VertexProgram.MaxNativeInstructions = (16 * 1024); |