Module: Mesa Branch: master Commit: 1ef0fd3b70965609ade283477efdab985b27a86e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ef0fd3b70965609ade283477efdab985b27a86e
Author: Chad Versace <[email protected]> Date: Mon Dec 14 22:02:27 2020 -0800 anv: Refactor anv_image_get_compression_state_addr Reduces noise in the path that introduces anv_image_mem_range. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8097> --- src/intel/vulkan/anv_private.h | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 8fb8ce9fa16..c0e436186ea 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -3936,21 +3936,25 @@ anv_image_get_compression_state_addr(const struct anv_device *device, UNUSED uint32_t plane = anv_image_aspect_to_plane(image->aspects, aspect); assert(image->planes[plane].aux_usage == ISL_AUX_USAGE_CCS_E); - struct anv_address addr = - anv_image_get_fast_clear_type_addr(device, image, aspect); - addr.offset += 4; /* Go past the fast clear type */ + /* Relative to start of the plane's fast clear memory range */ + uint32_t offset; + + offset = 4; /* Go past the fast clear type */ if (image->type == VK_IMAGE_TYPE_3D) { for (uint32_t l = 0; l < level; l++) - addr.offset += anv_minify(image->extent.depth, l) * 4; + offset += anv_minify(image->extent.depth, l) * 4; } else { - addr.offset += level * image->array_size * 4; + offset += level * image->array_size * 4; } - addr.offset += array_layer * 4; - assert(addr.offset < - image->planes[plane].address.offset + image->planes[plane].size); - return addr; + offset += array_layer * 4; + + assert(offset < image->planes[plane].offset + image->planes[plane].size); + + return anv_address_add( + anv_image_get_fast_clear_type_addr(device, image, aspect), + offset); } /* Returns true if a HiZ-enabled depth buffer can be sampled from. */ _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
