summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_private.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-04-19 16:39:24 +0100
committerKeith Whitwell <keith@tungstengraphics.com>2008-04-19 16:39:43 +0100
commitbee1d31641674c67676de86fbb4b35ca5bf7f33f (patch)
tree2a375604b098e0feddc4e094521e368b5f2c4639 /src/gallium/auxiliary/draw/draw_private.h
parentc898eae27221bd23b11327553c215a94369eeb99 (diff)
draw: move pt_pipeline code to draw_pipe.c
This is now the drawing interface to the pipeline. No more calling into pipeline.first->tri(), etc.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_private.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h
index b2b2f82b8f..4d123cf8d9 100644
--- a/src/gallium/auxiliary/draw/draw_private.h
+++ b/src/gallium/auxiliary/draw/draw_private.h
@@ -128,6 +128,11 @@ struct draw_context
boolean line_stipple; /**< do line stipple? */
boolean point_sprite; /**< convert points to quads for sprites? */
+ /* Temporary storage while the pipeline is being run:
+ */
+ char *verts;
+ unsigned vertex_stride;
+ unsigned vertex_count;
} pipeline;
@@ -144,13 +149,6 @@ struct draw_context
struct {
struct draw_pt_front_end *vcache;
} front;
-
- struct {
- char *verts;
- unsigned vertex_stride;
- unsigned vertex_count;
- } pipeline;
-
} pt;
boolean flushing;
@@ -235,10 +233,22 @@ void draw_pt_reset_vertex_ids( struct draw_context *draw );
boolean draw_pipeline_init( struct draw_context *draw );
void draw_pipeline_destroy( struct draw_context *draw );
+void draw_pipeline_run( struct draw_context *draw,
+ unsigned prim,
+ struct vertex_header *vertices,
+ unsigned vertex_count,
+ unsigned stride,
+ const ushort *elts,
+ unsigned count );
+
boolean draw_need_pipeline(const struct draw_context *draw,
unsigned prim );
+/*******************************************************************************
+ * Flushing
+ */
+
#define DRAW_FLUSH_STATE_CHANGE 0x8
#define DRAW_FLUSH_BACKEND 0x10