v140: Bug 14251 - Inconsistencies in the definition of queries
diff --git a/include/vk_layer.h b/include/vk_layer.h
index 30cc07f..fc61476 100644
--- a/include/vk_layer.h
+++ b/include/vk_layer.h
@@ -185,8 +185,7 @@
     PFN_vkGetPhysicalDeviceLimits GetPhysicalDeviceLimits;
     PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
     PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
-    PFN_vkGetPhysicalDeviceQueueCount GetPhysicalDeviceQueueCount;
-    PFN_vkGetPhysicalDeviceQueueProperties GetPhysicalDeviceQueueProperties;
+    PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
     PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
     PFN_vkGetPhysicalDeviceExtensionProperties GetPhysicalDeviceExtensionProperties;
     PFN_vkGetPhysicalDeviceLayerProperties GetPhysicalDeviceLayerProperties;
diff --git a/include/vulkan.h b/include/vulkan.h
index 9c5e1f7..36d8b2c 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -41,7 +41,7 @@
     ((major << 22) | (minor << 12) | patch)
 
 // Vulkan API version supported by this file
-#define VK_API_VERSION VK_MAKE_VERSION(0, 139, 0)
+#define VK_API_VERSION VK_MAKE_VERSION(0, 140, 0)
 
 
 #define VK_DEFINE_HANDLE(obj) typedef struct obj##_T* obj;
@@ -1308,7 +1308,7 @@
     VkQueueFlags                                queueFlags;
     uint32_t                                    queueCount;
     VkBool32                                    supportsTimestamps;
-} VkPhysicalDeviceQueueProperties;
+} VkQueueFamilyProperties;
 
 typedef struct {
     VkMemoryPropertyFlags                       propertyFlags;
@@ -2087,8 +2087,7 @@
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageFormatProperties* pImageFormatProperties);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceLimits)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceLimits* pLimits);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
-typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceQueueCount)(VkPhysicalDevice physicalDevice, uint32_t* pCount);
-typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceQueueProperties)(VkPhysicalDevice physicalDevice, uint32_t count, VkPhysicalDeviceQueueProperties* pQueueProperties);
+typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkQueueFamilyProperties* pQueueFamilyProperties);
 typedef VkResult (VKAPI *PFN_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
 typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetInstanceProcAddr)(VkInstance instance, const char* pName);
 typedef PFN_vkVoidFunction (VKAPI *PFN_vkGetDeviceProcAddr)(VkDevice device, const char* pName);
@@ -2270,14 +2269,10 @@
     VkPhysicalDevice                            physicalDevice,
     VkPhysicalDeviceProperties*                 pProperties);
 
-VkResult VKAPI vkGetPhysicalDeviceQueueCount(
+VkResult VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice                            physicalDevice,
-    uint32_t*                                   pCount);
-
-VkResult VKAPI vkGetPhysicalDeviceQueueProperties(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    count,
-    VkPhysicalDeviceQueueProperties*            pQueueProperties);
+    uint32_t*                                   pCount,
+    VkQueueFamilyProperties*                    pQueueFamilyProperties);
 
 VkResult VKAPI vkGetPhysicalDeviceMemoryProperties(
     VkPhysicalDevice                            physicalDevice,
diff --git a/layers/object_track.h b/layers/object_track.h
index d9eba5a..c948e52 100644
--- a/layers/object_track.h
+++ b/layers/object_track.h
@@ -90,7 +90,7 @@
 
 static uint64_t                         numObjs[NUM_OBJECT_TYPES]     = {0};
 static uint64_t                         numTotalObjs                  = 0;
-static VkPhysicalDeviceQueueProperties *queueInfo                     = NULL;
+static VkQueueFamilyProperties         *queueInfo                     = NULL;
 static uint32_t                         queueCount                    = 0;
 
 template layer_data *get_my_data_ptr<layer_data>(
@@ -214,9 +214,9 @@
     void     *pData)
 {
     queueCount = count;
-    queueInfo  = (VkPhysicalDeviceQueueProperties*)realloc((void*)queueInfo, count * sizeof(VkPhysicalDeviceQueueProperties));
+    queueInfo  = (VkQueueFamilyProperties*)realloc((void*)queueInfo, count * sizeof(VkQueueFamilyProperties));
     if (queueInfo != NULL) {
-        memcpy(queueInfo, pData, count * sizeof(VkPhysicalDeviceQueueProperties));
+        memcpy(queueInfo, pData, count * sizeof(VkQueueFamilyProperties));
     }
 }
 
@@ -459,15 +459,16 @@
 }
 
 VkResult
