diff options
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.c | 9 | ||||
-rw-r--r-- | src/gallium/auxiliary/draw/draw_context.h | 7 | ||||
-rw-r--r-- | src/gallium/auxiliary/draw/draw_private.h | 1 | ||||
-rw-r--r-- | src/gallium/auxiliary/draw/draw_vs.c | 13 |
4 files changed, 16 insertions, 14 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index bb56f1bdee5..2fb9bacf4c6 100644 --- a/src/gallium/auxiliary/draw/draw_context.c +++ b/src/gallium/auxiliary/draw/draw_context.c @@ -735,15 +735,6 @@ draw_set_mapped_so_targets(struct draw_context *draw, } void -draw_set_so_state(struct draw_context *draw, - struct pipe_stream_output_info *state) -{ - memcpy(&draw->so.state, - state, - sizeof(struct pipe_stream_output_info)); -} - -void draw_set_sampler_views(struct draw_context *draw, unsigned shader_stage, struct pipe_sampler_view **views, diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h index 426fd44f5eb..1d25b7f255e 100644 --- a/src/gallium/auxiliary/draw/draw_context.h +++ b/src/gallium/auxiliary/draw/draw_context.h @@ -171,6 +171,9 @@ void draw_bind_vertex_shader(struct draw_context *draw, struct draw_vertex_shader *dvs); void draw_delete_vertex_shader(struct draw_context *draw, struct draw_vertex_shader *dvs); +void draw_vs_attach_so(struct draw_vertex_shader *dvs, + const struct pipe_stream_output_info *info); +void draw_vs_reset_so(struct draw_vertex_shader *dvs); /* @@ -226,10 +229,6 @@ 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); - /*********************************************************************** * draw_pt.c diff --git a/src/gallium/auxiliary/draw/draw_private.h b/src/gallium/auxiliary/draw/draw_private.h index 5063c3c8f64..757ed2645ef 100644 --- a/src/gallium/auxiliary/draw/draw_private.h +++ b/src/gallium/auxiliary/draw/draw_private.h @@ -279,7 +279,6 @@ struct draw_context /** Stream output (vertex feedback) state */ struct { - struct pipe_stream_output_info state; struct draw_so_target *targets[PIPE_MAX_SO_BUFFERS]; uint num_targets; } so; diff --git a/src/gallium/auxiliary/draw/draw_vs.c b/src/gallium/auxiliary/draw/draw_vs.c index 266cca713e1..afec3760e77 100644 --- a/src/gallium/auxiliary/draw/draw_vs.c +++ b/src/gallium/auxiliary/draw/draw_vs.c @@ -245,3 +245,16 @@ draw_vs_get_emit( struct draw_context *draw, return draw->vs.emit; } + +void +draw_vs_attach_so(struct draw_vertex_shader *dvs, + const struct pipe_stream_output_info *info) +{ + dvs->state.stream_output = *info; +} + +void +draw_vs_reset_so(struct draw_vertex_shader *dvs) +{ + memset(&dvs->state.stream_output, 0, sizeof(dvs->state.stream_output)); +} |