Mesa (master): radeonsi: only count CS space for state atoms if we' re going to draw

Marek Olšák mareko at kemper.freedesktop.org
Sat May 10 12:03:01 UTC 2014


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon May  5 22:16:45 2014 +0200

radeonsi: only count CS space for state atoms if we're going to draw

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

---

 src/gallium/drivers/radeonsi/si_hw_context.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_hw_context.c b/src/gallium/drivers/radeonsi/si_hw_context.c
index d2a1dbe..e4ce3af 100644
--- a/src/gallium/drivers/radeonsi/si_hw_context.c
+++ b/src/gallium/drivers/radeonsi/si_hw_context.c
@@ -35,13 +35,13 @@ void si_need_cs_space(struct si_context *ctx, unsigned num_dw,
 	/* The number of dwords we already used in the CS so far. */
 	num_dw += ctx->b.rings.gfx.cs->cdw;
 
-	for (i = 0; i < SI_NUM_ATOMS(ctx); i++) {
-		if (ctx->atoms.array[i]->dirty) {
-			num_dw += ctx->atoms.array[i]->num_dw;
+	if (count_draw_in) {
+		for (i = 0; i < SI_NUM_ATOMS(ctx); i++) {
+			if (ctx->atoms.array[i]->dirty) {
+				num_dw += ctx->atoms.array[i]->num_dw;
+			}
 		}
-	}
 
-	if (count_draw_in) {
 		/* The number of dwords all the dirty states would take. */
 		num_dw += ctx->pm4_dirty_cdwords;
 




More information about the mesa-commit mailing list