-explicit_GetPhysicalDeviceQueueProperties(
+explicit_GetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice                 gpu,
-    uint32_t                         count,
-    VkPhysicalDeviceQueueProperties* pProperties)
+    uint32_t*                        pCount,
+    VkQueueFamilyProperties*         pProperties)
 {
-    VkResult result = get_dispatch_table(ObjectTracker_instance_table_map, gpu)->GetPhysicalDeviceQueueProperties(gpu, count, pProperties);
+    VkResult result = get_dispatch_table(ObjectTracker_instance_table_map, gpu)->GetPhysicalDeviceQueueFamilyProperties(gpu, pCount, pProperties);
 
     loader_platform_thread_lock_mutex(&objLock);
-    setGpuQueueInfoState(count, pProperties);
+    if (pProperties != NULL)
+        setGpuQueueInfoState(*pCount, pProperties);
     loader_platform_thread_unlock_mutex(&objLock);
     return result;
 }
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 3a7c1e6..0c7b4d4 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -2340,52 +2340,24 @@
     return result;
 }
 
-bool PostGetPhysicalDeviceQueueCount(
+bool PostGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice physicalDevice,
     uint32_t* pCount,
+    VkQueueFamilyProperties* pQueueProperties,
     VkResult result)
 {
 
-    if(pCount != nullptr)
+    if(pQueueProperties == nullptr && pCount != nullptr)
     {
     }
 
-    if(result < VK_SUCCESS)
-    {
-        std::string reason = "vkGetPhysicalDeviceQueueCount parameter, VkResult result, is " + EnumeratorString(result);
-        log_msg(mdd(physicalDevice), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", reason.c_str());
-        return false;
-    }
-
-    return true;
-}
-
-VK_LAYER_EXPORT VkResult VKAPI vkGetPhysicalDeviceQueueCount(
-    VkPhysicalDevice physicalDevice,
-    uint32_t* pCount)
-{
-    VkResult result = get_dispatch_table(pc_instance_table_map, physicalDevice)->GetPhysicalDeviceQueueCount(physicalDevice, pCount);
-
-    PostGetPhysicalDeviceQueueCount(physicalDevice, pCount, result);
-
-    return result;
-}
-
-bool PostGetPhysicalDeviceQueueProperties(
-    VkPhysicalDevice physicalDevice,
-    uint32_t count,
-    VkPhysicalDeviceQueueProperties* pQueueProperties,
-    VkResult result)
-{
-
-
     if(pQueueProperties != nullptr)
     {
     }
 
     if(result < VK_SUCCESS)
     {
-        std::string reason = "vkGetPhysicalDeviceQueueProperties parameter, VkResult result, is " + EnumeratorString(result);
+        std::string reason = "vkGetPhysicalDeviceQueueFamilyProperties parameter, VkResult result, is " + EnumeratorString(result);
         log_msg(mdd(physicalDevice), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK", reason.c_str());
         return false;
     }
@@ -2395,12 +2367,12 @@
 
 VK_LAYER_EXPORT VkResult VKAPI vkGetPhysicalDeviceQueueProperties(
     VkPhysicalDevice physicalDevice,
-    uint32_t count,
-    VkPhysicalDeviceQueueProperties* pQueueProperties)
+    uint32_t* pCount,
+    VkQueueFamilyProperties* pQueueProperties)
 {
-    VkResult result = get_dispatch_table(pc_instance_table_map, physicalDevice)->GetPhysicalDeviceQueueProperties(physicalDevice, count, pQueueProperties);
+    VkResult result = get_dispatch_table(pc_instance_table_map, physicalDevice)->GetPhysicalDeviceQueueFamilyProperties(physicalDevice, pCount, pQueueProperties);
 
-    PostGetPhysicalDeviceQueueProperties(physicalDevice, count, pQueueProperties, result);
+    PostGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pCount, pQueueProperties, result);
 
     return result;
 }
diff --git a/loader/gpa_helper.h b/loader/gpa_helper.h
index e462a1d..96c4f6a 100644
--- a/loader/gpa_helper.h
+++ b/loader/gpa_helper.h
@@ -47,10 +47,8 @@
         return (void*) vkGetPhysicalDeviceLimits;
     if (!strcmp(name, "GetPhysicalDeviceProperties"))
         return (void*) vkGetPhysicalDeviceProperties;
-    if (!strcmp(name, "GetPhysicalDeviceQueueCount"))
-        return (void*) vkGetPhysicalDeviceQueueCount;
-    if (!strcmp(name, "GetPhysicalDeviceQueueProperties"))
-        return (void*) vkGetPhysicalDeviceQueueProperties;
+    if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties"))
+        return (void*) vkGetPhysicalDeviceQueueFamilyProperties;
     if (!strcmp(name, "GetPhysicalDeviceMemoryProperties"))
         return (void*) vkGetPhysicalDeviceMemoryProperties;
     if (!strcmp(name, "GetInstanceProcAddr"))
@@ -362,10 +360,8 @@
         return (void*) vkGetPhysicalDeviceImageFormatProperties;
     if (!strcmp(name, "GetPhysicalDeviceLimits"))
         return (void*) vkGetPhysicalDeviceLimits;
-    if (!strcmp(name, "GetPhysicalDeviceQueueCount"))
-        return (void*) vkGetPhysicalDeviceQueueCount;
-    if (!strcmp(name, "GetPhysicalDeviceQueueProperties"))
-        return (void*) vkGetPhysicalDeviceQueueProperties;
+    if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties"))
+        return (void*) vkGetPhysicalDeviceQueueFamilyProperties;
     if (!strcmp(name, "GetPhysicalDeviceMemoryProperties"))
         return (void*) vkGetPhysicalDeviceMemoryProperties;
     if (!strcmp(name, "GetPhysicalDeviceProperties"))
diff --git a/loader/loader.c b/loader/loader.c
index e2dd54a..34e4feb 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -95,8 +95,7 @@
     .GetPhysicalDeviceImageFormatProperties = loader_GetPhysicalDeviceImageFormatProperties,
     .GetPhysicalDeviceLimits = loader_GetPhysicalDeviceLimits,
     .GetPhysicalDeviceProperties = loader_GetPhysicalDeviceProperties,
-    .GetPhysicalDeviceQueueCount = loader_GetPhysicalDeviceQueueCount,
-    .GetPhysicalDeviceQueueProperties = loader_GetPhysicalDeviceQueueProperties,
+    .GetPhysicalDeviceQueueFamilyProperties = loader_GetPhysicalDeviceQueueFamilyProperties,
     .GetPhysicalDeviceMemoryProperties = loader_GetPhysicalDeviceMemoryProperties,
     .GetPhysicalDeviceExtensionProperties = loader_GetPhysicalDeviceExtensionProperties,
     .GetPhysicalDeviceLayerProperties = loader_GetPhysicalDeviceLayerProperties,
@@ -1046,8 +1045,7 @@
     LOOKUP_GIPA(CreateDevice, true);
     LOOKUP_GIPA(GetPhysicalDeviceProperties, true);
     LOOKUP_GIPA(GetPhysicalDeviceMemoryProperties, true);
-    LOOKUP_GIPA(GetPhysicalDeviceQueueCount, true);
-    LOOKUP_GIPA(GetPhysicalDeviceQueueProperties, true);
+    LOOKUP_GIPA(GetPhysicalDeviceQueueFamilyProperties, true);
     LOOKUP_GIPA(GetPhysicalDeviceExtensionProperties, true);
     LOOKUP_GIPA(GetPhysicalDeviceSparseImageFormatProperties, true);
     LOOKUP_GIPA(DbgCreateMsgCallback, false);
@@ -2577,31 +2575,17 @@
     return res;
 }
 
