diff options
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_pt_so_emit.c | 2 | ||||
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vbuf.h | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_pt_so_emit.c b/src/gallium/auxiliary/draw/draw_pt_so_emit.c index b982e4c529c..8a065a378be 100644 --- a/src/gallium/auxiliary/draw/draw_pt_so_emit.c +++ b/src/gallium/auxiliary/draw/draw_pt_so_emit.c @@ -163,6 +163,8 @@ void draw_pt_so_emit( struct pt_so_emit *emit, stride, ~0); translate->run(translate, 0, vertex_count, draw->instance_id, so_buffer); + + render->set_stream_output_info(render, 0, vertex_count); } diff --git a/src/gallium/auxiliary/draw/draw_vbuf.h b/src/gallium/auxiliary/draw/draw_vbuf.h index 83ae26a9c2b..8d9768246ed 100644 --- a/src/gallium/auxiliary/draw/draw_vbuf.h +++ b/src/gallium/auxiliary/draw/draw_vbuf.h @@ -117,6 +117,14 @@ struct vbuf_render { void (*release_vertices)( struct vbuf_render * ); void (*destroy)( struct vbuf_render * ); + + + /** + * Called after writing data to the stream out buffers + */ + void (*set_stream_output_info)( struct vbuf_render *vbufr, + unsigned buffer_index, + unsigned vertices_count ); }; |