From 71a1b54b33d2c1db1a0576943c31ae9adaf8d5e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Fri, 11 Mar 2016 20:04:19 -0500 Subject: [PATCH] gallium: add access field to pipe_image_view MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/gallium/include/pipe/p_defines.h | 8 ++++++++ src/gallium/include/pipe/p_state.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) 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 { -- 2.30.2