From 0dd40a6100a0be62a504a67f4426b7a0d304ed5b Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Wed, 14 Feb 2018 14:39:46 -0800 Subject: layers: add GetDeviceQueue2() support This change add GetDeviceQueue2() support to object tracker and core validation layers. --- layers/object_tracker_utils.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'layers/object_tracker_utils.cpp') diff --git a/layers/object_tracker_utils.cpp b/layers/object_tracker_utils.cpp index 177c1455..e5005646 100644 --- a/layers/object_tracker_utils.cpp +++ b/layers/object_tracker_utils.cpp @@ -446,6 +446,20 @@ VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(VkDevice device, uint32_t queueFamilyI AddQueueInfo(device, queueFamilyIndex, *pQueue); } +VKAPI_ATTR void VKAPI_CALL GetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue) { + std::unique_lock lock(global_lock); + ValidateObject(device, device, kVulkanObjectTypeDevice, false, VALIDATION_ERROR_29605601, VALIDATION_ERROR_UNDEFINED); + lock.unlock(); + + get_dispatch_table(ot_device_table_map, device)->GetDeviceQueue2(device, pQueueInfo, pQueue); + + lock.lock(); + if (*pQueue != VK_NULL_HANDLE) { + CreateQueue(device, *pQueue); + AddQueueInfo(device, pQueueInfo->queueFamilyIndex, *pQueue); + } +} + VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet *pDescriptorCopies) { -- cgit v1.2.3