i965: re-enable gen6 IF statements in the fragment shader.
authorEric Anholt <eric@anholt.net>
Mon, 11 Oct 2010 23:02:08 +0000 (16:02 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 10 Nov 2010 21:33:27 +0000 (13:33 -0800)
commit9effc1adf1e7ba57fb3b10909762b76c1ae12f61
tree1b161d688145ffcbcb6f7adf2ce3e858f2610127
parent490c23ee6be2e8531b5a14d42f808de83d401130
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).
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_fs.cpp