Mesa (master): radeonsi: Emit pixel shader state even when only the vertex shader changed

Michel Dänzer daenzer at kemper.freedesktop.org
Thu Mar 21 14:26:11 UTC 2013


Module: Mesa
Branch: master
Commit: 032e5548b3d4b5efa52359218725cb8e31b622ad
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=032e5548b3d4b5efa52359218725cb8e31b622ad

Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Mar 19 17:57:11 2013 +0100

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 <christian.koenig at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_draw.c |    5 +++++
 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 1049d2b..a78751b 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -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);
 	}
 }




More information about the mesa-commit mailing list