summaryrefslogtreecommitdiffstats
path: root/src/gallium/include/pipe
diff options
context:
space:
mode:
authorIlia Mirkin <[email protected]>2016-01-08 19:06:33 -0500
committerIlia Mirkin <[email protected]>2016-02-15 22:22:33 -0500
commitbceff68114d5daab7a52a42db422ec8f6dc22328 (patch)
tree7e8056076338d9320efde9d925656086ac4ceaab /src/gallium/include/pipe
parentcfbf25ac8f7bfe3e7bd9c8f55cf2c8072b7c9490 (diff)
gallium: make image views non-persistent objects
Make them akin to shader buffers, with no refcounting/etc. Just used to pass data about the bound image in ->set_shader_images. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/include/pipe')
-rw-r--r--src/gallium/include/pipe/p_context.h14
-rw-r--r--src/gallium/include/pipe/p_state.h4
2 files changed, 3 insertions, 15 deletions
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
index 78706f77479..ee68fdd6f6f 100644
--- a/src/gallium/include/pipe/p_context.h
+++ b/src/gallium/include/pipe/p_context.h
@@ -313,14 +313,14 @@ struct pipe_context {
* \param shader selects shader stage
* \param start_slot first image slot to bind.
* \param count number of consecutive images to bind.
- * \param buffers array of pointers to the images to bind, it
+ * \param buffers array of the images to bind, it
* should contain at least \a count elements
* unless it's NULL, in which case no images will
* be bound.
*/
void (*set_shader_images)(struct pipe_context *, unsigned shader,
unsigned start_slot, unsigned count,
- struct pipe_image_view **images);
+ struct pipe_image_view *images);
void (*set_vertex_buffers)( struct pipe_context *,
unsigned start_slot,
@@ -478,16 +478,6 @@ struct pipe_context {
void (*surface_destroy)(struct pipe_context *ctx,
struct pipe_surface *);
- /**
- * Create an image view into a buffer or texture to be used with load,
- * store, and atomic instructions by a shader stage.
- */
- struct pipe_image_view * (*create_image_view)(struct pipe_context *ctx,
- struct pipe_resource *texture,
- const struct pipe_image_view *templat);
-
- void (*image_view_destroy)(struct pipe_context *ctx,
- struct pipe_image_view *view);
/**
* Map a resource.
diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
index 5209afe4ad6..c568c483940 100644
--- a/src/gallium/include/pipe/p_state.h
+++ b/src/gallium/include/pipe/p_state.h
@@ -393,14 +393,12 @@ struct pipe_sampler_view
/**
- * A view into a writable buffer or texture that can be bound to a shader
+ * A description of a writable buffer or texture that can be bound to a shader
* stage.
*/
struct pipe_image_view
{
- struct pipe_reference reference;
struct pipe_resource *resource; /**< resource into which this is a view */
- struct pipe_context *context; /**< context this view belongs to */
enum pipe_format format; /**< typed PIPE_FORMAT_x */
union {