From 6a6f94e9ec6adfd6c6caac56818d1cf8345d8aa2 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Tue, 8 Sep 2020 09:44:43 -0700 Subject: [PATCH] anv/image: Fix isl_surf_usage_flags for stencil images Respect VkImageStencilUsageCreateInfoEXT. CC: mesa-stable@lists.freedesktop.org Reviewed-by: Lionel Landwerlin Reviewed-by: Jason Ekstrand (cherry picked from commit b50275a4b63d3da12ead2f6e57be8988223af83d) --- .pick_status.json | 2 +- src/intel/vulkan/anv_image.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 4d40cbb5bc5..7c0eeb3d88b 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1516,7 +1516,7 @@ "description": "anv/image: Fix isl_surf_usage_flags for stencil images", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index 8fc5dd80f96..d18f4c18542 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -540,14 +540,14 @@ make_surface(struct anv_device *device, anv_get_format_plane(&device->info, image->vk_format, aspect, image->tiling); struct anv_surface *anv_surf = &image->planes[plane].surface; - const isl_surf_usage_flags_t usage = - choose_isl_surf_usage(image->create_flags, image->usage, - isl_extra_usage_flags, aspect); - VkImageUsageFlags plane_vk_usage = aspect == VK_IMAGE_ASPECT_STENCIL_BIT ? image->stencil_usage : image->usage; + const isl_surf_usage_flags_t usage = + choose_isl_surf_usage(image->create_flags, plane_vk_usage, + isl_extra_usage_flags, aspect); + bool needs_shadow = anv_image_plane_needs_shadow_surface(&device->info, plane_format,