vulkan.h: V108 -- Static Types, Bug# 13919
diff --git a/tests/blit_tests.cpp b/tests/blit_tests.cpp
index 058f47f..5caea9e 100644
--- a/tests/blit_tests.cpp
+++ b/tests/blit_tests.cpp
@@ -749,7 +749,6 @@
     VkEventCreateInfo event_info;
     VkEvent event;
     VkMemoryRequirements mem_req;
-    size_t data_size = sizeof(mem_req);
     VkResult err;
     VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
     VkMemoryAllocInfo mem_info;
@@ -767,9 +766,7 @@
     err = vkCreateEvent(dev_.obj(), &event_info, &event);
     ASSERT_VK_SUCCESS(err);
 
-    data_size = sizeof(mem_req);
-    err = vkGetObjectInfo(dev_.obj(), VK_OBJECT_TYPE_EVENT, event, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-        &data_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(dev_.obj(), VK_OBJECT_TYPE_EVENT, event, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
     if (mem_req.size) {
@@ -779,8 +776,6 @@
         //            const VkMemoryAllocInfo*                pAllocInfo,
         //            VkDeviceMemory*                             pMem);
 
-        ASSERT_NE(0, mem_req.size) << "vkGetObjectInfo (Event): Failed - expect events to require memory";
-
         memset(&mem_info, 0, sizeof(mem_info));
         mem_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO;
         mem_info.allocationSize = mem_req.size;
diff --git a/tests/image_tests.cpp b/tests/image_tests.cpp
index e28ff61..c5da806 100644
--- a/tests/image_tests.cpp
+++ b/tests/image_tests.cpp
@@ -210,18 +210,15 @@
     ASSERT_VK_SUCCESS(err);
 
     VkMemoryRequirements mem_req;
-    size_t mem_reqs_size = sizeof(VkMemoryRequirements);
 
     VkMemoryAllocInfo mem_info = {};
     mem_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO;
     mem_info.pNext = NULL;
 
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_IMAGE, m_image,
-                    VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                    &mem_reqs_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(device(), VK_OBJECT_TYPE_IMAGE, m_image, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
-    ASSERT_NE(0, mem_req.size) << "vkGetObjectInfo (Image): Failed - expect images to require memory";
+    ASSERT_NE(0, mem_req.size) << "vkGetObjectMemoryRequirements (Image): Failed - expect images to require memory";
     mem_info.allocationSize = mem_req.size;
     mem_info.memProps       = 0;
 
diff --git a/tests/init.cpp b/tests/init.cpp
index 8fb380c..c1386fc 100644
--- a/tests/init.cpp
+++ b/tests/init.cpp
@@ -169,7 +169,6 @@
     VkEventCreateInfo event_info;
     VkEvent event;
     VkMemoryRequirements mem_req;
-    size_t data_size;
     VkDeviceMemory event_mem;
     VkResult err;
 
@@ -185,9 +184,7 @@
     err = vkCreateEvent(device(), &event_info, &event);
     ASSERT_VK_SUCCESS(err);
 
-    data_size = sizeof(mem_req);
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_EVENT, event, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-        &data_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(device(), VK_OBJECT_TYPE_EVENT, event, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
     if (mem_req.size) {
@@ -237,7 +234,6 @@
 TEST_F(VkTest, Query) {
     VkQueryPoolCreateInfo query_info;
     VkQueryPool query_pool;
-    size_t data_size;
     VkMemoryRequirements mem_req;
     size_t query_result_size;
     uint32_t *query_result_data;
@@ -276,9 +272,7 @@
     err = vkCreateQueryPool(device(), &query_info, &query_pool);
     ASSERT_VK_SUCCESS(err);
 
-    data_size = sizeof(mem_req);
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_QUERY_POOL, query_pool, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-        &data_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(device(), VK_OBJECT_TYPE_QUERY_POOL, query_pool, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
     if (mem_req.size) {
@@ -352,7 +346,6 @@
     uint32_t w, h, mipCount;
     VkFormat fmt;
     VkFormatProperties image_fmt;
-    size_t data_size;
 
     w =512;
     h = 256;
@@ -426,12 +419,10 @@
     ASSERT_VK_SUCCESS(err);
 
     // Verify image resources
-//    VkResult VKAPI vkGetImageSubresourceInfo(
+//    VkResult VKAPI vkGetImageSubresourceLayout(
 //        VkImage                                   image,
 //        const VkImageSubresource*                pSubresource,
-//        VkSubresourceInfoType                   infoType,
-//        size_t*                                     pDataSize,
-//        void*                                       pData);
+//        VkSubresourceLayout*                     pLayout);
 //    typedef struct VkSubresourceLayout_
 //    {
 //        VkDeviceSize                            offset;                 // Specified in bytes
@@ -446,13 +437,7 @@
 //        uint32_t                                mipLevel;
 //        uint32_t                                arraySlice;
 //    } VkImageSubresource;
-//    typedef enum VkSubresourceInfoType_
-//    {
-//        // Info type for vkGetImageSubresourceInfo()
-//        VK_SUBRESOURCE_INFO_TYPE_LAYOUT                        = 0x00000000,
 
-//        VK_MAX_ENUM(VkSubresourceInfoType_)
-//    } VkSubresourceInfoType;
 
     if (image_fmt.linearTilingFeatures & VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT) {
         VkImageSubresource subresource = {};
@@ -464,11 +449,8 @@
         while ((_w > 0) || (_h > 0))
         {
             VkSubresourceLayout layout = {};
-            data_size = sizeof(layout);
-            err = vkGetImageSubresourceInfo(device(), image, &subresource, VK_SUBRESOURCE_INFO_TYPE_LAYOUT,
-                &data_size, &layout);
+            err = vkGetImageSubresourceLayout(device(), image, &subresource, &layout);
             ASSERT_VK_SUCCESS(err);
-            ASSERT_EQ(sizeof(VkSubresourceLayout), data_size) << "Invalid structure (VkSubresourceLayout) size";
 
             // TODO: 4 should be replaced with pixel size for given format
             EXPECT_LE(_w * 4, layout.rowPitch) << "Pitch does not match expected image pitch";
@@ -482,9 +464,7 @@
     VkMemoryRequirements mem_req;
     VkDeviceMemory image_mem;
 
-    data_size = sizeof(mem_req);
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_IMAGE, image, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-        &data_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(device(), VK_OBJECT_TYPE_IMAGE, image, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
     if (mem_req.size) {
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index 5fd1b0d..1d94315 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -413,7 +413,6 @@
     const VkFormat tex_format      = VK_FORMAT_B8G8R8A8_UNORM;
     const int32_t  tex_width       = 32;
     const int32_t  tex_height      = 32;
-    size_t         mem_reqs_size   = sizeof(VkMemoryRequirements);
 
     const VkImageCreateInfo image_create_info = {
         .sType          = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
@@ -439,11 +438,9 @@
     err = vkCreateImage(m_device->device(), &image_create_info, &image);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(m_device->device(),
+    err = vkGetObjectMemoryRequirements(m_device->device(),
                           VK_OBJECT_TYPE_IMAGE,
                           image,
-                          VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                          &mem_reqs_size,
                           &mem_reqs);
     ASSERT_VK_SUCCESS(err);
 
@@ -485,7 +482,6 @@
     const VkFormat tex_format      = VK_FORMAT_B8G8R8A8_UNORM;
     const int32_t  tex_width       = 32;
     const int32_t  tex_height      = 32;
-    size_t         mem_reqs_size   = sizeof(VkMemoryRequirements);
 
     const VkImageCreateInfo image_create_info = {
         .sType          = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
@@ -510,11 +506,9 @@
     err = vkCreateImage(m_device->device(), &image_create_info, &image);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(m_device->device(),
+    err = vkGetObjectMemoryRequirements(m_device->device(),
                           VK_OBJECT_TYPE_IMAGE,
                           image,
-                          VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                          &mem_reqs_size,
                           &mem_reqs);
     ASSERT_VK_SUCCESS(err);
 
@@ -556,7 +550,6 @@
     const VkFormat tex_format      = VK_FORMAT_B8G8R8A8_UNORM;
     const int32_t  tex_width       = 32;
     const int32_t  tex_height      = 32;
-    size_t         mem_reqs_size   = sizeof(VkMemoryRequirements);
 
     const VkImageCreateInfo image_create_info = {
         .sType          = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
@@ -581,11 +574,9 @@
     err = vkCreateImage(m_device->device(), &image_create_info, &image);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(m_device->device(),
+    err = vkGetObjectMemoryRequirements(m_device->device(),
                           VK_OBJECT_TYPE_IMAGE,
                           image,
-                          VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                          &mem_reqs_size,
                           &mem_reqs);
     ASSERT_VK_SUCCESS(err);
 
@@ -628,7 +619,6 @@
     const VkFormat tex_format      = VK_FORMAT_B8G8R8A8_UNORM;
     const int32_t  tex_width       = 32;
     const int32_t  tex_height      = 32;
-    size_t         mem_reqs_size   = sizeof(VkMemoryRequirements);
 
     const VkImageCreateInfo image_create_info = {
         .sType          = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
@@ -653,11 +643,9 @@
     err = vkCreateImage(m_device->device(), &image_create_info, &image);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(m_device->device(),
+    err = vkGetObjectMemoryRequirements(m_device->device(),
                           VK_OBJECT_TYPE_IMAGE,
                           image,
-                          VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                          &mem_reqs_size,
                           &mem_reqs);
     ASSERT_VK_SUCCESS(err);
 
@@ -701,7 +689,6 @@
     const VkFormat tex_format      = VK_FORMAT_B8G8R8A8_UNORM;
     const int32_t  tex_width       = 32;
     const int32_t  tex_height      = 32;
-    size_t         mem_reqs_size   = sizeof(VkMemoryRequirements);
 
     const VkImageCreateInfo image_create_info = {
         .sType          = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
@@ -726,11 +713,9 @@
     err = vkCreateImage(m_device->device(), &image_create_info, &image);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(m_device->device(),
+    err = vkGetObjectMemoryRequirements(m_device->device(),
                           VK_OBJECT_TYPE_IMAGE,
                           image,
-                          VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                          &mem_reqs_size,
                           &mem_reqs);
     ASSERT_VK_SUCCESS(err);
 
@@ -812,32 +797,6 @@
 #endif
 #if OBJECT_TRACKER_TESTS
 
-TEST_F(VkLayerTest, GetObjectInfoMismatchedType)
-{
-    VkEventCreateInfo event_info;
-    VkEvent event;
-    VkMemoryRequirements mem_req;
-    size_t data_size = sizeof(mem_req);
-    VkFlags msgFlags;
-    std::string msgString;
-    VkResult err;
-
-    ASSERT_NO_FATAL_FAILURE(InitState());
-    memset(&event_info, 0, sizeof(event_info));
-    event_info.sType = VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
-
-    err = vkCreateEvent(device(), &event_info, &event);
-    ASSERT_VK_SUCCESS(err);
-    m_errorMonitor->ClearState();
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_IMAGE, event, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                           &data_size, &mem_req);
-    msgFlags = m_errorMonitor->GetState(&msgString);
-    ASSERT_TRUE(msgFlags & VK_DBG_REPORT_ERROR_BIT) << "Did not receive an error from mismatched types in vkGetObjectInfo";
-    if (!strstr(msgString.c_str(),"does not match designated type")) {
-        FAIL() << "Error received was not 'does not match designated type'";
-    }
-}
-
 TEST_F(VkLayerTest, RasterStateNotBound)
 {
     VkFlags msgFlags;
@@ -1754,7 +1713,6 @@
     VkEventCreateInfo event_info;
     VkEvent event;
     VkMemoryRequirements mem_req;
-    size_t data_size = sizeof(mem_req);
     VkResult err;
 
     memset(&event_info, 0, sizeof(event_info));
@@ -1763,15 +1721,12 @@
     err = vkCreateEvent(device(), &event_info, &event);
     ASSERT_VK_SUCCESS(err);
 
-    err = vkGetObjectInfo(device(), VK_OBJECT_TYPE_EVENT, event, VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS,
-                           &data_size, &mem_req);
+    err = vkGetObjectMemoryRequirements(device(), VK_OBJECT_TYPE_EVENT, event, &mem_req);
     ASSERT_VK_SUCCESS(err);
 
     VkMemoryAllocInfo mem_info;
     VkDeviceMemory event_mem;
 
-    ASSERT_NE(0, mem_req.size) << "vkGetObjectInfo (Event): Failed - expect events to require memory";
-
     memset(&mem_info, 0, sizeof(mem_info));
     mem_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOC_INFO;
     mem_info.allocationSize = mem_req.size;
diff --git a/tests/run_all_tests.ps1 b/tests/run_all_tests.ps1
index b9268ab..81e8c2c 100755
--- a/tests/run_all_tests.ps1
+++ b/tests/run_all_tests.ps1
@@ -1,3 +1,5 @@
+# Be sure to run "Set-ExecutionPolicy RemoteSigned" before running powershell scripts

+

 Param([switch]$Debug)

 

 if ($Debug) {

diff --git a/tests/test_environment.cpp b/tests/test_environment.cpp
index bdb7d64..c973f55 100644
--- a/tests/test_environment.cpp
+++ b/tests/test_environment.cpp
@@ -70,18 +70,16 @@
     device_extension_names.push_back(VK_WSI_LUNARG_EXTENSION_NAME);
 
     uint32_t extCount = 0;
-    size_t extSize = sizeof(extCount);
-    err = vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_COUNT, 0, &extSize, &extCount);
+    err = vkGetGlobalExtensionCount(&extCount);
     assert(!err);
 
     VkExtensionProperties extProp;
-    extSize = sizeof(VkExtensionProperties);
     bool32_t extFound;
 
     for (uint32_t i = 0; i < instance_extension_names.size(); i++) {
         extFound = 0;
         for (uint32_t j = 0; j < extCount; j++) {
-            err = vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_PROPERTIES, j, &extSize, &extProp);
+            err = vkGetGlobalExtensionProperties(j, &extProp);
             assert(!err);
             if (!strcmp(instance_extension_names[i], extProp.name)) {
                 instance_extensions.push_back(extProp);
@@ -105,15 +103,13 @@
     ASSERT_EQ(VK_SUCCESS, err);
     ASSERT_GT(count, default_dev_);
 
-    extSize = sizeof(extCount);
-    err = vkGetPhysicalDeviceExtensionInfo(gpus[0], VK_EXTENSION_INFO_TYPE_COUNT, 0, &extSize, &extCount);
+    err = vkGetPhysicalDeviceExtensionCount(gpus[0], &extCount);
     assert(!err);
 
-    extSize = sizeof(VkExtensionProperties);
     for (uint32_t i = 0; i < device_extension_names.size(); i++) {
         extFound = 0;
         for (uint32_t j = 0; j < extCount; j++) {
-            err = vkGetPhysicalDeviceExtensionInfo(gpus[0], VK_EXTENSION_INFO_TYPE_PROPERTIES, j, &extSize, &extProp);
+            err = vkGetPhysicalDeviceExtensionProperties(gpus[0], j, &extProp);
             assert(!err);
             if (!strcmp(device_extension_names[i], extProp.name)) {
                 device_extensions.push_back(extProp);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 7c3fa4a..70c87b0 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -81,19 +81,17 @@
     std::vector<VkExtensionProperties> instance_extensions;
     std::vector<VkExtensionProperties> device_extensions;
     uint32_t extCount = 0;
-    size_t extSize = sizeof(extCount);
     VkResult U_ASSERT_ONLY err;
-    err = vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_COUNT, 0, &extSize, &extCount);
+    err = vkGetGlobalExtensionCount(&extCount);
     assert(!err);
 
     VkExtensionProperties extProp;
-    extSize = sizeof(VkExtensionProperties);
     bool32_t extFound;
 
     for (uint32_t i = 0; i < instance_extension_names.size(); i++) {
         extFound = 0;
         for (uint32_t j = 0; j < extCount; j++) {
-            err = vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_PROPERTIES, j, &extSize, &extProp);
+            err = vkGetGlobalExtensionProperties(j, &extProp);
             assert(!err);
             if (!strcmp(instance_extension_names[i], extProp.name)) {
                 instance_extensions.push_back(extProp);
@@ -133,15 +131,13 @@
         }
     }
 
-    extSize = sizeof(extCount);
-    err = vkGetPhysicalDeviceExtensionInfo(objs[0], VK_EXTENSION_INFO_TYPE_COUNT, 0, &extSize, &extCount);
+    err = vkGetPhysicalDeviceExtensionCount(objs[0], &extCount);
     assert(!err);
 
-    extSize = sizeof(VkExtensionProperties);
     for (uint32_t i = 0; i < device_extension_names.size(); i++) {
         extFound = 0;
         for (uint32_t j = 0; j < extCount; j++) {
-            err = vkGetPhysicalDeviceExtensionInfo(objs[0], VK_EXTENSION_INFO_TYPE_PROPERTIES, j, &extSize, &extProp);
+            err = vkGetPhysicalDeviceExtensionProperties(objs[0], j, &extProp);
             assert(!err);
             if (!strcmp(device_extension_names[i], extProp.name)) {
                 device_extensions.push_back(extProp);
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 1689f6a..da1c0d8 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -64,39 +64,19 @@
 }
 
 template<typename T>
-std::vector<T> get_info(VkPhysicalDevice gpu, VkPhysicalDeviceInfoType type, size_t min_elems)
+std::vector<T> get_memory_reqs(VkDevice device, VkObjectType obj_type, VkObject obj, size_t min_elems)
 {
     std::vector<T> info;
-    size_t size;
-    if (EXPECT(vkGetPhysicalDeviceInfo(gpu, type, &size, NULL) == VK_SUCCESS && size % sizeof(T) == 0)) {
-        info.resize(size / sizeof(T));
-        if (!EXPECT(vkGetPhysicalDeviceInfo(gpu, type, &size, &info[0]) == VK_SUCCESS && size == info.size() * sizeof(T)))
-            info.clear();
-    }
+
+    info.resize((min_elems > 0)?min_elems:1);
+    if (!EXPECT(vkGetObjectMemoryRequirements(device, obj_type, obj, &info[0]) == VK_SUCCESS))
+        info.clear();
 
     if (info.size() < min_elems)
         info.resize(min_elems);
 
     return info;
 }
-
-template<typename T>
-std::vector<T> get_info(VkDevice device, VkObjectType object_type, VkObject obj, VkObjectInfoType type, size_t min_elems)
-{
-    std::vector<T> info;
-    size_t size;
-    if (EXPECT(vkGetObjectInfo(device, object_type, obj, type, &size, NULL) == VK_SUCCESS && size % sizeof(T) == 0)) {
-        info.resize(size / sizeof(T));
-        if (!EXPECT(vkGetObjectInfo(device, object_type, obj, type, &size, &info[0]) == VK_SUCCESS && size == info.size() * sizeof(T)))
-            info.clear();
-    }
-
-    if (info.size() < min_elems)
-        info.resize(min_elems);
-
-    return info;
-}
-
 } // namespace
 
 namespace vk_testing {
@@ -108,22 +88,43 @@
 
 VkPhysicalDeviceProperties PhysicalGpu::properties() const
 {
-    return get_info<VkPhysicalDeviceProperties>(gpu_, VK_PHYSICAL_DEVICE_INFO_TYPE_PROPERTIES, 1)[0];
+    VkPhysicalDeviceProperties info;
+
+    EXPECT(vkGetPhysicalDeviceProperties(gpu_, &info) == VK_SUCCESS);
+
+    return info;
 }
 
 VkPhysicalDevicePerformance PhysicalGpu::performance() const
 {
-    return get_info<VkPhysicalDevicePerformance>(gpu_, VK_PHYSICAL_DEVICE_INFO_TYPE_PERFORMANCE, 1)[0];
+    VkPhysicalDevicePerformance info;
+
+    EXPECT(vkGetPhysicalDevicePerformance(gpu_, &info) == VK_SUCCESS);
+
+    return info;
 }
 
 std::vector<VkPhysicalDeviceQueueProperties> PhysicalGpu::queue_properties() const
 {
-    return get_info<VkPhysicalDeviceQueueProperties>(gpu_, VK_PHYSICAL_DEVICE_INFO_TYPE_QUEUE_PROPERTIES, 0);
+    std::vector<VkPhysicalDeviceQueueProperties> info;
+    uint32_t count;
+
+    if (EXPECT(vkGetPhysicalDeviceQueueCount(gpu_, &count) == VK_SUCCESS)) {
+        info.resize(count);
+        if (!EXPECT(vkGetPhysicalDeviceQueueProperties(gpu_, count, &info[0]) == VK_SUCCESS))
+            info.clear();
+    }
+
+    return info;
 }
 
 VkPhysicalDeviceMemoryProperties PhysicalGpu::memory_properties() const
 {
-    return get_info<VkPhysicalDeviceMemoryProperties>(gpu_, VK_PHYSICAL_DEVICE_INFO_TYPE_MEMORY_PROPERTIES, 1)[0];
+    VkPhysicalDeviceMemoryProperties info;
+
+    EXPECT(vkGetPhysicalDeviceMemoryProperties(gpu_, &info) == VK_SUCCESS);
+
+    return info;
 }
 
 void PhysicalGpu::add_extension_dependencies(
@@ -143,16 +144,14 @@
         "VK_WSI_LunarG",
     };
     std::vector<VkExtensionProperties> exts;
-    size_t extSize = sizeof(uint32_t);
     uint32_t extCount = 0;
-    if (!EXPECT(vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_COUNT, 0, &extSize, &extCount) == VK_SUCCESS))
+    if (!EXPECT(vkGetGlobalExtensionCount(&extCount) == VK_SUCCESS))
         return exts;
 
     VkExtensionProperties extProp;
-    extSize = sizeof(VkExtensionProperties);
     // TODO : Need to update this if/when we have more than 1 extension to enable
     for (uint32_t i = 0; i < extCount; i++) {
-        if (!EXPECT(vkGetGlobalExtensionInfo(VK_EXTENSION_INFO_TYPE_PROPERTIES, i, &extSize, &extProp) == VK_SUCCESS))
+        if (!EXPECT(vkGetGlobalExtensionProperties(i, &extProp) == VK_SUCCESS))
             return exts;
 
         if (!strcmp(known_exts[0], extProp.name))
@@ -184,7 +183,7 @@
 {
     uint32_t num_allocations = 1;
     std::vector<VkMemoryRequirements> info =
-        get_info<VkMemoryRequirements>(dev_->obj(), type(), obj(), VK_OBJECT_INFO_TYPE_MEMORY_REQUIREMENTS, 0);
+        get_memory_reqs<VkMemoryRequirements>(dev_->obj(), type(), obj(), 0);
     EXPECT(info.size() == num_allocations);
     if (info.size() == 1 && !info[0].size)
         info.clear();
@@ -352,20 +351,15 @@
 void Device::init_queues()
 {
     VkResult err;
-    size_t data_size;
     uint32_t queue_node_count;
 
-    err = vkGetPhysicalDeviceInfo(gpu_.obj(), VK_PHYSICAL_DEVICE_INFO_TYPE_QUEUE_PROPERTIES,
-                        &data_size, NULL);
+    err = vkGetPhysicalDeviceQueueCount(gpu_.obj(), &queue_node_count);
     EXPECT(err == VK_SUCCESS);
-
-    queue_node_count = data_size / sizeof(VkPhysicalDeviceQueueProperties);
     EXPECT(queue_node_count >= 1);
 
     VkPhysicalDeviceQueueProperties* queue_props = new VkPhysicalDeviceQueueProperties[queue_node_count];
 
-    err = vkGetPhysicalDeviceInfo(gpu_.obj(), VK_PHYSICAL_DEVICE_INFO_TYPE_QUEUE_PROPERTIES,
-                        &data_size, queue_props);
+    err = vkGetPhysicalDeviceQueueProperties(gpu_.obj(), queue_node_count, queue_props);
     EXPECT(err == VK_SUCCESS);
 
     for (uint32_t i = 0; i < queue_node_count; i++) {
@@ -633,10 +627,9 @@
 
 VkSubresourceLayout Image::subresource_layout(const VkImageSubresource &subres) const
 {
-    const VkSubresourceInfoType type = VK_SUBRESOURCE_INFO_TYPE_LAYOUT;
     VkSubresourceLayout data;
     size_t size = sizeof(data);
-    if (!EXPECT(vkGetImageSubresourceInfo(dev_->obj(), obj(), &subres, type, &size, &data) == VK_SUCCESS && size == sizeof(data)))
+    if (!EXPECT(vkGetImageSubresourceLayout(dev_->obj(), obj(), &subres, &data) == VK_SUCCESS && size == sizeof(data)))
         memset(&data, 0, sizeof(data));
 
     return data;
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index d599e2a..1d6a2d9 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -70,14 +70,13 @@
 
     const VkPhysicalDevice &obj() const { return gpu_; }
 
-    // vkGetPhysicalDeviceInfo()
     VkPhysicalDeviceProperties properties() const;
     VkPhysicalDevicePerformance performance() const;
     VkPhysicalDeviceMemoryProperties memory_properties() const;
     std::vector<VkPhysicalDeviceQueueProperties> queue_properties() const;
 
 
-    // vkGetGlobalExtensionInfo()
+    // vkGetGlobalExtensionProperties()
     std::vector<VkExtensionProperties> extensions() const;
 
     // vkEnumerateLayers()
@@ -124,7 +123,7 @@
 public:
     const VkObject &obj() const { return reinterpret_cast<const VkObject &>(BaseObject::obj()); }
 
-    // vkGetObjectInfo()
+    // vkGetObjectMemoryRequirements()
     uint32_t memory_allocation_count() const;
     std::vector<VkMemoryRequirements> memory_requirements() const;
 
@@ -415,7 +414,7 @@
     void bind_memory(const Device &dev, const VkImageMemoryBindInfo &info,
                      const GpuMemory &mem, VkDeviceSize mem_offset);
 
-    // vkGetImageSubresourceInfo()
+    // vkGetImageSubresourceLayout()
     VkSubresourceLayout subresource_layout(const VkImageSubresource &subres) const;
 
     bool transparent() const;
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index e8c8bf5..880fa68 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -267,13 +267,9 @@
         VK_IMAGE_ASPECT_COLOR, 0, 0
     };
     VkSubresourceLayout sr_layout;
-    size_t data_size = sizeof(sr_layout);
    
-    err = vkGetImageSubresourceInfo(image->device()->device(), displayImage.image(), &sr,
-                                      VK_SUBRESOURCE_INFO_TYPE_LAYOUT,
-                                      &data_size, &sr_layout);
+    err = vkGetImageSubresourceLayout(image->device()->device(), displayImage.image(), &sr, &sr_layout);
     ASSERT_VK_SUCCESS( err );
-    ASSERT_EQ(data_size, sizeof(sr_layout));
 
     char *ptr;
     ptr = (char *) displayImage.map();
@@ -376,7 +372,6 @@
     VkSubresourceLayout sr_layout;
     char *ptr;
     VkTestImageRecord record;
-    size_t data_size = sizeof(sr_layout);
     VkImageObj displayImage(image->device());
     VkMemoryPropertyFlags reqs = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
 
@@ -387,11 +382,8 @@
         VK_IMAGE_ASPECT_COLOR, 0, 0
     };
 
-    err = vkGetImageSubresourceInfo(displayImage.device()->device(), displayImage.image(), &sr,
-                                    VK_SUBRESOURCE_INFO_TYPE_LAYOUT,
-                                    &data_size, &sr_layout);
+    err = vkGetImageSubresourceLayout(displayImage.device()->device(), displayImage.image(), &sr, &sr_layout);
     ASSERT_VK_SUCCESS( err );
-    ASSERT_EQ(data_size, sizeof(sr_layout));
 
     err = displayImage.MapMemory( (void **) &ptr );
     ASSERT_VK_SUCCESS( err );