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