-
-static void *
-softpipe_create_stream_output_state(struct pipe_context *pipe,
- const struct pipe_stream_output_state *templ)
-{
- struct sp_so_state *so;
- so = (struct sp_so_state *) CALLOC_STRUCT(sp_so_state);
-
- if (so) {
- so->base.num_outputs = templ->num_outputs;
- so->base.stride = templ->stride;
- memcpy(so->base.output_buffer,
- templ->output_buffer,
- sizeof(int) * templ->num_outputs);
- memcpy(so->base.register_index,
- templ->register_index,
- sizeof(int) * templ->num_outputs);
- memcpy(so->base.register_mask,
- templ->register_mask,
- sizeof(ubyte) * templ->num_outputs);
- }
- return so;
-}
-
-
-static void
-softpipe_bind_stream_output_state(struct pipe_context *pipe,
- void *so)
+static struct pipe_stream_output_target *
+softpipe_create_so_target(struct pipe_context *pipe,
+ struct pipe_resource *buffer,
+ unsigned buffer_offset,
+ unsigned buffer_size)