auxiliary: move Ben Skeggs' primitive splitter to common code
authorLuca Barbieri <luca@luca-barbieri.com>
Wed, 11 Aug 2010 08:46:12 +0000 (10:46 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Wed, 11 Aug 2010 09:08:46 +0000 (11:08 +0200)
commit0dcf0f9dfaa23b08d2bc20f8cbd02550c2632e52
tree8b56cdcac948fc4648a0cda4a19a4e80cb6dbefe
parent0578acbe18cf940850c9a94f2fd96f4602dd03bf
auxiliary: move Ben Skeggs' primitive splitter to common code

This is a simple framework that handles splitting primitives in an
abstract way.

The user has to specify the primitive start, start index and count.

Then, it can ask the primitive splitter to "draw" a chunk of the
primitive, staying under a given vertex/index budget.

The primitive splitter will then call user-supplied functions to
emit a range of vertices/indices, as well as switch the edgeflag
on or off.

This is particularly useful for hardware that either has limits
on the vertex count field, or where vertices are pushed on a FIFO
or temporary buffer of limited size.

Note that unlike other splitters, it does not manipulate data in
any way, and merely asks a callback to do so, in vertex intervals.
src/gallium/auxiliary/util/u_split_prim.h [new file with mode: 0644]
src/gallium/drivers/nouveau/nouveau_util.h
src/gallium/drivers/nv50/nv50_push.c
src/gallium/drivers/nv50/nv50_vbo.c