summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/r300/r300_draw.c
diff options
context:
space:
mode:
authorMaciej Cencora <[email protected]>2009-06-29 19:50:39 +0200
committerMaciej Cencora <[email protected]>2009-07-05 15:22:37 +0200
commit6fff62ee3fdbfe7d8ba15d3ad001f9afd120c307 (patch)
treeaa415e405509e686722f276fbe6ccd671a20b3ed /src/mesa/drivers/dri/r300/r300_draw.c
parent862488075c5537b0613753b0d14c267527fc6199 (diff)
r300: fix vertex limits
- don't limit vertex count if we are using indices - max indices count is 65535 not 65536 - remove some comments that don't apply anymore - remove unreachable code
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_draw.c')
-rw-r--r--src/mesa/drivers/dri/r300/r300_draw.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_draw.c b/src/mesa/drivers/dri/r300/r300_draw.c
index 92bb0ee3385..20fe8dbf17f 100644
--- a/src/mesa/drivers/dri/r300/r300_draw.c
+++ b/src/mesa/drivers/dri/r300/r300_draw.c
@@ -442,8 +442,6 @@ static GLboolean r300TryDrawPrims(GLcontext *ctx,
return GL_TRUE;
}
-/* TODO: rebase if number of indices in any of primitives is > 8192 for 32bit indices or 16384 for 16bit indices */
-
static void r300DrawPrims(GLcontext *ctx,
const struct gl_client_array *arrays[],
const struct _mesa_prim *prim,
@@ -455,7 +453,11 @@ static void r300DrawPrims(GLcontext *ctx,
struct split_limits limits;
GLboolean retval;
- limits.max_verts = 65535;
+ if (ib)
+ limits.max_verts = 0xffffffff;
+ else
+ limits.max_verts = 65535;
+
limits.max_indices = 65535;
limits.max_vb_size = 1024*1024;
@@ -463,7 +465,7 @@ static void r300DrawPrims(GLcontext *ctx,
vbo_rebase_prims( ctx, arrays, prim, nr_prims, ib, min_index, max_index, r300DrawPrims );
return;
}
- if ((ib && ib->count > 65536)) {
+ if ((ib && ib->count > 65535)) {
vbo_split_prims (ctx, arrays, prim, nr_prims, ib, min_index, max_index, r300DrawPrims, &limits);
return;
}