-VkResult VKAPI loader_GetPhysicalDeviceQueueCount(
+VkResult VKAPI loader_GetPhysicalDeviceQueueFamilyProperties (
         VkPhysicalDevice                        gpu,
-        uint32_t*                               pCount)
+        uint32_t*                               pCount,
+        VkQueueFamilyProperties*                pProperties)
 {
     uint32_t gpu_index;
     struct loader_icd *icd = loader_get_icd(gpu, &gpu_index);
     VkResult res = VK_ERROR_INITIALIZATION_FAILED;
 
-    if (icd->GetPhysicalDeviceQueueCount)
-        res = icd->GetPhysicalDeviceQueueCount(gpu, pCount);
-
-    return res;
-}
-
-VkResult VKAPI loader_GetPhysicalDeviceQueueProperties (
-        VkPhysicalDevice gpu,
-        uint32_t count,
-        VkPhysicalDeviceQueueProperties * pProperties)
-{
-    uint32_t gpu_index;
-    struct loader_icd *icd = loader_get_icd(gpu, &gpu_index);
-    VkResult res = VK_ERROR_INITIALIZATION_FAILED;
-
-    if (icd->GetPhysicalDeviceQueueProperties)
-        res = icd->GetPhysicalDeviceQueueProperties(gpu, count, pProperties);
+    if (icd->GetPhysicalDeviceQueueFamilyProperties)
+        res = icd->GetPhysicalDeviceQueueFamilyProperties(gpu, pCount, pProperties);
 
     return res;
 }
