aboutsummaryrefslogtreecommitdiff
path: root/layers/object_tracker_utils.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2017-07-19 15:18:15 -0600
committerMark Lobodzinski <mark@lunarg.com>2017-07-24 10:21:38 -0600
commit9391244210c941ecf167feb1e6f3c5e8a890b260 (patch)
tree06c7b025ce3199f8306f2e97d08ca63d696e6d61 /layers/object_tracker_utils.cpp
parent16f9f4e2df30154bc4abee5185e3469f87459e34 (diff)
downloadusermoji-9391244210c941ecf167feb1e6f3c5e8a890b260.tar.xz
layers: Move GetDeviceQueue func in OT
Special case function must avoid code generation. Change-Id: I786d4ef4a8855f10e9cfe1234a5d885056f50a93
Diffstat (limited to 'layers/object_tracker_utils.cpp')
-rw-r--r--layers/object_tracker_utils.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/layers/object_tracker_utils.cpp b/layers/object_tracker_utils.cpp
index 298c089e..f7ac60f6 100644
--- a/layers/object_tracker_utils.cpp
+++ b/layers/object_tracker_utils.cpp
@@ -335,6 +335,18 @@ VKAPI_ATTR void VKAPI_CALL DestroyDevice(VkDevice device, const VkAllocationCall
FreeLayerDataPtr(key, layer_data_map);
}
+VKAPI_ATTR void VKAPI_CALL GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, 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)->GetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
+
+ lock.lock();
+ CreateQueue(device, *pQueue);
+ AddQueueInfo(device, queueFamilyIndex, *pQueue);
+}
+
VKAPI_ATTR void VKAPI_CALL UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount,
const VkWriteDescriptorSet *pDescriptorWrites, uint32_t descriptorCopyCount,
const VkCopyDescriptorSet *pDescriptorCopies) {