summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/draw')
-rw-r--r--src/gallium/auxiliary/draw/draw_context.c9
-rw-r--r--src/gallium/auxiliary/draw/draw_context.h7
-rw-r--r--src/gallium/auxiliary/draw/draw_private.h1
-rw-r--r--src/gallium/auxiliary/draw/draw_vs.c13
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));
+}