ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

void vbo_split_prims ( GLcontext *  ctx,
const struct gl_client_array arrays[],
const struct _mesa_prim prim,
GLuint  nr_prims,
const struct _mesa_index_buffer ib,
GLuint  min_index,
GLuint  max_index,
vbo_draw_func  draw,
const struct split_limits limits 
)

Definition at line 100 of file vbo_split.c.

Referenced by _tnl_draw_prims().

{
  
   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);
      }
      else if (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 );
      }
      else if (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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.