layers: Move GetDeviceQueue func in OT

Special case function must avoid code generation.

Change-Id: I786d4ef4a8855f10e9cfe1234a5d885056f50a93
diff --git a/layers/object_tracker_utils.cpp b/layers/object_tracker_utils.cpp
index 298c089..f7ac60f 100644
--- a/layers/object_tracker_utils.cpp
+++ b/layers/object_tracker_utils.cpp
@@ -335,6 +335,18 @@
     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) {