summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2013-03-19 17:57:11 +0100
committerIan Romanick <[email protected]>2013-04-05 19:01:09 -0700
commite0af7648824c9c3d282aa970749cde569bdfa94b (patch)
tree99d10c1e681994a3ad4d35fbfe04bee28c6b4b75
parent0c5fa7ae0eeb09b3dfd65541f12f64e91cd30c96 (diff)
radeonsi: Emit pixel shader state even when only the vertex shader changed
Fixes random failures with piglit glsl-max-varyings. NOTE: This is a candidate for the 9.1 branch. Reviewed-by: Christian König <[email protected]> (cherry picked from commit 032e5548b3d4b5efa52359218725cb8e31b622ad)
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 8c35625bdcb..93766a38c68 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -401,6 +401,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);
}
}