Mesa (master): r300: Add missing pre_emit_count to swtcl state size prediction.

Pauli Nieminen suokko at kemper.freedesktop.org
Sat Aug 29 15:41:01 UTC 2009


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

Author: Pauli Nieminen <suokkos at gmail.com>
Date:   Sat Aug 29 18:38:30 2009 +0300

r300: Add missing pre_emit_count to swtcl state size prediction.

---

 src/mesa/drivers/dri/r300/r300_swtcl.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_swtcl.c b/src/mesa/drivers/dri/r300/r300_swtcl.c
index e4a56ca..45dfbf2 100644
--- a/src/mesa/drivers/dri/r300/r300_swtcl.c
+++ b/src/mesa/drivers/dri/r300/r300_swtcl.c
@@ -248,18 +248,19 @@ static void r300_predict_emit_size( r300ContextPtr rmesa )
 		const int vertex_size = 7;
 		const int prim_size = 3;
 		const int cache_flush_size = 4;
+		const int pre_emit_state = 4;
 		const int state_size = radeonCountStateEmitSize(&rmesa->radeon);
 
 		if (rcommonEnsureCmdBufSpace(&rmesa->radeon,
-					state_size +
-					+ vertex_size + prim_size,
+					state_size + pre_emit_state
+					+ vertex_size + prim_size + cache_flush_size * 2,
 					__FUNCTION__))
 			rmesa->radeon.swtcl.emit_prediction = radeonCountStateEmitSize(&rmesa->radeon);
 		else
 			rmesa->radeon.swtcl.emit_prediction = state_size;
 
 		rmesa->radeon.swtcl.emit_prediction += rmesa->radeon.cmdbuf.cs->cdw
-			+ vertex_size + prim_size + cache_flush_size * 2;
+			+ vertex_size + prim_size + cache_flush_size * 2 + pre_emit_state;
 	}
 }
 




More information about the mesa-commit mailing list