r300/compiler: Clear loop registers in vertex shaders w/o loops
authorTom Stellard <thomas.stellard@amd.com>
Fri, 13 Apr 2012 02:07:40 +0000 (22:07 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Sat, 14 Apr 2012 02:23:46 +0000 (22:23 -0400)
commit4a269a8dc0170c75ff22af3910786228727ea41e
tree572c3512ffe97f734faeff0ffcf2fc3271db7351
parent3f349d4e18d8c114a34fc3c36e1dc55345c1cc31
r300/compiler: Clear loop registers in vertex shaders w/o loops

The loop registers weren't being cleared, so any shader that was
executed after a shader containing loops was at risk of having a loop
randomly inserted into it.

This fixes over one hundred piglit tests, although these test
only failed during full piglit runs and would pass if
run individually.  The exact number of piglit tests that this patch
fixes will vary depending on the version of piglit and the order the
tests are run.

NOTE: This is a candidate for the stable branches.
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state.c