radeonsi: Emit pixel shader state even when only the vertex shader changed
authorMichel Dänzer <michel.daenzer@amd.com>
Tue, 19 Mar 2013 16:57:11 +0000 (17:57 +0100)
committerMichel Dänzer <michel@daenzer.net>
Thu, 21 Mar 2013 14:12:31 +0000 (15:12 +0100)
Fixes random failures with piglit glsl-max-varyings.

NOTE: This is a candidate for the 9.1 branch.

Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/drivers/radeonsi/si_state_draw.c

index 1049d2b5ccc32e4676d07af9c59c13951c00ee9b..a78751bf80244ad9d10c8c65f178604cbe829694 100644 (file)
@@ -404,6 +404,11 @@ static void si_update_derived_state(struct r600_context *rctx)
        }
 
        if (si_pm4_state_changed(rctx, ps) || si_pm4_state_changed(rctx, vs)) {
+               /* XXX: Emitting the PS state even when only the VS changed
+                * fixes random failures with piglit glsl-max-varyings.
+                * Not sure why...
+                */
+               rctx->emitted.named.ps = NULL;
                si_update_spi_map(rctx);
        }
 }