diff --git a/loader/loader.h b/loader/loader.h
index 21e997d..6b2a3d7 100644
--- a/loader/loader.h
+++ b/loader/loader.h
@@ -136,8 +136,7 @@
     PFN_vkGetPhysicalDeviceLimits GetPhysicalDeviceLimits;
     PFN_vkCreateDevice CreateDevice;
     PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
-    PFN_vkGetPhysicalDeviceQueueCount GetPhysicalDeviceQueueCount;
-    PFN_vkGetPhysicalDeviceQueueProperties GetPhysicalDeviceQueueProperties;
+    PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
     PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
     PFN_vkGetPhysicalDeviceExtensionProperties GetPhysicalDeviceExtensionProperties;
     PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
@@ -321,14 +320,10 @@
         uint32_t *pCount,
         VkLayerProperties* pProperties);
 
-VkResult VKAPI loader_GetPhysicalDeviceQueueCount (
-        VkPhysicalDevice physicalDevice,
-        uint32_t* pCount);
-
-VkResult VKAPI loader_GetPhysicalDeviceQueueProperties (
-        VkPhysicalDevice physicalDevice,
-        uint32_t count,
-        VkPhysicalDeviceQueueProperties * pProperties);
+VkResult VKAPI loader_GetPhysicalDeviceQueueFamilyProperties (
+        VkPhysicalDevice                        physicalDevice,
+        uint32_t*                               pCount,
+        VkQueueFamilyProperties*                pProperties);
 
 VkResult VKAPI loader_GetPhysicalDeviceMemoryProperties (
         VkPhysicalDevice physicalDevice,
diff --git a/loader/table_ops.h b/loader/table_ops.h
index c33e1cb..c6be289 100644
--- a/loader/table_ops.h
+++ b/loader/table_ops.h
@@ -482,8 +482,7 @@
     table->GetPhysicalDeviceLimits = (PFN_vkGetPhysicalDeviceLimits) gpa(inst, "vkGetPhysicalDeviceLimits");
     table->GetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties) gpa(inst, "vkGetPhysicalDeviceSparseImageFormatProperties");
     table->GetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties) gpa(inst, "vkGetPhysicalDeviceProperties");
-    table->GetPhysicalDeviceQueueCount = (PFN_vkGetPhysicalDeviceQueueCount) gpa(inst, "vkGetPhysicalDeviceQueueCount");
-    table->GetPhysicalDeviceQueueProperties = (PFN_vkGetPhysicalDeviceQueueProperties) gpa(inst, "vkGetPhysicalDeviceQueueProperties");
+    table->GetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties) gpa(inst, "vkGetPhysicalDeviceQueueFamilyProperties");
     table->GetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties) gpa(inst, "vkGetPhysicalDeviceMemoryProperties");
     table->GetPhysicalDeviceExtensionProperties = (PFN_vkGetPhysicalDeviceExtensionProperties) gpa(inst, "vkGetPhysicalDeviceExtensionProperties");
     table->GetPhysicalDeviceLayerProperties = (PFN_vkGetPhysicalDeviceLayerProperties) gpa(inst, "vkGetPhysicalDeviceLayerProperties");
