From: Maciej Cencora Date: Fri, 14 Aug 2009 15:04:08 +0000 (+0200) Subject: r300: remove broken vertex splitting X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cdaf63d0eac3787c2e153c91925ced5237ed7941;p=mesa.git r300: remove broken vertex splitting Revert to previous behaviour of dropping to big render operations. --- diff --git a/src/mesa/drivers/dri/r300/r300_draw.c b/src/mesa/drivers/dri/r300/r300_draw.c index 1d6e6db773d..e261d94eb05 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 196cb47fef7..26953cd9d1a 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.