[Mesa-dev] [PATCH] radv/image: only touch queue family info for concurrent images.

Dave Airlie airlied at gmail.com
Wed Dec 21 23:30:17 UTC 2016


From: Dave Airlie <airlied at redhat.com>

The spec says to ignore these fields for exclusive images.

Fixes crashes in:
dEQP-VK.clipping.*

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/vulkan/radv_image.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c
index fee4f14..8a01ea8 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);
 
-- 
2.7.4



More information about the mesa-dev mailing list