Mesa (master): noop: implement stream output
Christoph Bumiller
chrisbmr at kemper.freedesktop.org
Thu Dec 15 18:28:31 UTC 2011
Module: Mesa
Branch: master
Commit: 6a00e4eaee19cdbc8423e53c22fc8a1d7fdd68dd
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a00e4eaee19cdbc8423e53c22fc8a1d7fdd68dd
Author: Marek Olšák <maraeo at gmail.com>
Date: Sat Nov 19 21:44:27 2011 +0100
noop: implement stream output
---
src/gallium/drivers/noop/noop_state.c | 35 +++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/gallium/drivers/noop/noop_state.c b/src/gallium/drivers/noop/noop_state.c
index 58ea8be..9d8dbfc 100644
--- a/src/gallium/drivers/noop/noop_state.c
+++ b/src/gallium/drivers/noop/noop_state.c
@@ -124,6 +124,7 @@ static struct pipe_surface *noop_create_surface(struct pipe_context *ctx,
return surface;
}
+
static void noop_set_vs_sampler_view(struct pipe_context *ctx, unsigned count,
struct pipe_sampler_view **views)
{
@@ -244,6 +245,37 @@ static void *noop_create_shader_state(struct pipe_context *ctx,
return nstate;
}
+static struct pipe_stream_output_target *noop_create_stream_output_target(
+ struct pipe_context *ctx,
+ struct pipe_resource *res,
+ unsigned buffer_offset,
+ unsigned buffer_size)
+{
+ struct pipe_stream_output_target *t = CALLOC_STRUCT(pipe_stream_output_target);
+ if (!t)
+ return NULL;
+
+ pipe_reference_init(&t->reference, 1);
+ pipe_resource_reference(&t->buffer, res);
+ t->buffer_offset = buffer_offset;
+ t->buffer_size = buffer_size;
+ return t;
+}
+
+static void noop_stream_output_target_destroy(struct pipe_context *ctx,
+ struct pipe_stream_output_target *t)
+{
+ pipe_resource_reference(&t->buffer, NULL);
+ FREE(t);
+}
+
+static void noop_set_stream_output_targets(struct pipe_context *ctx,
+ unsigned num_targets,
+ struct pipe_stream_output_target **targets,
+ unsigned append_bitmask)
+{
+}
+
void noop_init_state_functions(struct pipe_context *ctx);
void noop_init_state_functions(struct pipe_context *ctx)
@@ -289,4 +321,7 @@ void noop_init_state_functions(struct pipe_context *ctx)
ctx->surface_destroy = noop_surface_destroy;
ctx->draw_vbo = noop_draw_vbo;
ctx->redefine_user_buffer = u_default_redefine_user_buffer;
+ ctx->create_stream_output_target = noop_create_stream_output_target;
+ ctx->stream_output_target_destroy = noop_stream_output_target_destroy;
+ ctx->set_stream_output_targets = noop_set_stream_output_targets;
}
More information about the mesa-commit
mailing list