diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index a5e316d3827..21620e5dd8c 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1850,6 +1850,10 @@ anv_image_init(struct anv_device *device, struct anv_image *image, image->from_wsi = wsi_info != NULL; image->wsi_blit_src = wsi_info && wsi_info->blit_src; + /* Non-intermediate WSI images are displayable. */ + if (wsi_info && !wsi_info->blit_src) + isl_extra_usage_flags |= ISL_SURF_USAGE_DISPLAY_BIT; + /* The Vulkan 1.2.165 glossary says: * * A disjoint image consists of multiple disjoint planes, and is created @@ -1910,10 +1914,6 @@ anv_image_init(struct anv_device *device, struct anv_image *image, isl_extra_usage_flags |= ISL_SURF_USAGE_DISABLE_AUX_BIT; } - /* Mark WSI images with the right surf usage. */ - if (image->from_wsi) - isl_extra_usage_flags |= ISL_SURF_USAGE_DISPLAY_BIT; - const VkImageFormatListCreateInfo *fmt_list = vk_find_struct_const(pCreateInfo->pNext, IMAGE_FORMAT_LIST_CREATE_INFO);