Mesa (master): r300: remove broken vertex splitting

Maciej Cencora osiris at kemper.freedesktop.org
Fri Aug 14 22:53:22 UTC 2009


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

Author: Maciej Cencora <m.cencora at gmail.com>
Date:   Fri Aug 14 17:04:08 2009 +0200

r300: remove broken vertex splitting

Revert to previous behaviour of dropping to big render operations.

---

 src/mesa/drivers/dri/r300/r300_draw.c   |   13 -------------
 src/mesa/drivers/dri/r300/r300_render.c |    5 +++++
 2 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_draw.c b/src/mesa/drivers/dri/r300/r300_draw.c
index 1d6e6db..e261d94 100644
--- a/src/mesa/drivers/dri/r300/r300_draw.c
+++ b/src/mesa/drivers/dri/r300/r300_draw.c
@@ -594,25 +594,12 @@ static void r300DrawPrims(GLcontext *ctx,
 			 GLuint min_index,
 			 GLuint max_index)
 {
-	struct split_limits limits;
 	GLboolean retval;
 
-	if (ib)
-		limits.max_verts = 0xffffffff;
-	else
-		limits.max_verts = 65535;
-
-	limits.max_indices = 65535;
-	limits.max_vb_size = 1024*1024;
-
 	if (min_index) {
 		vbo_rebase_prims( ctx, arrays, prim, nr_prims, ib, min_index, max_index, r300DrawPrims );
 		return;
 	}
-	if ((ib && ib->count > 65535)) {
-		vbo_split_prims (ctx, arrays, prim, nr_prims, ib, min_index, max_index, r300DrawPrims, &limits);
-		return;
-	}
 
 	/* Make an attempt at drawing */
 	retval = r300TryDrawPrims(ctx, arrays, prim, nr_prims, ib, min_index, max_index);
diff --git a/src/mesa/drivers/dri/r300/r300_render.c b/src/mesa/drivers/dri/r300/r300_render.c
index 196cb47..26953cd 100644
--- a/src/mesa/drivers/dri/r300/r300_render.c
+++ b/src/mesa/drivers/dri/r300/r300_render.c
@@ -337,6 +337,11 @@ void r300RunRenderPrimitive(GLcontext * ctx, int start, int end, int prim)
 	if (type < 0 || num_verts <= 0)
 		return;
 
+	if (num_verts > 65535) {
+		WARN_ONCE("Can't handle more then 65535 vertices at once\n");
+		return;
+	}
+
 	/* Make space for at least 128 dwords.
 	 * This is supposed to ensure that we can get all rendering
 	 * commands into a single command buffer.




More information about the mesa-commit mailing list