diff options
Diffstat (limited to 'src/mesa/pipe/draw/draw_private.h')
-rw-r--r-- | src/mesa/pipe/draw/draw_private.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/pipe/draw/draw_private.h b/src/mesa/pipe/draw/draw_private.h index 9f90dc3e26..8bcc3717c4 100644 --- a/src/mesa/pipe/draw/draw_private.h +++ b/src/mesa/pipe/draw/draw_private.h @@ -126,6 +126,7 @@ struct draw_context struct draw_stage *first; /**< one of the following */ /* stages (in logical order) */ + struct draw_stage *feedback; struct draw_stage *flatshade; struct draw_stage *clip; struct draw_stage *cull; @@ -137,10 +138,13 @@ struct draw_context /* pipe state that we need: */ struct pipe_setup_state setup; + struct pipe_feedback_state feedback; struct pipe_viewport_state viewport; struct pipe_vertex_buffer vertex_buffer[PIPE_ATTRIB_MAX]; struct pipe_vertex_element vertex_element[PIPE_ATTRIB_MAX]; struct pipe_shader_state vertex_shader; + struct pipe_vertex_buffer feedback_buffer[PIPE_ATTRIB_MAX]; + struct pipe_vertex_element feedback_element[PIPE_ATTRIB_MAX]; /** The mapped vertex element/index buffer */ const void *mapped_elts; @@ -150,6 +154,10 @@ struct draw_context /** The mapped constant buffers (for vertex shader) */ const void *mapped_constants; + /** The mapped vertex element/index buffer */ + void *mapped_feedback_buffer[PIPE_MAX_FEEDBACK_ATTRIBS]; + uint mapped_feedback_buffer_size[PIPE_MAX_FEEDBACK_ATTRIBS]; /* in bytes */ + /* Clip derived state: */ float plane[12][4]; @@ -203,6 +211,7 @@ struct draw_context +extern struct draw_stage *draw_feedback_stage( struct draw_context *context ); extern struct draw_stage *draw_unfilled_stage( struct draw_context *context ); extern struct draw_stage *draw_twoside_stage( struct draw_context *context ); extern struct draw_stage *draw_offset_stage( struct draw_context *context ); |