diff options
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_context.h')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index 7655ad0a90d..02c176e8f4b 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -50,7 +50,18 @@ struct draw_fragment_shader; struct tgsi_sampler; struct gallivm_state; - +/* + * structure to contain driver internal information + * for stream out support. mapping stores the pointer + * to the buffer contents, and internal offset stores + * stores an internal counter to how much of the stream + * out buffer is used (in bytes). + */ +struct draw_so_target { + struct pipe_stream_output_target target; + void *mapping; + int internal_offset; +}; struct draw_context *draw_create( struct pipe_context *pipe ); @@ -202,6 +213,12 @@ void draw_set_mapped_so_buffers(struct draw_context *draw, void *buffers[PIPE_MAX_SO_BUFFERS], unsigned num_buffers); + +void +draw_set_mapped_so_targets(struct draw_context *draw, + int num_targets, + struct draw_so_target *targets[PIPE_MAX_SO_BUFFERS]); + void draw_set_so_state(struct draw_context *draw, struct pipe_stream_output_info *state); |