From: Dave Airlie Date: Wed, 21 Dec 2016 23:28:40 +0000 (+0000) Subject: radv/image: only touch queue family info for concurrent images. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=56020c7a7cda3831fb1fcd4318b453229ff6f91d;p=mesa.git radv/image: only touch queue family info for concurrent images. The spec says to ignore these fields for exclusive images. Fixes crashes in: dEQP-VK.clipping.* Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index a0287fcb3eb..6e03f496d4b 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -700,8 +700,10 @@ radv_image_create(VkDevice _device, image->usage = pCreateInfo->usage; image->exclusive = pCreateInfo->sharingMode == VK_SHARING_MODE_EXCLUSIVE; - for (uint32_t i = 0; i < pCreateInfo->queueFamilyIndexCount; ++i) - image->queue_family_mask |= 1u << pCreateInfo->pQueueFamilyIndices[i]; + if (pCreateInfo->sharingMode == VK_SHARING_MODE_CONCURRENT) { + for (uint32_t i = 0; i < pCreateInfo->queueFamilyIndexCount; ++i) + image->queue_family_mask |= 1u << pCreateInfo->pQueueFamilyIndices[i]; + } radv_init_surface(device, &image->surface, create_info);