aboutsummaryrefslogtreecommitdiff
path: root/layers/object_tracker_utils.cpp
diff options
context:
space:
mode:
authorYiwei Zhang <zzyiwei@google.com>2018-02-14 14:39:46 -0800
committerMike Schuchardt <mikes@lunarg.com>2018-03-09 13:54:31 -0700
commit0dd40a6100a0be62a504a67f4426b7a0d304ed5b (patch)
tree8afce397522afe5591470d66f907c3d0014396dc /layers/object_tracker_utils.cpp
parent134d0aff002e637a1c423f5e1db0caa229ae83a1 (diff)
downloadusermoji-0dd40a6100a0be62a504a67f4426b7a0d304ed5b.tar.xz
layers: add GetDeviceQueue2() support
This change add GetDeviceQueue2() support to object tracker and core validation layers.
Diffstat (limited to 'layers/object_tracker_utils.cpp')
-rw-r--r--layers/object_tracker_utils.cpp14
1 files changed, 14 insertions, 0 deletions
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<std::mutex> 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) {