Mesa (master): anv: Declare anv_layout_to_* as pure functions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 8 14:38:25 UTC 2021


Module: Mesa
Branch: master
Commit: 13498cdd346c277456dee0af2775164d6be35703
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=13498cdd346c277456dee0af2775164d6be35703

Author: Chad Versace <chad at kiwitree.net>
Date:   Mon Mar 22 21:23:43 2021 -0700

anv: Declare anv_layout_to_* as pure functions

Because I want the compiler to eliminate some function calls in
transition_color_buffer() that produce unused return values. Let's hope
the compiler gets the hint.

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1466>

---

 src/intel/vulkan/anv_image.c   | 6 +++---
 src/intel/vulkan/anv_private.h | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c
index 1ef5c02d001..49c7e2f806b 100644
--- a/src/intel/vulkan/anv_image.c
+++ b/src/intel/vulkan/anv_image.c
@@ -1881,7 +1881,7 @@ vk_image_layout_is_read_only(VkImageLayout layout,
  *
  * @return The primary buffer that should be used for the given layout.
  */
-enum isl_aux_state
+enum isl_aux_state ATTRIBUTE_PURE
 anv_layout_to_aux_state(const struct gen_device_info * const devinfo,
                         const struct anv_image * const image,
                         const VkImageAspectFlagBits aspect,
@@ -2067,7 +2067,7 @@ anv_layout_to_aux_state(const struct gen_device_info * const devinfo,
  *
  * @return The primary buffer that should be used for the given layout.
  */
-enum isl_aux_usage
+enum isl_aux_usage ATTRIBUTE_PURE
 anv_layout_to_aux_usage(const struct gen_device_info * const devinfo,
                         const struct anv_image * const image,
                         const VkImageAspectFlagBits aspect,
@@ -2134,7 +2134,7 @@ anv_layout_to_aux_usage(const struct gen_device_info * const devinfo,
  * @param usage The usage which describes how the image will be accessed.
  * @param layout The current layout of the image aspect(s).
  */
-enum anv_fast_clear_type
+enum anv_fast_clear_type ATTRIBUTE_PURE
 anv_layout_to_fast_clear_type(const struct gen_device_info * const devinfo,
                               const struct anv_image * const image,
                               const VkImageAspectFlagBits aspect,
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index c0100f12a68..6f7f1155bad 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -4016,20 +4016,20 @@ anv_image_copy_to_shadow(struct anv_cmd_buffer *cmd_buffer,
                          uint32_t base_level, uint32_t level_count,
                          uint32_t base_layer, uint32_t layer_count);
 
-enum isl_aux_state
+enum isl_aux_state ATTRIBUTE_PURE
 anv_layout_to_aux_state(const struct gen_device_info * const devinfo,
                         const struct anv_image *image,
                         const VkImageAspectFlagBits aspect,
                         const VkImageLayout layout);
 
-enum isl_aux_usage
+enum isl_aux_usage ATTRIBUTE_PURE
 anv_layout_to_aux_usage(const struct gen_device_info * const devinfo,
                         const struct anv_image *image,
                         const VkImageAspectFlagBits aspect,
                         const VkImageUsageFlagBits usage,
                         const VkImageLayout layout);
 
-enum anv_fast_clear_type
+enum anv_fast_clear_type ATTRIBUTE_PURE
 anv_layout_to_fast_clear_type(const struct gen_device_info * const devinfo,
                               const struct anv_image * const image,
                               const VkImageAspectFlagBits aspect,



More information about the mesa-commit mailing list