Mesa (master): radv/image: only touch queue family info for concurrent images.

Dave Airlie airlied at kemper.freedesktop.org
Wed Dec 21 23:33:40 UTC 2016


Module: Mesa
Branch: master
Commit: 56020c7a7cda3831fb1fcd4318b453229ff6f91d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56020c7a7cda3831fb1fcd4318b453229ff6f91d

Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Dec 21 23:28:40 2016 +0000

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 <bas at basnieuwenhuizen.nl>
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 a0287fc..6e03f49 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);
 




More information about the mesa-commit mailing list