gallium: replace prim pipeline begin/end() functions with flush()
authorBrian <brian.paul@tungstengraphics.com>
Fri, 25 Jan 2008 22:59:27 +0000 (15:59 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Sat, 26 Jan 2008 00:22:56 +0000 (17:22 -0700)
commit0bfd085e2866fbbd40209dcee23f0e6240583fe8
tree5cefec02084d42517848529161b734d73557059a
parentbd8bf60b6f2402895e7159a4df644f8a4a307cf5
gallium: replace prim pipeline begin/end() functions with flush()

This is basically half of Keith's draw/flush patch.

The stage->point/line/tri() functions are now self-validating, the validator
functions are installed by the flush() function.

There were excessive calls to validate_pipeline(), however.  This was caused
by draw_prim_queue_flush() keeping a local 'first' variable that always pointed
to the validate functions.  Replaced 'first' with 'draw->pipeline.first'.

Performance in gears is up just slightly with this patch.
19 files changed:
src/mesa/pipe/cell/ppu/cell_draw_arrays.c
src/mesa/pipe/draw/draw_clip.c
src/mesa/pipe/draw/draw_cull.c
src/mesa/pipe/draw/draw_flatshade.c
src/mesa/pipe/draw/draw_offset.c
src/mesa/pipe/draw/draw_prim.c
src/mesa/pipe/draw/draw_private.h
src/mesa/pipe/draw/draw_stipple.c
src/mesa/pipe/draw/draw_twoside.c
src/mesa/pipe/draw/draw_unfilled.c
src/mesa/pipe/draw/draw_validate.c
src/mesa/pipe/draw/draw_vbuf.c
src/mesa/pipe/draw/draw_wide_prims.c
src/mesa/pipe/i915simple/i915_prim_emit.c
src/mesa/pipe/softpipe/sp_draw_arrays.c
src/mesa/pipe/softpipe/sp_prim_setup.c
src/mesa/pipe/softpipe/sp_prim_vbuf.c
src/mesa/state_tracker/st_cb_feedback.c
src/mesa/state_tracker/st_cb_rasterpos.c