summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/draw/draw_private.h')
-rw-r--r--src/mesa/pipe/draw/draw_private.h9
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 );