hasvk: make sure aux is disabled for memory objects
Cc: mesa-stable Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27948>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user