diff --git a/.pick_status.json b/.pick_status.json index 2239f590b26..ae2517d84c3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1164,7 +1164,7 @@ "description": "anv: Don't set the display flag on WSI blit sources", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "2c00b7d1e6ef86ce750228f7be79da377a5f53db", "notes": null diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 56efa88408c..15f1219ddbe 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1842,6 +1842,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 @@ -1902,10 +1906,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);