@@ -524,10 +523,8 @@
         return (void *) table->GetPhysicalDeviceSparseImageFormatProperties;
     if (!strcmp(name, "GetPhysicalDeviceProperties"))
         return (void *) table->GetPhysicalDeviceProperties;
-    if (!strcmp(name, "GetPhysicalDeviceQueueCount"))
-        return (void *) table->GetPhysicalDeviceQueueCount;
-    if (!strcmp(name, "GetPhysicalDeviceQueueProperties"))
-        return (void *) table->GetPhysicalDeviceQueueProperties;
+    if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties"))
+        return (void *) table->GetPhysicalDeviceQueueFamilyProperties;
     if (!strcmp(name, "GetPhysicalDeviceMemoryProperties"))
         return (void *) table->GetPhysicalDeviceMemoryProperties;
     if (!strcmp(name, "GetInstanceProcAddr"))
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 2a236e4..e978868 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -236,28 +236,16 @@
     return res;
 }
 
-LOADER_EXPORT VkResult VKAPI vkGetPhysicalDeviceQueueCount(
+LOADER_EXPORT VkResult VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
                                             VkPhysicalDevice gpu,
-                                            uint32_t* pCount)
-{
-   const VkLayerInstanceDispatchTable *disp;
-   VkResult res;
-
-   disp = loader_get_instance_dispatch(gpu);
-   res = disp->GetPhysicalDeviceQueueCount(gpu, pCount);
-   return res;
-}
-
-LOADER_EXPORT VkResult VKAPI vkGetPhysicalDeviceQueueProperties(
-                                            VkPhysicalDevice gpu,
-                                            uint32_t count,
-                                            VkPhysicalDeviceQueueProperties* pQueueProperties)
+                                            uint32_t* pCount,
+                                            VkQueueFamilyProperties* pQueueProperties)
 {
     const VkLayerInstanceDispatchTable *disp;
     VkResult res;
 
     disp = loader_get_instance_dispatch(gpu);
-    res = disp->GetPhysicalDeviceQueueProperties(gpu, count, pQueueProperties);
+    res = disp->GetPhysicalDeviceQueueFamilyProperties(gpu, pCount, pQueueProperties);
     return res;
 }
 
diff --git a/tests/init.cpp b/tests/init.cpp
index a9f8fd4..6f1214e 100644
--- a/tests/init.cpp
+++ b/tests/init.cpp
@@ -86,7 +86,7 @@
     uint32_t m_device_id;
     vk_testing::Device *m_device;
     VkPhysicalDeviceProperties props;
-    std::vector<VkPhysicalDeviceQueueProperties> queue_props;
+    std::vector<VkQueueFamilyProperties> queue_props;
     uint32_t graphics_queue_node_index;
 
     virtual void SetUp() {
@@ -280,7 +280,7 @@
     VkResult err;
     VkQueue queue;
 
-    const VkPhysicalDeviceQueueProperties props = device->phy().queue_properties()[queue_node_index];
+    const VkQueueFamilyProperties props = device->phy().queue_properties()[queue_node_index];
     for (que_idx = 0; que_idx < props.queueCount; que_idx++) {
         // TODO: Need to add support for separate MEMMGR and work queues, including synchronization
         err = vkGetDeviceQueue(device->handle(), queue_node_index, que_idx, &queue);
diff --git a/tests/vkrenderframework.h b/tests/vkrenderframework.h
index d7c1958..9dc1865 100644
--- a/tests/vkrenderframework.h
+++ b/tests/vkrenderframework.h
@@ -46,7 +46,7 @@
 
     uint32_t                               id;
     VkPhysicalDeviceProperties             props;
-    const VkPhysicalDeviceQueueProperties *queue_props;
+    const VkQueueFamilyProperties         *queue_props;
 
     VkQueue m_queue;
 };
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index b873249..6e0a048 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -96,14 +96,15 @@
     return info;
 }
 
