{
if (ib) {
if (limits->max_indices == 0) {
/* Could traverse the indices, re-emitting vertices in turn. * But it's hard to see why this case would be needed - for * software tnl, it is better to convert to non-indexed * rendering after transformation is complete, as is done in * the t_dd_rendertmp.h templates. Are there any devices * with hardware tnl that cannot do indexed rendering? * * For now, this path is disabled. */assert(0);
}
elseif (max_index - min_index >= limits->max_verts) {
/* The vertex buffers are too large for hardware (or the * swtnl module). Traverse the indices, re-emitting vertices * in turn. Use a vertex cache to preserve some of the * sharing from the original index list. */vbo_split_copy(ctx, arrays, prim, nr_prims, ib,
draw, limits );
}
elseif (ib->count > limits->max_indices) {
/* The index buffer is too large for hardware. Try to split * on whole-primitive boundaries, otherwise try to split the * individual primitives. */vbo_split_inplace(ctx, arrays, prim, nr_prims, ib,
min_index, max_index, draw, limits );
}
else {
/* Why were we called? */assert(0);
}
}
else {
if (max_index - min_index >= limits->max_verts) {
/* The vertex buffer is too large for hardware (or the swtnl * module). Try to split on whole-primitive boundaries, * otherwise try to split the individual primitives. */vbo_split_inplace(ctx, arrays, prim, nr_prims, ib,
min_index, max_index, draw, limits );
}
else {
/* Why were we called? */assert(0);
}
}
}
Generated on Sat May 26 2012 04:58:46 for ReactOS by
1.7.6.1
ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.