Mesa (master): radeonsi: make PARTIAL_ES_WAVE globally dependent on SWITCH_ON_EOI

Marek Olšák mareko at kemper.freedesktop.org
Fri Oct 23 22:03:24 UTC 2015


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sun Oct 18 22:17:04 2015 +0200

radeonsi: make PARTIAL_ES_WAVE globally dependent on SWITCH_ON_EOI

This catches the other cases that enable SWITCH_ON_EOI.

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_draw.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 3b606b2..3962003 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -247,13 +247,10 @@ static unsigned si_get_ia_multi_vgt_param(struct si_context *sctx,
 		/* primgroup_size must be set to a multiple of NUM_PATCHES */
 		primgroup_size = (primgroup_size / num_patches) * num_patches;
 
-		/* SWITCH_ON_EOI must be set if PrimID is used.
-		 * If SWITCH_ON_EOI is set, PARTIAL_ES_WAVE must be set too. */
+		/* SWITCH_ON_EOI must be set if PrimID is used. */
 		if ((sctx->tcs_shader.cso && sctx->tcs_shader.cso->info.uses_primid) ||
-		    sctx->tes_shader.cso->info.uses_primid) {
+		    sctx->tes_shader.cso->info.uses_primid)
 			ia_switch_on_eoi = true;
-			partial_es_wave = true;
-		}
 
 		/* Bug with tessellation and GS on Bonaire and older 2 SE chips. */
 		if ((sctx->b.family == CHIP_TAHITI ||
@@ -313,6 +310,10 @@ static unsigned si_get_ia_multi_vgt_param(struct si_context *sctx,
 		assert(wd_switch_on_eop || !ia_switch_on_eop);
 	}
 
+	/* If SWITCH_ON_EOI is set, PARTIAL_ES_WAVE must be set too. */
+	if (ia_switch_on_eoi)
+		partial_es_wave = true;
+
 	/* Hw bug with single-primitive instances and SWITCH_ON_EOI
 	 * on multi-SE chips. */
 	if (sctx->b.screen->info.max_se >= 2 && ia_switch_on_eoi &&




More information about the mesa-commit mailing list