From 9d18cde8ed1160041f6a2b69ec69c965deef12fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Mon, 4 Mar 2024 07:35:04 +0200 Subject: [PATCH] hasvk: make sure aux is disabled for memory objects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: mesa-stable Signed-off-by: Tapani Pälli Reviewed-by: Lionel Landwerlin Part-of: --- src/intel/vulkan_hasvk/anv_image.c | 12 ++++++------ src/intel/vulkan_hasvk/anv_private.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/intel/vulkan_hasvk/anv_image.c b/src/intel/vulkan_hasvk/anv_image.c index 2ff3fadb858..74bced161f7 100644 --- a/src/intel/vulkan_hasvk/anv_image.c +++ b/src/intel/vulkan_hasvk/anv_image.c @@ -1031,11 +1031,6 @@ add_all_surfaces_implicit_layout( return result; } - /* Disable aux if image supports export without modifiers. */ - if (image->vk.external_handle_types != 0 && - image->vk.tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) - continue; - result = add_aux_surface_if_supported(device, image, plane, plane_format, format_list_info, ANV_OFFSET_IMPLICIT, stride, @@ -1214,7 +1209,7 @@ alloc_private_binding(struct anv_device *device, VkResult anv_image_init(struct anv_device *device, struct anv_image *image, - const struct anv_image_create_info *create_info) + struct anv_image_create_info *create_info) { const VkImageCreateInfo *pCreateInfo = create_info->vk_info; const struct VkImageDrmFormatModifierExplicitCreateInfoEXT *mod_explicit_info = NULL; @@ -1276,6 +1271,11 @@ anv_image_init(struct anv_device *device, struct anv_image *image, image->disjoint = image->n_planes > 1 && (pCreateInfo->flags & VK_IMAGE_CREATE_DISJOINT_BIT); + /* Disable aux if image supports export without modifiers. */ + if (image->vk.external_handle_types != 0 && + image->vk.tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) + create_info->isl_extra_usage_flags |= ISL_SURF_USAGE_DISABLE_AUX_BIT; + const isl_tiling_flags_t isl_tiling_flags = choose_isl_tiling_flags(device->info, create_info, isl_mod_info, image->vk.wsi_legacy_scanout); diff --git a/src/intel/vulkan_hasvk/anv_private.h b/src/intel/vulkan_hasvk/anv_private.h index 2dd1570f097..5c6d0fea238 100644 --- a/src/intel/vulkan_hasvk/anv_private.h +++ b/src/intel/vulkan_hasvk/anv_private.h @@ -3618,7 +3618,7 @@ struct anv_image_create_info { }; VkResult anv_image_init(struct anv_device *device, struct anv_image *image, - const struct anv_image_create_info *create_info); + struct anv_image_create_info *create_info); void anv_image_finish(struct anv_image *image);