summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_prim_vbuf.c
diff options
context:
space:
mode:
authorZack Rusin <zack@kde.org>2010-06-01 12:47:23 -0400
committerZack Rusin <zackr@vmware.com>2010-06-08 06:28:11 -0400
commit2c22b8e61dc4adab658c6198feea30c006aa6c58 (patch)
tree7d418ff65d704472a58722b14ae0987b621b6efa /src/gallium/drivers/softpipe/sp_prim_vbuf.c
parentba5975dd3274a3cc760e79dabaf9c11b96673f4a (diff)
gallium: make draw auto work and add relevant caps and docs
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_prim_vbuf.c')
-rw-r--r--src/gallium/drivers/softpipe/sp_prim_vbuf.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/drivers/softpipe/sp_prim_vbuf.c b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
index db0d175510..06691e8395 100644
--- a/src/gallium/drivers/softpipe/sp_prim_vbuf.c
+++ b/src/gallium/drivers/softpipe/sp_prim_vbuf.c
@@ -542,6 +542,15 @@ sp_vbuf_draw_arrays(struct vbuf_render *vbr, uint start, uint nr)
}
}
+static void
+sp_vbuf_so_info(struct vbuf_render *vbr, uint buffer, uint vertices)
+{
+ struct softpipe_vbuf_render *cvbr = softpipe_vbuf_render(vbr);
+ struct softpipe_context *softpipe = cvbr->softpipe;
+
+ softpipe->so_target.so_count[buffer] += vertices;
+}
+
static void
sp_vbuf_destroy(struct vbuf_render *vbr)
@@ -575,6 +584,7 @@ sp_create_vbuf_backend(struct softpipe_context *sp)
cvbr->base.draw_elements = sp_vbuf_draw_elements;
cvbr->base.draw_arrays = sp_vbuf_draw_arrays;
cvbr->base.release_vertices = sp_vbuf_release_vertices;
+ cvbr->base.set_stream_output_info = sp_vbuf_so_info;
cvbr->base.destroy = sp_vbuf_destroy;
cvbr->softpipe = sp;