From: Nicolai Hähnle Date: Sat, 12 Mar 2016 01:04:19 +0000 (-0500) Subject: gallium: add access field to pipe_image_view X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=71a1b54b33d2c1db1a0576943c31ae9adaf8d5e2;p=mesa.git gallium: add access field to pipe_image_view This allows drivers to make smarter decisions e.g. about whether the image has to be decompressed. Reviewed-by: Ilia Mirkin Reviewed-by: Marek Olšák --- diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h index a490b3b98ea..bdd76ab1f81 100644 --- a/src/gallium/include/pipe/p_defines.h +++ b/src/gallium/include/pipe/p_defines.h @@ -540,6 +540,14 @@ enum pipe_reset_status #define PIPE_HANDLE_USAGE_READ_WRITE (PIPE_HANDLE_USAGE_READ | \ PIPE_HANDLE_USAGE_WRITE) +/** + * pipe_image_view access flags. + */ +#define PIPE_IMAGE_ACCESS_READ (1 << 0) +#define PIPE_IMAGE_ACCESS_WRITE (1 << 1) +#define PIPE_IMAGE_ACCESS_READ_WRITE (PIPE_IMAGE_ACCESS_READ | \ + PIPE_IMAGE_ACCESS_WRITE) + /** * Implementation capabilities/limits which are queried through * pipe_screen::get_param() diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h index c568c483940..2e720ce25f3 100644 --- a/src/gallium/include/pipe/p_state.h +++ b/src/gallium/include/pipe/p_state.h @@ -393,13 +393,14 @@ struct pipe_sampler_view /** - * A description of a writable buffer or texture that can be bound to a shader + * A description of a buffer or texture image that can be bound to a shader * stage. */ struct pipe_image_view { struct pipe_resource *resource; /**< resource into which this is a view */ enum pipe_format format; /**< typed PIPE_FORMAT_x */ + unsigned access; /**< PIPE_IMAGE_ACCESS_x */ union { struct {