-std::vector<VkPhysicalDeviceQueueProperties> PhysicalDevice::queue_properties() const
+std::vector<VkQueueFamilyProperties> PhysicalDevice::queue_properties() const
 {
-    std::vector<VkPhysicalDeviceQueueProperties> info;
+    std::vector<VkQueueFamilyProperties> info;
     uint32_t count;
 
-    if (EXPECT(vkGetPhysicalDeviceQueueCount(handle(), &count) == VK_SUCCESS)) {
+    // Call once with NULL data to receive count
+    if (EXPECT(vkGetPhysicalDeviceQueueFamilyProperties(handle(), &count, NULL) == VK_SUCCESS)) {
         info.resize(count);
-        if (!EXPECT(vkGetPhysicalDeviceQueueProperties(handle(), count, info.data()) == VK_SUCCESS))
+        if (!EXPECT(vkGetPhysicalDeviceQueueFamilyProperties(handle(), &count, info.data()) == VK_SUCCESS))
             info.clear();
     }
 
@@ -267,7 +268,7 @@
 void Device::init(std::vector<const char *> &layers, std::vector<const char *> &extensions)
 {
     // request all queues
-    const std::vector<VkPhysicalDeviceQueueProperties> queue_props = phy_.queue_properties();
+    const std::vector<VkQueueFamilyProperties> queue_props = phy_.queue_properties();
     std::vector<VkDeviceQueueCreateInfo> queue_info;
     queue_info.reserve(queue_props.size());
     for (int i = 0; i < queue_props.size(); i++) {
@@ -310,13 +311,14 @@
     VkResult err;
     uint32_t queue_node_count;
 
-    err = vkGetPhysicalDeviceQueueCount(phy_.handle(), &queue_node_count);
+    // Call with NULL data to get count
+    err = vkGetPhysicalDeviceQueueFamilyProperties(phy_.handle(), &queue_node_count, NULL);
     EXPECT(err == VK_SUCCESS);
     EXPECT(queue_node_count >= 1);
 
-    VkPhysicalDeviceQueueProperties* queue_props = new VkPhysicalDeviceQueueProperties[queue_node_count];
+    VkQueueFamilyProperties* queue_props = new VkQueueFamilyProperties[queue_node_count];
 
-    err = vkGetPhysicalDeviceQueueProperties(phy_.handle(), queue_node_count, queue_props);
+    err = vkGetPhysicalDeviceQueueFamilyProperties(phy_.handle(), &queue_node_count, queue_props);
     EXPECT(err == VK_SUCCESS);
 
     for (uint32_t i = 0; i < queue_node_count; i++) {
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index c733552..6fef186 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -125,7 +125,7 @@
 
     VkPhysicalDeviceProperties properties() const;
     VkPhysicalDeviceMemoryProperties memory_properties() const;
-    std::vector<VkPhysicalDeviceQueueProperties> queue_properties() const;
+    std::vector<VkQueueFamilyProperties> queue_properties() const;
 
     VkResult set_memory_type(const uint32_t type_bits, VkMemoryAllocInfo *info, const VkMemoryPropertyFlags properties) const;
 
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index 042da7c..93377ee 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -1398,7 +1398,7 @@
 
         explicit_object_tracker_functions = [
             "CreateInstance",
-            "GetPhysicalDeviceQueueProperties",
+            "GetPhysicalDeviceQueueFamilyProperties",
             "CreateDevice",
             "GetDeviceQueue",
             "QueueSubmit",
diff --git a/vulkan.py b/vulkan.py
index ef1b66b..3d73175 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -269,14 +269,10 @@
             [Param("VkPhysicalDevice", "physicalDevice"),
              Param("VkPhysicalDeviceProperties*", "pProperties")]),
 
-        Proto("VkResult", "GetPhysicalDeviceQueueCount",
+        Proto("VkResult", "GetPhysicalDeviceQueueFamilyProperties",
             [Param("VkPhysicalDevice", "physicalDevice"),
-             Param("uint32_t*", "pCount")]),
-
-        Proto("VkResult", "GetPhysicalDeviceQueueProperties",
-            [Param("VkPhysicalDevice", "physicalDevice"),
-             Param("uint32_t", "count"),
-             Param("VkPhysicalDeviceQueueProperties*", "pQueueProperties")]),
+             Param("uint32_t*", "pCount"),
+             Param("VkQueueFamilyProperties*", "pQueueFamilyProperties")]),
 
         Proto("VkResult", "GetPhysicalDeviceMemoryProperties",
             [Param("VkPhysicalDevice", "physicalDevice"),