bug 14892: 'count' parameters and members named inconsistently in many cases (WIP)

s/waitSemCount/waitSemaphoreCount/g
s/signalSemCount/signalSemaphoreCount/g
s/cmdBufferCount/commandBufferCount/g
s/queueFamilyCount/queueFamilyIndexCount/g
s/layerCount/enabledLayerNameCount/g
s/extensionCount/enabledExtensionNameCount/g

https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14892
diff --git a/demos/cube.c b/demos/cube.c
index 3a233fa..77a9410 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -442,11 +442,11 @@
     VkSubmitInfo submit_info = {
         .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
         .pNext = NULL,
-        .waitSemCount = 0,
+        .waitSemaphoreCount = 0,
         .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
+        .commandBufferCount = 1,
         .pCommandBuffers = cmd_bufs,
-        .signalSemCount = 0,
+        .signalSemaphoreCount = 0,
         .pSignalSemaphores = NULL
     };
 
@@ -475,7 +475,7 @@
             .pNext = NULL,
             .cmdPool = demo->cmd_pool,
             .level = VK_CMD_BUFFER_LEVEL_PRIMARY,
-            .count = 1,
+            .bufferCount = 1,
         };
 
         err = vkAllocCommandBuffers(demo->device, &cmd, &demo->cmd);
@@ -676,11 +676,11 @@
     VkSubmitInfo submit_info = {
         .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
         .pNext = NULL,
-        .waitSemCount = 1,
+        .waitSemaphoreCount = 1,
         .pWaitSemaphores = &presentCompleteSemaphore,
-        .cmdBufferCount = 1,
+        .commandBufferCount = 1,
         .pCommandBuffers = &demo->buffers[demo->current_buffer].cmd,
-        .signalSemCount = 0,
+        .signalSemaphoreCount = 0,
         .pSignalSemaphores = NULL
     };
 
@@ -1301,8 +1301,8 @@
     const VkDescriptorSetLayoutCreateInfo descriptor_layout = {
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
         .pNext = NULL,
-        .count = 2,
-        .pBinding = layout_bindings,
+        .bindingCount = 2,
+        .pBindings = layout_bindings,
     };
     VkResult U_ASSERT_ONLY err;
 
@@ -1313,7 +1313,7 @@
     const VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo = {
         .sType              = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
         .pNext              = NULL,
-        .descriptorSetCount = 1,
+        .setLayoutCount = 1,
         .pSetLayouts        = &demo->desc_layout,
     };
 
@@ -1360,16 +1360,16 @@
         .pNext = NULL,
         .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS,
         .flags = 0,
-        .inputCount = 0,
+        .inputAttachmentCount = 0,
         .pInputAttachments = NULL,
-        .colorCount = 1,
+        .colorAttachmentCount = 1,
         .pColorAttachments = &color_reference,
         .pResolveAttachments = NULL,
         .depthStencilAttachment = {
             .attachment = 1,
             .layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
         },
-        .preserveCount = 0,
+        .preserveAttachmentCount = 0,
         .pPreserveAttachments = NULL,
     };
     const VkRenderPassCreateInfo rp_info = {
@@ -1666,19 +1666,19 @@
     const VkDescriptorTypeCount type_counts[2] = {
         [0] = {
             .type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-            .count = 1,
+            .descriptorCount = 1,
         },
         [1] = {
             .type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-            .count = DEMO_TEXTURE_COUNT,
+            .descriptorCount = DEMO_TEXTURE_COUNT,
         },
     };
     const VkDescriptorPoolCreateInfo descriptor_pool = {
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = NULL,
         .maxSets = 1,
-        .count = 2,
-        .pTypeCount = type_counts,
+        .typeCount = 2,
+        .pTypeCounts = type_counts,
     };
     VkResult U_ASSERT_ONLY err;
 
@@ -1698,7 +1698,7 @@
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO,
         .pNext = NULL,
         .descriptorPool = demo->desc_pool,
-        .count = 1,
+        .setLayoutCount = 1,
         .pSetLayouts = &demo->desc_layout
     };
     err = vkAllocDescriptorSets(demo->device, &alloc_info, &demo->desc_set);
@@ -1715,14 +1715,14 @@
 
     writes[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     writes[0].destSet = demo->desc_set;
-    writes[0].count = 1;
+    writes[0].descriptorCount = 1;
     writes[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
     writes[0].pBufferInfo = &demo->uniform_data.buffer_info;
 
     writes[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     writes[1].destSet = demo->desc_set;
     writes[1].destBinding = 1;
-    writes[1].count = DEMO_TEXTURE_COUNT;
+    writes[1].descriptorCount = DEMO_TEXTURE_COUNT;
     writes[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
     writes[1].pImageInfo = tex_descs;
 
@@ -1775,7 +1775,7 @@
         .pNext = NULL,
         .cmdPool = demo->cmd_pool,
         .level = VK_CMD_BUFFER_LEVEL_PRIMARY,
-        .count = 1,
+        .bufferCount = 1,
     };
 
     demo_prepare_buffers(demo);
@@ -2269,9 +2269,9 @@
         .pNext = NULL,
         .pAppInfo = &app,
         .pAllocCb = NULL,
-        .layerCount = enabled_layer_count,
+        .enabledLayerNameCount = enabled_layer_count,
         .ppEnabledLayerNames = (const char *const*) ((demo->validate) ? instance_validation_layers : NULL),
-        .extensionCount = enabled_extension_count,
+        .enabledExtensionNameCount = enabled_extension_count,
         .ppEnabledExtensionNames = (const char *const*) extension_names,
     };
 
@@ -2428,7 +2428,7 @@
         .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
         .pNext = NULL,
         .queueFamilyIndex = gfx_queue_idx,
-        .queueCount = 1,
+        .queuePriorityCount = 1,
         .pQueuePriorities = queue_priorities
     };
 
@@ -2437,9 +2437,9 @@
         .pNext = NULL,
         .requestedQueueCount = 1,
         .pRequestedQueues = &queue,
-        .layerCount = enabled_layer_count,
+        .enabledLayerNameCount = enabled_layer_count,
         .ppEnabledLayerNames = (const char *const*) ((demo->validate) ? device_validation_layers : NULL),
-        .extensionCount = enabled_extension_count,
+        .enabledExtensionNameCount = enabled_extension_count,
         .ppEnabledExtensionNames = (const char *const*) extension_names,
         .pEnabledFeatures = NULL, // If specific features are required, pass them in here
     };
diff --git a/demos/tri.c b/demos/tri.c
index dc444a1..83f99b7 100644
--- a/demos/tri.c
+++ b/demos/tri.c
@@ -282,11 +282,11 @@
     VkSubmitInfo submit_info = {
         .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
         .pNext = NULL,
-        .waitSemCount = 0,
+        .waitSemaphoreCount = 0,
         .pWaitSemaphores = NULL,
-        .cmdBufferCount = 1,
+        .commandBufferCount = 1,
         .pCommandBuffers = cmd_bufs,
-        .signalSemCount = 0,
+        .signalSemaphoreCount = 0,
         .pSignalSemaphores = NULL
     };
 
@@ -315,7 +315,7 @@
             .pNext = NULL,
             .cmdPool = demo->cmd_pool,
             .level = VK_CMD_BUFFER_LEVEL_PRIMARY,
-            .count = 1,
+            .bufferCount = 1,
         };
 
         err = vkAllocCommandBuffers(demo->device, &cmd, &demo->setup_cmd);
@@ -496,11 +496,11 @@
     VkSubmitInfo submit_info = {
         .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
         .pNext = NULL,
-        .waitSemCount = 1,
+        .waitSemaphoreCount = 1,
         .pWaitSemaphores = &presentCompleteSemaphore,
-        .cmdBufferCount = 1,
+        .commandBufferCount = 1,
         .pCommandBuffers = &demo->draw_cmd,
-        .signalSemCount = 0,
+        .signalSemaphoreCount = 0,
         .pSignalSemaphores = NULL
     };
 
@@ -1030,9 +1030,9 @@
 
     demo->vertices.vi.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
     demo->vertices.vi.pNext = NULL;
-    demo->vertices.vi.bindingCount = 1;
+    demo->vertices.vi.vertexBindingDescriptionCount = 1;
     demo->vertices.vi.pVertexBindingDescriptions = demo->vertices.vi_bindings;
-    demo->vertices.vi.attributeCount = 2;
+    demo->vertices.vi.vertexAttributeDescriptionCount = 2;
     demo->vertices.vi.pVertexAttributeDescriptions = demo->vertices.vi_attrs;
 
     demo->vertices.vi_bindings[0].binding = VERTEX_BUFFER_BIND_ID;
@@ -1061,8 +1061,8 @@
     const VkDescriptorSetLayoutCreateInfo descriptor_layout = {
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,
         .pNext = NULL,
-        .count = 1,
-        .pBinding = &layout_binding,
+        .bindingCount = 1,
+        .pBindings = &layout_binding,
     };
     VkResult U_ASSERT_ONLY err;
 
@@ -1073,7 +1073,7 @@
     const VkPipelineLayoutCreateInfo pPipelineLayoutCreateInfo = {
         .sType              = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,
         .pNext              = NULL,
-        .descriptorSetCount = 1,
+        .setLayoutCount = 1,
         .pSetLayouts        = &demo->desc_layout,
     };
 
@@ -1120,16 +1120,16 @@
         .pNext = NULL,
         .pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS,
         .flags = 0,
-        .inputCount = 0,
+        .inputAttachmentCount = 0,
         .pInputAttachments = NULL,
-        .colorCount = 1,
+        .colorAttachmentCount = 1,
         .pColorAttachments = &color_reference,
         .pResolveAttachments = NULL,
         .depthStencilAttachment = {
             .attachment = 1,
             .layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL,
         },
-        .preserveCount = 0,
+        .preserveAttachmentCount = 0,
         .pPreserveAttachments = NULL,
     };
     const VkRenderPassCreateInfo rp_info = {
@@ -1415,14 +1415,14 @@
 {
     const VkDescriptorTypeCount type_count = {
         .type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
-        .count = DEMO_TEXTURE_COUNT,
+        .descriptorCount = DEMO_TEXTURE_COUNT,
     };
     const VkDescriptorPoolCreateInfo descriptor_pool = {
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
         .pNext = NULL,
         .maxSets = 1,
-        .count = 1,
-        .pTypeCount = &type_count,
+        .typeCount = 1,
+        .pTypeCounts = &type_count,
     };
     VkResult U_ASSERT_ONLY err;
 
@@ -1442,7 +1442,7 @@
         .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO,
         .pNext = NULL,
         .descriptorPool = demo->desc_pool,
-        .count = 1,
+        .setLayoutCount = 1,
         .pSetLayouts = &demo->desc_layout
     };
     err = vkAllocDescriptorSets(demo->device, &alloc_info, &demo->desc_set);
@@ -1458,7 +1458,7 @@
     memset(&write, 0, sizeof(write));
     write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     write.destSet = demo->desc_set;
-    write.count = DEMO_TEXTURE_COUNT;
+    write.descriptorCount = DEMO_TEXTURE_COUNT;
     write.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
     write.pImageInfo = tex_descs;
 
@@ -1511,7 +1511,7 @@
         .pNext = NULL,
         .cmdPool = demo->cmd_pool,
         .level = VK_CMD_BUFFER_LEVEL_PRIMARY,
-        .count = 1,
+        .bufferCount = 1,
     };
     err = vkAllocCommandBuffers(demo->device, &cmd, &demo->draw_cmd);
     assert(!err);
@@ -1860,9 +1860,9 @@
         .pNext = NULL,
         .pAppInfo = &app,
         .pAllocCb = &cb,
-        .layerCount = enabled_layer_count,
+        .enabledLayerNameCount = enabled_layer_count,
         .ppEnabledLayerNames = (const char *const*) layer_names,
-        .extensionCount = enabled_extension_count,
+        .enabledExtensionNameCount = enabled_extension_count,
         .ppEnabledExtensionNames = (const char *const*) extension_names,
     };
     float queue_priorities[1] = { 0.0 };
@@ -1870,7 +1870,7 @@
         .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
         .pNext = NULL,
         .queueFamilyIndex = 0,
-        .queueCount = 1,
+        .queuePriorityCount = 1,
         .pQueuePriorities = queue_priorities
     };
     uint32_t gpu_count;
@@ -1964,9 +1964,9 @@
         .pNext = NULL,
         .requestedQueueCount = 1,
         .pRequestedQueues = &queue,
-        .layerCount = enabled_layer_count,
+        .enabledLayerNameCount = enabled_layer_count,
         .ppEnabledLayerNames = (const char *const*) ((demo->validate) ? device_validation_layers : NULL),
-        .extensionCount = enabled_extension_count,
+        .enabledExtensionNameCount = enabled_extension_count,
         .ppEnabledExtensionNames = (const char *const*) extension_names,
     };
 
diff --git a/demos/vulkaninfo.c b/demos/vulkaninfo.c
index c8553ef..91ded08 100644
--- a/demos/vulkaninfo.c
+++ b/demos/vulkaninfo.c
@@ -390,9 +390,9 @@
         .pNext = NULL,
         .requestedQueueCount = 0,
         .pRequestedQueues = NULL,
-        .layerCount = 0,
+        .enabledLayerNameCount = 0,
         .ppEnabledLayerNames = NULL,
-        .extensionCount = 0,
+        .enabledExtensionNameCount = 0,
         .ppEnabledExtensionNames = NULL,
     };
     VkResult U_ASSERT_ONLY err;
@@ -475,9 +475,9 @@
     info.requestedQueueCount = gpu->queue_count;
     info.pRequestedQueues = gpu->queue_reqs;
 
-    info.layerCount = 0;
+    info.enabledLayerNameCount = 0;
     info.ppEnabledLayerNames = NULL;
-    info.extensionCount = enabled_extension_count;
+    info.enabledExtensionNameCount = enabled_extension_count;
     info.ppEnabledExtensionNames = (const char*const*) known_extensions;
     dev->gpu = gpu;
     err = vkCreateDevice(gpu->obj, &info, &dev->obj);
@@ -533,9 +533,9 @@
         .pNext = NULL,
         .pAppInfo = &app_info,
         .pAllocCb = NULL,
-        .layerCount = 0,
+        .enabledLayerNameCount = 0,
         .ppEnabledLayerNames = NULL,
-        .extensionCount = 0,
+        .enabledExtensionNameCount = 0,
         .ppEnabledExtensionNames = NULL,
     };
     VkResult U_ASSERT_ONLY err;
@@ -610,7 +610,7 @@
         }
     }
 
-    inst_info.extensionCount = global_extension_count;
+    inst_info.enabledExtensionNameCount = global_extension_count;
     inst_info.ppEnabledExtensionNames = (const char * const *) known_extensions;
 
     err = vkCreateInstance(&inst_info, &inst->instance);
@@ -660,7 +660,7 @@
         gpu->queue_reqs[i].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
         gpu->queue_reqs[i].pNext = NULL;
         gpu->queue_reqs[i].queueFamilyIndex = i;
-        gpu->queue_reqs[i].queueCount = gpu->queue_props[i].queueCount;
+        gpu->queue_reqs[i].queuePriorityCount = gpu->queue_props[i].queueCount;
         gpu->queue_reqs[i].pQueuePriorities = queue_priorities;
     }
 
diff --git a/icd/intel/cmd.c b/icd/intel/cmd.c
index f7a3750..6d71433 100644
--- a/icd/intel/cmd.c
+++ b/icd/intel/cmd.c
@@ -517,7 +517,7 @@
     uint32_t num_allocated = 0;
     VkResult res;
 
-    for (uint32_t i = 0; i < pAllocInfo->count; i++) {
+    for (uint32_t i = 0; i < pAllocInfo->bufferCount; i++) {
         res = intel_cmd_create(dev, pAllocInfo,
             (struct intel_cmd **) &pCmdBuffers[i]);
         if (res != VK_SUCCESS) {
@@ -535,10 +535,10 @@
 ICD_EXPORT void VKAPI vkFreeCommandBuffers(
     VkDevice                            device,
     VkCmdPool                           cmdPool,
-    uint32_t                            count,
+    uint32_t                            commandBufferCount,
     const VkCmdBuffer*                  pCmdBuffers)
 {
-    intel_free_cmd_buffers(intel_cmd_pool(cmdPool), count, pCmdBuffers);
+    intel_free_cmd_buffers(intel_cmd_pool(cmdPool), commandBufferCount, pCmdBuffers);
 }
 
 ICD_EXPORT VkResult VKAPI vkBeginCommandBuffer(
diff --git a/icd/intel/cmd_pipeline.c b/icd/intel/cmd_pipeline.c
index f4a307e..28c92b2 100644
--- a/icd/intel/cmd_pipeline.c
+++ b/icd/intel/cmd_pipeline.c
@@ -3662,7 +3662,7 @@
     VkPipelineBindPoint                     pipelineBindPoint,
     VkPipelineLayout                        layout,
     uint32_t                                firstSet,
-    uint32_t                                setCount,
+    uint32_t                                descriptorSetCount,
     const VkDescriptorSet*                  pDescriptorSets,
     uint32_t                                dynamicOffsetCount,
     const uint32_t*                         pDynamicOffsets)
@@ -3687,7 +3687,7 @@
         break;
     }
 
-    for (i = 0; i < setCount; i++) {
+    for (i = 0; i < descriptorSetCount; i++) {
         struct intel_desc_set *dset = intel_desc_set(pDescriptorSets[i]);
 
         offset_count += pipeline_layout->layouts[firstSet + i]->dynamic_desc_count;
@@ -3758,7 +3758,7 @@
     VkCmdBuffer                              cmdBuffer,
     VkBuffer                                  buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride)
 {
     assert(0 && "vkCmdDrawIndirect not implemented");
@@ -3768,7 +3768,7 @@
     VkCmdBuffer                              cmdBuffer,
     VkBuffer                                  buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride)
 {
     assert(0 && "vkCmdDrawIndexedIndirect not implemented");
diff --git a/icd/intel/desc.c b/icd/intel/desc.c
index 448d40a..ab50390 100644
--- a/icd/intel/desc.c
+++ b/icd/intel/desc.c
@@ -209,8 +209,8 @@
     uint32_t i;
 
     /* calculate sizes needed */
-    for (i = 0; i < info->count; i++) {
-        const VkDescriptorTypeCount *tc = &info->pTypeCount[i];
+    for (i = 0; i < info->typeCount; i++) {
+        const VkDescriptorTypeCount *tc = &info->pTypeCounts[i];
         struct intel_desc_offset size;
         VkResult ret;
 
@@ -218,8 +218,8 @@
         if (ret != VK_SUCCESS)
             return ret;
 
-        surface_size += size.surface * tc->count;
-        sampler_size += size.sampler * tc->count;
+        surface_size += size.surface * tc->descriptorCount;
+        sampler_size += size.sampler * tc->descriptorCount;
     }
 
     surface_size *= max_sets;
@@ -562,16 +562,17 @@
 
     /* allocate bindings */
     layout->bindings = intel_alloc(layout, sizeof(layout->bindings[0]) *
-            info->count, 0, VK_SYSTEM_ALLOC_TYPE_INTERNAL);
+            info->bindingCount, 0, VK_SYSTEM_ALLOC_TYPE_INTERNAL);
     if (!layout->bindings)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
-    memset(layout->bindings, 0, sizeof(layout->bindings[0]) * info->count);
-    layout->binding_count = info->count;
+    memset(layout->bindings, 0,
+            sizeof(layout->bindings[0]) * info->bindingCount);
+    layout->binding_count = info->bindingCount;
 
     /* initialize bindings */
-    for (i = 0; i < info->count; i++) {
-        const VkDescriptorSetLayoutBinding *lb = &info->pBinding[i];
+    for (i = 0; i < info->bindingCount; i++) {
+        const VkDescriptorSetLayoutBinding *lb = &info->pBindings[i];
         struct intel_desc_layout_binding *binding = &layout->bindings[i];
         struct intel_desc_offset size;
 
@@ -692,7 +693,7 @@
                                       struct intel_pipeline_layout      **pipeline_layout_ret)
 {
     struct intel_pipeline_layout *pipeline_layout;
-    uint32_t count = pPipelineCreateInfo->descriptorSetCount;
+    uint32_t count = pPipelineCreateInfo->setLayoutCount;
     uint32_t i;
 
     pipeline_layout = (struct intel_pipeline_layout *) intel_base_create(
@@ -830,7 +831,7 @@
     VkResult ret = VK_SUCCESS;
     uint32_t i;
 
-    for (i = 0; i < pAllocInfo->count; i++) {
+    for (i = 0; i < pAllocInfo->setLayoutCount; i++) {
         const struct intel_desc_layout *layout =
             intel_desc_layout((VkDescriptorSetLayout) pAllocInfo->pSetLayouts[i]);
 
@@ -846,12 +847,12 @@
 ICD_EXPORT VkResult VKAPI vkFreeDescriptorSets(
     VkDevice                                    device,
     VkDescriptorPool                            descriptorPool,
-    uint32_t                                    count,
+    uint32_t                                    descriptorSetCount,
     const VkDescriptorSet*                      pDescriptorSets)
 {
     uint32_t i;
 
-    for (i = 0; i < count; i++) {
+    for (i = 0; i < descriptorSetCount; i++) {
         intel_desc_set_destroy(
            *(struct intel_desc_set **) &pDescriptorSets[i]);
     }
@@ -878,7 +879,7 @@
 
         switch (write->descriptorType) {
         case VK_DESCRIPTOR_TYPE_SAMPLER:
-            for (j = 0; j < write->count; j++) {
+            for (j = 0; j < write->descriptorCount; j++) {
                 const VkDescriptorImageInfo *info = &write->pImageInfo[j];
                 const struct intel_sampler *sampler =
                     intel_sampler(info->sampler);
@@ -905,7 +906,7 @@
                         NULL, &sampler_desc);
             }
 
-            for (j = 0; j < write->count; j++) {
+            for (j = 0; j < write->descriptorCount; j++) {
                 const VkDescriptorImageInfo *info = &write->pImageInfo[j];
                 const struct intel_img_view *img_view =
                     intel_img_view(info->imageView);
@@ -922,7 +923,7 @@
             break;
         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
-            for (j = 0; j < write->count; j++) {
+            for (j = 0; j < write->descriptorCount; j++) {
                 const VkDescriptorImageInfo *info = &write->pImageInfo[j];
                 const struct intel_img_view *img_view =
                     intel_img_view(info->imageView);
@@ -934,7 +935,7 @@
             break;
         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
-            for (j = 0; j < write->count; j++) {
+            for (j = 0; j < write->descriptorCount; j++) {
                 const struct intel_buf_view *buf_view =
                     intel_buf_view(write->pTexelBufferView[j]);
 
@@ -953,7 +954,7 @@
                 memset(&view_info, 0, sizeof(view_info));
                 view_info.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
 
-                for (j = 0; j < write->count; j++) {
+                for (j = 0; j < write->descriptorCount; j++) {
                     const VkDescriptorBufferInfo *info = &write->pBufferInfo[j];
                     struct intel_buf_view buf_view;
 
diff --git a/icd/intel/dev.c b/icd/intel/dev.c
index 4f02058..4e41752 100644
--- a/icd/intel/dev.c
+++ b/icd/intel/dev.c
@@ -76,7 +76,7 @@
         VkResult ret = VK_SUCCESS;
 
         assert((q->queueFamilyIndex < INTEL_GPU_ENGINE_COUNT &&
-            q->queueCount == 1 && !dev->queues[q->queueFamilyIndex]) && "Invalid Queue request");
+            q->queuePriorityCount == 1 && !dev->queues[q->queueFamilyIndex]) && "Invalid Queue request");
         /* Help catch places where we forgot to initialize pQueuePriorities */
         assert(q->pQueuePriorities);
         ret = intel_queue_create(dev, q->queueFamilyIndex,
@@ -112,9 +112,10 @@
     if (!dev)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
-    for (i = 0; i < info->extensionCount; i++) {
-        const enum intel_phy_dev_ext_type ext = intel_gpu_lookup_phy_dev_extension(gpu,
-                info->ppEnabledExtensionNames[i]);
+    for (i = 0; i < info->enabledExtensionNameCount; i++) {
+        const enum intel_phy_dev_ext_type ext =
+            intel_gpu_lookup_phy_dev_extension(gpu,
+                    info->ppEnabledExtensionNames[i]);
 
         if (ext != INTEL_PHY_DEV_EXT_INVALID)
             dev->phy_dev_exts[ext] = true;
diff --git a/icd/intel/fb.c b/icd/intel/fb.c
index 5c9fd4e..2950c47 100644
--- a/icd/intel/fb.c
+++ b/icd/intel/fb.c
@@ -152,9 +152,9 @@
         uint32_t j;
 
         // TODO: Add support for Input Attachment References
-        assert(!(subpass_info->inputCount) && "No ICD support for Input Attachments");
+        assert(!(subpass_info->inputAttachmentCount) && "No ICD support for Input Attachments");
 
-        for (j = 0; j < subpass_info->colorCount; j++) {
+        for (j = 0; j < subpass_info->colorAttachmentCount; j++) {
             const VkAttachmentReference *color_ref =
                 &subpass_info->pColorAttachments[j];
             const VkAttachmentReference *resolve_ref =
@@ -167,7 +167,7 @@
             subpass->color_layouts[j] = color_ref->layout;
         }
 
-        subpass->color_count = subpass_info->colorCount;
+        subpass->color_count = subpass_info->colorAttachmentCount;
 
         subpass->ds_index = subpass_info->depthStencilAttachment.attachment;
         subpass->ds_layout = subpass_info->depthStencilAttachment.layout;
diff --git a/icd/intel/gpu.c b/icd/intel/gpu.c
index 7859c27..223baf1 100644
--- a/icd/intel/gpu.c
+++ b/icd/intel/gpu.c
@@ -456,18 +456,18 @@
 
 ICD_EXPORT void VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice gpu_,
-    uint32_t* pCount,
+    uint32_t* pQueueFamilyPropertyCount,
     VkQueueFamilyProperties* pProperties)
 {
    struct intel_gpu *gpu = intel_gpu(gpu_);
    int engine;
 
    if (pProperties == NULL) {
-       *pCount = INTEL_GPU_ENGINE_COUNT;
+       *pQueueFamilyPropertyCount = INTEL_GPU_ENGINE_COUNT;
        return;
    }
 
-   for (engine = 0; engine < *pCount; engine++) {
+   for (engine = 0; engine < *pQueueFamilyPropertyCount; engine++) {
        intel_gpu_get_queue_props(gpu, engine, pProperties);
        pProperties++;
    }
@@ -499,20 +499,20 @@
 ICD_EXPORT VkResult VKAPI vkEnumerateDeviceExtensionProperties(
         VkPhysicalDevice                            physicalDevice,
         const char*                                 pLayerName,
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkExtensionProperties*                      pProperties)
 {
     uint32_t copy_size;
     uint32_t extension_count = ARRAY_SIZE(intel_phy_dev_gpu_exts);
 
     if (pProperties == NULL) {
-        *pCount = INTEL_PHY_DEV_EXT_COUNT;
+        *pPropertyCount = INTEL_PHY_DEV_EXT_COUNT;
         return VK_SUCCESS;
     }
 
-    copy_size = *pCount < extension_count ? *pCount : extension_count;
+    copy_size = *pPropertyCount < extension_count ? *pPropertyCount : extension_count;
     memcpy(pProperties, intel_phy_dev_gpu_exts, copy_size * sizeof(VkExtensionProperties));
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
     if (copy_size < extension_count) {
         return VK_INCOMPLETE;
     }
@@ -522,10 +522,10 @@
 
 ICD_EXPORT VkResult VKAPI vkEnumerateDeviceLayerProperties(
         VkPhysicalDevice                            physicalDevice,
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkLayerProperties*                          pProperties)
 {
-    *pCount = 0;
+    *pPropertyCount = 0;
     return VK_SUCCESS;
 }
 
@@ -536,9 +536,9 @@
     uint32_t                                    samples,
     VkImageUsageFlags                           usage,
     VkImageTiling                               tiling,
-    uint32_t*                                   pNumProperties,
+    uint32_t*                                   pPropertyCount,
     VkSparseImageFormatProperties*              pProperties)
 {
-    *pNumProperties = 0;
+    *pPropertyCount = 0;
 }
 
diff --git a/icd/intel/img.c b/icd/intel/img.c
index 207ec09..9322973 100644
--- a/icd/intel/img.c
+++ b/icd/intel/img.c
@@ -184,8 +184,8 @@
 void VKAPI vkGetImageSparseMemoryRequirements(
     VkDevice                                    device,
     VkImage                                     image,
-    uint32_t*                                   pNumRequirements,
+    uint32_t*                                   pSparseMemoryRequirementCount,
     VkSparseImageMemoryRequirements*            pSparseMemoryRequirements)
 {
-    *pNumRequirements = 0;
+    *pSparseMemoryRequirementCount = 0;
 }
diff --git a/icd/intel/instance.c b/icd/intel/instance.c
index df0ae86..890a513 100644
--- a/icd/intel/instance.c
+++ b/icd/intel/instance.c
@@ -170,8 +170,10 @@
 
     instance->icd = icd;
 
-    for (i = 0; i < info->extensionCount; i++) {
-        const enum intel_global_ext_type ext = intel_gpu_lookup_global_extension(info->ppEnabledExtensionNames[i]);
+    for (i = 0; i < info->enabledExtensionNameCount; i++) {
+        const enum intel_global_ext_type ext =
+            intel_gpu_lookup_global_extension(
+                    info->ppEnabledExtensionNames[i]);
 
         if (ext != INTEL_GLOBAL_EXT_INVALID) {
             instance->global_exts[ext] = true;
@@ -189,7 +191,7 @@
     /*
      * This ICD does not support any layers.
      */
-    if (info->layerCount > 0) {
+    if (info->enabledLayerNameCount > 0) {
         icd_instance_destroy(icd);
         intel_instance_destroy(instance);
         return VK_ERROR_LAYER_NOT_PRESENT;
@@ -232,19 +234,19 @@
 
 ICD_EXPORT VkResult VKAPI vkEnumerateInstanceExtensionProperties(
         const char*                                 pLayerName,
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkExtensionProperties*                      pProperties)
 {
     uint32_t copy_size;
 
     if (pProperties == NULL) {
-        *pCount = INTEL_GLOBAL_EXT_COUNT;
+        *pPropertyCount = INTEL_GLOBAL_EXT_COUNT;
         return VK_SUCCESS;
     }
 
-    copy_size = *pCount < INTEL_GLOBAL_EXT_COUNT ? *pCount : INTEL_GLOBAL_EXT_COUNT;
+    copy_size = *pPropertyCount < INTEL_GLOBAL_EXT_COUNT ? *pPropertyCount : INTEL_GLOBAL_EXT_COUNT;
     memcpy(pProperties, intel_global_exts, copy_size * sizeof(VkExtensionProperties));
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
     if (copy_size < INTEL_GLOBAL_EXT_COUNT) {
         return VK_INCOMPLETE;
     }
@@ -253,10 +255,10 @@
 }
 
 ICD_EXPORT VkResult VKAPI vkEnumerateInstanceLayerProperties(
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkLayerProperties*                          pProperties)
 {
-    *pCount = 0;
+    *pPropertyCount = 0;
     return VK_SUCCESS;
 }
 
diff --git a/icd/intel/obj.c b/icd/intel/obj.c
index f8a2b0b..27135b9 100644
--- a/icd/intel/obj.c
+++ b/icd/intel/obj.c
@@ -171,12 +171,14 @@
         size = sizeof(*src);
         dbg->create_info_size = size;
 
-        size += sizeof(src->pRequestedQueues[0]) * src->requestedQueueCount;
+        size += sizeof(src->pRequestedQueues[0]) *
+            src->requestedQueueCount;
         for (uint32_t i = 0; i < src->requestedQueueCount; i++) {
-            size += src->pRequestedQueues[i].queueCount * sizeof(float);
+            size += src->pRequestedQueues[i].queuePriorityCount * sizeof(float);
         }
-        size += sizeof(src->ppEnabledExtensionNames[0]) * src->extensionCount;
-        for (uint32_t i = 0; i < src->extensionCount; i++) {
+        size += sizeof(src->ppEnabledExtensionNames[0]) *
+            src->enabledExtensionNameCount;
+        for (uint32_t i = 0; i < src->enabledExtensionNameCount; i++) {
             size += strlen(src->ppEnabledExtensionNames[i]) + 1;
         }
 
@@ -194,17 +196,19 @@
         dst->pRequestedQueues = (const VkDeviceQueueCreateInfo *) d;
         d += size;
         for (uint32_t i = 0; i < src->requestedQueueCount; i++) {
-            size = sizeof(float) * dst->pRequestedQueues[i].queueCount;
+            size = sizeof(float) *
+                dst->pRequestedQueues[i].queuePriorityCount;
             memcpy(d, src->pRequestedQueues[i].pQueuePriorities, size);
             *((float **) &dst->pRequestedQueues[i].pQueuePriorities) = (float *) d;
             d += size;
         }
 
-        size = sizeof(src->ppEnabledExtensionNames[0]) * src->extensionCount;
+        size = sizeof(src->ppEnabledExtensionNames[0]) *
+            src->enabledExtensionNameCount;
         dst->ppEnabledExtensionNames = (const char **) d;
         memcpy(d, src->ppEnabledExtensionNames, size);
         d += size;
-        for (uint32_t i = 0; i < src->extensionCount; i++) {
+        for (uint32_t i = 0; i < src->enabledExtensionNameCount; i++) {
             char **ptr = (char **) &dst->ppEnabledExtensionNames[i];
             strcpy((char *) d, src->ppEnabledExtensionNames[i]);
             *ptr = (char *) d;
@@ -359,7 +363,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory(
     VkQueue                                     queue,
     VkBuffer                                    buffer,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo)
 {
     assert(0 && "vkQueueBindSparseBufferMemory not supported");
@@ -369,7 +373,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo)
 {
     assert(0 && "vkQueueBindSparseImageOpaqueMemory not supported");
@@ -380,7 +384,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseImageMemoryBindInfo*          pBindInfo)
 {
     assert(0 && "vkQueueBindSparseImageMemory not supported");
diff --git a/icd/intel/pipeline.c b/icd/intel/pipeline.c
index 153a1fe..503e771 100644
--- a/icd/intel/pipeline.c
+++ b/icd/intel/pipeline.c
@@ -664,7 +664,7 @@
          * to find the corresponding attribute record and then
          * set up the next HW vertex element based on that attribute.
          */
-        for (j = 0; j < info->vi.attributeCount; j++) {
+        for (j = 0; j < info->vi.vertexAttributeDescriptionCount; j++) {
             if (info->vi.pVertexAttributeDescriptions[j].location == i) {
                 attr = (VkVertexInputAttributeDescription *) &info->vi.pVertexAttributeDescriptions[j];
                 attrs_processed++;
@@ -1140,12 +1140,12 @@
      *  to API-defined maxVertexInputBindings setting and then
      *  this check can be in DeviceLimits layer
      */
-    if (info->vi.bindingCount > ARRAY_SIZE(pipeline->vb) ||
-        info->vi.attributeCount > ARRAY_SIZE(pipeline->vb)) {
+    if (info->vi.vertexBindingDescriptionCount > ARRAY_SIZE(pipeline->vb) ||
+        info->vi.vertexAttributeDescriptionCount > ARRAY_SIZE(pipeline->vb)) {
         return VK_ERROR_VALIDATION_FAILED;
     }
 
-    pipeline->vb_count = info->vi.bindingCount;
+    pipeline->vb_count = info->vi.vertexBindingDescriptionCount;
     memcpy(pipeline->vb, info->vi.pVertexBindingDescriptions,
             sizeof(pipeline->vb[0]) * pipeline->vb_count);
 
@@ -1385,7 +1385,7 @@
 ICD_EXPORT VkResult VKAPI vkCreateGraphicsPipelines(
     VkDevice                                  device,
     VkPipelineCache                           pipelineCache,
-    uint32_t                                  count,
+    uint32_t                                  createInfoCount,
     const VkGraphicsPipelineCreateInfo*       pCreateInfos,
     VkPipeline*                               pPipelines)
 {
@@ -1394,7 +1394,7 @@
     VkResult res = VK_SUCCESS;
     bool one_succeeded = false;
 
-    for (i = 0; i < count; i++) {
+    for (i = 0; i < createInfoCount; i++) {
         res =  graphics_pipeline_create(dev, &(pCreateInfos[i]),
             (struct intel_pipeline **) &(pPipelines[i]));
         //return NULL handle for unsuccessful creates
@@ -1413,7 +1413,7 @@
 ICD_EXPORT VkResult VKAPI vkCreateComputePipelines(
     VkDevice                                  device,
     VkPipelineCache                           pipelineCache,
-    uint32_t                                  count,
+    uint32_t                                  createInfoCount,
     const VkComputePipelineCreateInfo*        pCreateInfos,
     VkPipeline*                               pPipelines)
 {
diff --git a/icd/intel/queue.c b/icd/intel/queue.c
index 83b3a01..5565a5f 100644
--- a/icd/intel/queue.c
+++ b/icd/intel/queue.c
@@ -384,20 +384,20 @@
 
         const VkSubmitInfo *submit = &pSubmitInfo[submit_idx];
 
-        for (i = 0; i < submit->waitSemCount; i++) {
+        for (i = 0; i < submit->waitSemaphoreCount; i++) {
             struct intel_semaphore *pSemaphore = intel_semaphore(submit->pWaitSemaphores[i]);
             intel_wait_queue_semaphore(queue, pSemaphore);
         }
 
         if (unlikely(intel_debug)) {
-            for (i = 0; i < submit->cmdBufferCount; i++) {
+            for (i = 0; i < submit->commandBufferCount; i++) {
                 struct intel_cmd *cmd = intel_cmd(submit->pCommandBuffers[i]);
                 ret = queue_submit_cmd_debug(queue, cmd);
                 if (ret != VK_SUCCESS)
                     break;
             }
         } else {
-            for (i = 0; i < submit->cmdBufferCount; i++) {
+            for (i = 0; i < submit->commandBufferCount; i++) {
                 struct intel_cmd *cmd = intel_cmd(submit->pCommandBuffers[i]);
                 ret = queue_submit_cmd(queue, cmd);
                 if (ret != VK_SUCCESS)
@@ -427,7 +427,7 @@
             intel_bo_wait(last_bo, -1);
         }
 
-        for (i = 0; i < submit->signalSemCount; i++) {
+        for (i = 0; i < submit->signalSemaphoreCount; i++) {
             struct intel_semaphore *pSemaphore = intel_semaphore(submit->pSignalSemaphores[i]);
             intel_signal_queue_semaphore(queue, pSemaphore);
         }
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c
index 5d2e62d..b217e22 100644
--- a/icd/nulldrv/nulldrv.c
+++ b/icd/nulldrv/nulldrv.c
@@ -135,7 +135,7 @@
         const VkDeviceQueueCreateInfo *q = &queues[i];
         VkResult ret = VK_SUCCESS;
 
-        if (q->queueCount == 1 && !dev->queues[q->queueFamilyIndex]) {
+        if (q->queuePriorityCount == 1 && !dev->queues[q->queueFamilyIndex]) {
             ret = nulldrv_queue_create(dev, q->queueFamilyIndex,
                     &dev->queues[q->queueFamilyIndex]);
         }
@@ -196,7 +196,7 @@
     if (!dev)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
-    for (i = 0; i < info->extensionCount; i++) {
+    for (i = 0; i < info->enabledExtensionNameCount; i++) {
         const enum nulldrv_ext_type ext = nulldrv_gpu_lookup_extension(
                     gpu,
                     info->ppEnabledExtensionNames[i]);
@@ -487,7 +487,7 @@
     struct nulldrv_cmd *cmd;
     uint32_t num_allocated = 0;
 
-    for (uint32_t i = 0; i < info->count; i++) {
+    for (uint32_t i = 0; i < info->bufferCount; i++) {
         cmd = (struct nulldrv_cmd *) nulldrv_base_create(dev, sizeof(*cmd),
                 VK_OBJECT_TYPE_COMMAND_BUFFER);
         if (!cmd) {
@@ -666,11 +666,11 @@
 ICD_EXPORT void VKAPI vkFreeCommandBuffers(
     VkDevice                                  device,
     VkCmdPool                                 cmdPool,
-    uint32_t                                  count,
+    uint32_t                                  commandBufferCount,
     const VkCmdBuffer*                        pCmdBuffers)
 {
     NULLDRV_LOG_FUNC;
-    for (uint32_t i = 0; i < count; i++) {
+    for (uint32_t i = 0; i < commandBufferCount; i++) {
         free(pCmdBuffers[i]);
     }
 }
@@ -1126,7 +1126,7 @@
     VkPipelineBindPoint                     pipelineBindPoint,
     VkPipelineLayout                        layout,
     uint32_t                                firstSet,
-    uint32_t                                setCount,
+    uint32_t                                descriptorSetCount,
     const VkDescriptorSet*                  pDescriptorSets,
     uint32_t                                dynamicOffsetCount,
     const uint32_t*                         pDynamicOffsets)
@@ -1178,7 +1178,7 @@
     VkCmdBuffer                              cmdBuffer,
     VkBuffer                                  buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride)
 {
     NULLDRV_LOG_FUNC;
@@ -1188,7 +1188,7 @@
     VkCmdBuffer                              cmdBuffer,
     VkBuffer                                  buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride)
 {
     NULLDRV_LOG_FUNC;
@@ -1397,11 +1397,11 @@
 
 ICD_EXPORT void VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice                             gpu_,
-    uint32_t*                                    pCount,
+    uint32_t*                                    pQueueFamilyPropertyCount,
     VkQueueFamilyProperties*                     pProperties)
  {
     if (pProperties == NULL) {
-        *pCount = 1;
+        *pQueueFamilyPropertyCount = 1;
         return;
     }
     pProperties->queueFlags = VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_SPARSE_MEMMGR_BIT;
@@ -1418,7 +1418,7 @@
 
 ICD_EXPORT VkResult VKAPI vkEnumerateDeviceLayerProperties(
         VkPhysicalDevice                            physicalDevice,
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkLayerProperties*                          pProperties)
 {
     // TODO: Fill in with real data
@@ -1427,26 +1427,26 @@
 
 ICD_EXPORT VkResult VKAPI vkEnumerateInstanceExtensionProperties(
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties)
 {
     uint32_t copy_size;
 
     if (pProperties == NULL) {
-        *pCount = NULLDRV_EXT_COUNT;
+        *pPropertyCount = NULLDRV_EXT_COUNT;
         return VK_SUCCESS;
     }
 
-    copy_size = *pCount < NULLDRV_EXT_COUNT ? *pCount : NULLDRV_EXT_COUNT;
+    copy_size = *pPropertyCount < NULLDRV_EXT_COUNT ? *pPropertyCount : NULLDRV_EXT_COUNT;
     memcpy(pProperties, intel_gpu_exts, copy_size * sizeof(VkExtensionProperties));
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
     if (copy_size < NULLDRV_EXT_COUNT) {
         return VK_INCOMPLETE;
     }
     return VK_SUCCESS;
 }
 ICD_EXPORT VkResult VKAPI vkEnumerateInstanceLayerProperties(
-        uint32_t*                                   pCount,
+        uint32_t*                                   pPropertyCount,
         VkLayerProperties*                          pProperties)
 {
     // TODO: Fill in with real data
@@ -1456,11 +1456,11 @@
 VkResult VKAPI vkEnumerateDeviceExtensionProperties(
     VkPhysicalDevice                            physicalDevice,
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties)
 {
 
-    *pCount = 0;
+    *pPropertyCount = 0;
 
     return VK_SUCCESS;
 }
@@ -1661,7 +1661,7 @@
 ICD_EXPORT void VKAPI vkGetImageSparseMemoryRequirements(
     VkDevice                                    device,
     VkImage                                     image,
-    uint32_t*                                   pNumRequirements,
+    uint32_t*                                   pSparseMemoryRequirementCount,
     VkSparseImageMemoryRequirements*            pSparseMemoryRequirements)
 {
     NULLDRV_LOG_FUNC;
@@ -1674,7 +1674,7 @@
     uint32_t                                    samples,
     VkImageUsageFlags                           usage,
     VkImageTiling                               tiling,
-    uint32_t*                                   pNumProperties,
+    uint32_t*                                   pPropertyCount,
     VkSparseImageFormatProperties*              pProperties)
 {
     NULLDRV_LOG_FUNC;
@@ -1683,7 +1683,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory(
     VkQueue                                     queue,
     VkBuffer                                    buffer,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo)
 {
     NULLDRV_LOG_FUNC;
@@ -1693,7 +1693,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo)
 {
     NULLDRV_LOG_FUNC;
@@ -1703,7 +1703,7 @@
 ICD_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseImageMemoryBindInfo*          pBindInfo)
 {
     NULLDRV_LOG_FUNC;
@@ -1755,7 +1755,7 @@
 ICD_EXPORT VkResult VKAPI vkCreateGraphicsPipelines(
     VkDevice                                  device,
     VkPipelineCache                           pipelineCache,
-    uint32_t                                  count,
+    uint32_t                                  createInfoCount,
     const VkGraphicsPipelineCreateInfo*    pCreateInfo,
     VkPipeline*                               pPipeline)
 {
@@ -1771,7 +1771,7 @@
 ICD_EXPORT VkResult VKAPI vkCreateComputePipelines(
     VkDevice                                  device,
     VkPipelineCache                           pipelineCache,
-    uint32_t                                  count,
+    uint32_t                                  createInfoCount,
     const VkComputePipelineCreateInfo*     pCreateInfo,
     VkPipeline*                               pPipeline)
 {
@@ -2017,7 +2017,7 @@
     VkResult ret = VK_SUCCESS;
     uint32_t i;
 
-    for (i = 0; i < pAllocInfo->count; i++) {
+    for (i = 0; i < pAllocInfo->setLayoutCount; i++) {
         const struct nulldrv_desc_layout *layout =
             nulldrv_desc_layout(pAllocInfo->pSetLayouts[i]);
 
@@ -2033,7 +2033,7 @@
 ICD_EXPORT VkResult VKAPI vkFreeDescriptorSets(
     VkDevice                                    device,
     VkDescriptorPool                            descriptorPool,
-    uint32_t                                    count,
+    uint32_t                                    descriptorSetCount,
     const VkDescriptorSet*                      pDescriptorSets)
 {
     NULLDRV_LOG_FUNC;
diff --git a/include/vulkan.h b/include/vulkan.h
index 742e086..6624b8e 100644
--- a/include/vulkan.h
+++ b/include/vulkan.h
@@ -1055,9 +1055,9 @@
     const void*                                 pNext;
     const VkApplicationInfo*                    pAppInfo;
     const VkAllocCallbacks*                     pAllocCb;
-    uint32_t                                    layerCount;
+    uint32_t                                    enabledLayerNameCount;
     const char*const*                           ppEnabledLayerNames;
-    uint32_t                                    extensionCount;
+    uint32_t                                    enabledExtensionNameCount;
     const char*const*                           ppEnabledExtensionNames;
 } VkInstanceCreateInfo;
 
@@ -1286,7 +1286,7 @@
     VkStructureType                             sType;
     const void*                                 pNext;
     uint32_t                                    queueFamilyIndex;
-    uint32_t                                    queueCount;
+    uint32_t                                    queuePriorityCount;
     const float*                                pQueuePriorities;
 } VkDeviceQueueCreateInfo;
 
@@ -1295,9 +1295,9 @@
     const void*                                 pNext;
     uint32_t                                    requestedQueueCount;
     const VkDeviceQueueCreateInfo*              pRequestedQueues;
-    uint32_t                                    layerCount;
+    uint32_t                                    enabledLayerNameCount;
     const char*const*                           ppEnabledLayerNames;
-    uint32_t                                    extensionCount;
+    uint32_t                                    enabledExtensionNameCount;
     const char*const*                           ppEnabledExtensionNames;
     const VkPhysicalDeviceFeatures*             pEnabledFeatures;
 } VkDeviceCreateInfo;
@@ -1317,11 +1317,11 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    uint32_t                                    waitSemCount;
+    uint32_t                                    waitSemaphoreCount;
     const VkSemaphore*                          pWaitSemaphores;
-    uint32_t                                    cmdBufferCount;
+    uint32_t                                    commandBufferCount;
     const VkCmdBuffer*                          pCommandBuffers;
-    uint32_t                                    signalSemCount;
+    uint32_t                                    signalSemaphoreCount;
     const VkSemaphore*                          pSignalSemaphores;
 } VkSubmitInfo;
 
@@ -1422,7 +1422,7 @@
     VkBufferUsageFlags                          usage;
     VkBufferCreateFlags                         flags;
     VkSharingMode                               sharingMode;
-    uint32_t                                    queueFamilyCount;
+    uint32_t                                    queueFamilyIndexCount;
     const uint32_t*                             pQueueFamilyIndices;
 } VkBufferCreateInfo;
 
@@ -1448,7 +1448,7 @@
     VkImageUsageFlags                           usage;
     VkImageCreateFlags                          flags;
     VkSharingMode                               sharingMode;
-    uint32_t                                    queueFamilyCount;
+    uint32_t                                    queueFamilyIndexCount;
     const uint32_t*                             pQueueFamilyIndices;
     VkImageLayout                               initialLayout;
 } VkImageCreateInfo;
@@ -1547,9 +1547,9 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    uint32_t                                    bindingCount;
+    uint32_t                                    vertexBindingDescriptionCount;
     const VkVertexInputBindingDescription*      pVertexBindingDescriptions;
-    uint32_t                                    attributeCount;
+    uint32_t                                    vertexAttributeDescriptionCount;
     const VkVertexInputAttributeDescription*    pVertexAttributeDescriptions;
 } VkPipelineVertexInputStateCreateInfo;
 
@@ -1718,7 +1718,7 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    uint32_t                                    descriptorSetCount;
+    uint32_t                                    setLayoutCount;
     const VkDescriptorSetLayout*                pSetLayouts;
     uint32_t                                    pushConstantRangeCount;
     const VkPushConstantRange*                  pPushConstantRanges;
@@ -1753,13 +1753,13 @@
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
-    uint32_t                                    count;
-    const VkDescriptorSetLayoutBinding*         pBinding;
+    uint32_t                                    bindingCount;
+    const VkDescriptorSetLayoutBinding*         pBindings;
 } VkDescriptorSetLayoutCreateInfo;
 
 typedef struct {
     VkDescriptorType                            type;
-    uint32_t                                    count;
+    uint32_t                                    descriptorCount;
 } VkDescriptorTypeCount;
 
 typedef struct {
@@ -1767,15 +1767,15 @@
     const void*                                 pNext;
     VkDescriptorPoolCreateFlags                 flags;
     uint32_t                                    maxSets;
-    uint32_t                                    count;
-    const VkDescriptorTypeCount*                pTypeCount;
+    uint32_t                                    typeCount;
+    const VkDescriptorTypeCount*                pTypeCounts;
 } VkDescriptorPoolCreateInfo;
 
 typedef struct {
     VkStructureType                             sType;
     const void*                                 pNext;
     VkDescriptorPool                            descriptorPool;
-    uint32_t                                    count;
+    uint32_t                                    setLayoutCount;
     const VkDescriptorSetLayout*                pSetLayouts;
 } VkDescriptorSetAllocInfo;
 
@@ -1797,7 +1797,7 @@
     VkDescriptorSet                             destSet;
     uint32_t                                    destBinding;
     uint32_t                                    destArrayElement;
-    uint32_t                                    count;
+    uint32_t                                    descriptorCount;
     VkDescriptorType                            descriptorType;
     const VkDescriptorImageInfo*                pImageInfo;
     const VkDescriptorBufferInfo*               pBufferInfo;
@@ -1813,7 +1813,7 @@
     VkDescriptorSet                             destSet;
     uint32_t                                    destBinding;
     uint32_t                                    destArrayElement;
-    uint32_t                                    count;
+    uint32_t                                    descriptorCount;
 } VkCopyDescriptorSet;
 
 typedef struct {
@@ -1851,13 +1851,13 @@
     const void*                                 pNext;
     VkPipelineBindPoint                         pipelineBindPoint;
     VkSubpassDescriptionFlags                   flags;
-    uint32_t                                    inputCount;
+    uint32_t                                    inputAttachmentCount;
     const VkAttachmentReference*                pInputAttachments;
-    uint32_t                                    colorCount;
+    uint32_t                                    colorAttachmentCount;
     const VkAttachmentReference*                pColorAttachments;
     const VkAttachmentReference*                pResolveAttachments;
     VkAttachmentReference                       depthStencilAttachment;
-    uint32_t                                    preserveCount;
+    uint32_t                                    preserveAttachmentCount;
     const VkAttachmentReference*                pPreserveAttachments;
 } VkSubpassDescription;
 
@@ -1896,7 +1896,7 @@
     const void*                                 pNext;
     VkCmdPool                                   cmdPool;
     VkCmdBufferLevel                            level;
-    uint32_t                                    count;
+    uint32_t                                    bufferCount;
 } VkCmdBufferAllocInfo;
 
 typedef struct {
@@ -2054,16 +2054,16 @@
 typedef void (VKAPI *PFN_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
 typedef void (VKAPI *PFN_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
 typedef void (VKAPI *PFN_vkGetPhysicalDeviceProperties)(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
-typedef void (VKAPI *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkQueueFamilyProperties* pQueueFamilyProperties);
+typedef void (VKAPI *PFN_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
 typedef void (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);
 typedef VkResult (VKAPI *PFN_vkCreateDevice)(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, VkDevice* pDevice);
 typedef void (VKAPI *PFN_vkDestroyDevice)(VkDevice device);
-typedef VkResult (VKAPI *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pCount, VkExtensionProperties* pProperties);
-typedef VkResult (VKAPI *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pCount, VkExtensionProperties* pProperties);
-typedef VkResult (VKAPI *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pCount, VkLayerProperties* pProperties);
-typedef VkResult (VKAPI *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pCount, VkLayerProperties* pProperties);
+typedef VkResult (VKAPI *PFN_vkEnumerateInstanceExtensionProperties)(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
+typedef VkResult (VKAPI *PFN_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
+typedef VkResult (VKAPI *PFN_vkEnumerateInstanceLayerProperties)(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
+typedef VkResult (VKAPI *PFN_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
 typedef void (VKAPI *PFN_vkGetDeviceQueue)(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
 typedef VkResult (VKAPI *PFN_vkQueueSubmit)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmitInfo, VkFence fence);
 typedef VkResult (VKAPI *PFN_vkQueueWaitIdle)(VkQueue queue);
@@ -2079,11 +2079,11 @@
 typedef VkResult (VKAPI *PFN_vkBindImageMemory)(VkDevice device, VkImage image, VkDeviceMemory mem, VkDeviceSize memOffset);
 typedef void (VKAPI *PFN_vkGetBufferMemoryRequirements)(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
 typedef void (VKAPI *PFN_vkGetImageMemoryRequirements)(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
-typedef void (VKAPI *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pNumRequirements, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
-typedef void (VKAPI *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, uint32_t samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pNumProperties, VkSparseImageFormatProperties* pProperties);
-typedef VkResult (VKAPI *PFN_vkQueueBindSparseBufferMemory)(VkQueue queue, VkBuffer buffer, uint32_t numBindings, const VkSparseMemoryBindInfo* pBindInfo);
-typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageOpaqueMemory)(VkQueue queue, VkImage image, uint32_t numBindings, const VkSparseMemoryBindInfo* pBindInfo);
-typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageMemory)(VkQueue queue, VkImage image, uint32_t numBindings, const VkSparseImageMemoryBindInfo* pBindInfo);
+typedef void (VKAPI *PFN_vkGetImageSparseMemoryRequirements)(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
+typedef void (VKAPI *PFN_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, uint32_t samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
+typedef VkResult (VKAPI *PFN_vkQueueBindSparseBufferMemory)(VkQueue queue, VkBuffer buffer, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo);
+typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageOpaqueMemory)(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo);
+typedef VkResult (VKAPI *PFN_vkQueueBindSparseImageMemory)(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseImageMemoryBindInfo* pBindInfo);
 typedef VkResult (VKAPI *PFN_vkCreateFence)(VkDevice device, const VkFenceCreateInfo* pCreateInfo, VkFence* pFence);
 typedef void (VKAPI *PFN_vkDestroyFence)(VkDevice device, VkFence fence);
 typedef VkResult (VKAPI *PFN_vkResetFences)(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
@@ -2116,8 +2116,8 @@
 typedef void (VKAPI *PFN_vkDestroyPipelineCache)(VkDevice device, VkPipelineCache pipelineCache);
 typedef VkResult (VKAPI *PFN_vkGetPipelineCacheData)(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
 typedef VkResult (VKAPI *PFN_vkMergePipelineCaches)(VkDevice device, VkPipelineCache destCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
-typedef VkResult (VKAPI *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t count, const VkGraphicsPipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines);
-typedef VkResult (VKAPI *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t count, const VkComputePipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines);
+typedef VkResult (VKAPI *PFN_vkCreateGraphicsPipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines);
+typedef VkResult (VKAPI *PFN_vkCreateComputePipelines)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines);
 typedef void (VKAPI *PFN_vkDestroyPipeline)(VkDevice device, VkPipeline pipeline);
 typedef VkResult (VKAPI *PFN_vkCreatePipelineLayout)(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, VkPipelineLayout* pPipelineLayout);
 typedef void (VKAPI *PFN_vkDestroyPipelineLayout)(VkDevice device, VkPipelineLayout pipelineLayout);
@@ -2129,7 +2129,7 @@
 typedef void (VKAPI *PFN_vkDestroyDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool);
 typedef VkResult (VKAPI *PFN_vkResetDescriptorPool)(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
 typedef VkResult (VKAPI *PFN_vkAllocDescriptorSets)(VkDevice device, const VkDescriptorSetAllocInfo* pAllocInfo, VkDescriptorSet* pDescriptorSets);
-typedef VkResult (VKAPI *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t count, const VkDescriptorSet* pDescriptorSets);
+typedef VkResult (VKAPI *PFN_vkFreeDescriptorSets)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
 typedef void (VKAPI *PFN_vkUpdateDescriptorSets)(VkDevice device, uint32_t writeCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t copyCount, const VkCopyDescriptorSet* pDescriptorCopies);
 typedef VkResult (VKAPI *PFN_vkCreateFramebuffer)(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, VkFramebuffer* pFramebuffer);
 typedef void (VKAPI *PFN_vkDestroyFramebuffer)(VkDevice device, VkFramebuffer framebuffer);
@@ -2140,7 +2140,7 @@
 typedef void (VKAPI *PFN_vkDestroyCommandPool)(VkDevice device, VkCmdPool cmdPool);
 typedef VkResult (VKAPI *PFN_vkResetCommandPool)(VkDevice device, VkCmdPool cmdPool, VkCmdPoolResetFlags flags);
 typedef VkResult (VKAPI *PFN_vkAllocCommandBuffers)(VkDevice device, const VkCmdBufferAllocInfo* pAllocInfo, VkCmdBuffer* pCmdBuffers);
-typedef void (VKAPI *PFN_vkFreeCommandBuffers)(VkDevice device, VkCmdPool cmdPool, uint32_t count, const VkCmdBuffer* pCommandBuffers);
+typedef void (VKAPI *PFN_vkFreeCommandBuffers)(VkDevice device, VkCmdPool cmdPool, uint32_t commandBufferCount, const VkCmdBuffer* pCommandBuffers);
 typedef VkResult (VKAPI *PFN_vkBeginCommandBuffer)(VkCmdBuffer cmdBuffer, const VkCmdBufferBeginInfo* pBeginInfo);
 typedef VkResult (VKAPI *PFN_vkEndCommandBuffer)(VkCmdBuffer cmdBuffer);
 typedef VkResult (VKAPI *PFN_vkResetCommandBuffer)(VkCmdBuffer cmdBuffer, VkCmdBufferResetFlags flags);
@@ -2154,13 +2154,13 @@
 typedef void (VKAPI *PFN_vkCmdSetStencilCompareMask)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilCompareMask);
 typedef void (VKAPI *PFN_vkCmdSetStencilWriteMask)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilWriteMask);
 typedef void (VKAPI *PFN_vkCmdSetStencilReference)(VkCmdBuffer cmdBuffer, VkStencilFaceFlags faceMask, uint32_t stencilReference);
-typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
+typedef void (VKAPI *PFN_vkCmdBindDescriptorSets)(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
 typedef void (VKAPI *PFN_vkCmdBindIndexBuffer)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
 typedef void (VKAPI *PFN_vkCmdBindVertexBuffers)(VkCmdBuffer cmdBuffer, uint32_t startBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
 typedef void (VKAPI *PFN_vkCmdDraw)(VkCmdBuffer cmdBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
 typedef void (VKAPI *PFN_vkCmdDrawIndexed)(VkCmdBuffer cmdBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
-typedef void (VKAPI *PFN_vkCmdDrawIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride);
-typedef void (VKAPI *PFN_vkCmdDrawIndexedIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride);
+typedef void (VKAPI *PFN_vkCmdDrawIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
+typedef void (VKAPI *PFN_vkCmdDrawIndexedIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
 typedef void (VKAPI *PFN_vkCmdDispatch)(VkCmdBuffer cmdBuffer, uint32_t x, uint32_t y, uint32_t z);
 typedef void (VKAPI *PFN_vkCmdDispatchIndirect)(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset);
 typedef void (VKAPI *PFN_vkCmdCopyBuffer)(VkCmdBuffer cmdBuffer, VkBuffer srcBuffer, VkBuffer destBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
@@ -2226,7 +2226,7 @@
 
 void VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice                            physicalDevice,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pQueueFamilyPropertyCount,
     VkQueueFamilyProperties*                    pQueueFamilyProperties);
 
 void VKAPI vkGetPhysicalDeviceMemoryProperties(
@@ -2251,22 +2251,22 @@
 
 VkResult VKAPI vkEnumerateInstanceExtensionProperties(
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties);
 
 VkResult VKAPI vkEnumerateDeviceExtensionProperties(
     VkPhysicalDevice                            physicalDevice,
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties);
 
 VkResult VKAPI vkEnumerateInstanceLayerProperties(
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkLayerProperties*                          pProperties);
 
 VkResult VKAPI vkEnumerateDeviceLayerProperties(
     VkPhysicalDevice                            physicalDevice,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkLayerProperties*                          pProperties);
 
 void VKAPI vkGetDeviceQueue(
@@ -2348,7 +2348,7 @@
 void VKAPI vkGetImageSparseMemoryRequirements(
     VkDevice                                    device,
     VkImage                                     image,
-    uint32_t*                                   pNumRequirements,
+    uint32_t*                                   pSparseMemoryRequirementCount,
     VkSparseImageMemoryRequirements*            pSparseMemoryRequirements);
 
 void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties(
@@ -2358,25 +2358,25 @@
     uint32_t                                    samples,
     VkImageUsageFlags                           usage,
     VkImageTiling                               tiling,
-    uint32_t*                                   pNumProperties,
+    uint32_t*                                   pPropertyCount,
     VkSparseImageFormatProperties*              pProperties);
 
 VkResult VKAPI vkQueueBindSparseBufferMemory(
     VkQueue                                     queue,
     VkBuffer                                    buffer,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo);
 
 VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseMemoryBindInfo*               pBindInfo);
 
 VkResult VKAPI vkQueueBindSparseImageMemory(
     VkQueue                                     queue,
     VkImage                                     image,
-    uint32_t                                    numBindings,
+    uint32_t                                    bindInfoCount,
     const VkSparseImageMemoryBindInfo*          pBindInfo);
 
 VkResult VKAPI vkCreateFence(
@@ -2537,14 +2537,14 @@
 VkResult VKAPI vkCreateGraphicsPipelines(
     VkDevice                                    device,
     VkPipelineCache                             pipelineCache,
-    uint32_t                                    count,
+    uint32_t                                    createInfoCount,
     const VkGraphicsPipelineCreateInfo*         pCreateInfos,
     VkPipeline*                                 pPipelines);
 
 VkResult VKAPI vkCreateComputePipelines(
     VkDevice                                    device,
     VkPipelineCache                             pipelineCache,
-    uint32_t                                    count,
+    uint32_t                                    createInfoCount,
     const VkComputePipelineCreateInfo*          pCreateInfos,
     VkPipeline*                                 pPipelines);
 
@@ -2601,7 +2601,7 @@
 VkResult VKAPI vkFreeDescriptorSets(
     VkDevice                                    device,
     VkDescriptorPool                            descriptorPool,
-    uint32_t                                    count,
+    uint32_t                                    descriptorSetCount,
     const VkDescriptorSet*                      pDescriptorSets);
 
 void VKAPI vkUpdateDescriptorSets(
@@ -2656,7 +2656,7 @@
 void VKAPI vkFreeCommandBuffers(
     VkDevice                                    device,
     VkCmdPool                                   cmdPool,
-    uint32_t                                    count,
+    uint32_t                                    commandBufferCount,
     const VkCmdBuffer*                          pCommandBuffers);
 
 VkResult VKAPI vkBeginCommandBuffer(
@@ -2724,7 +2724,7 @@
     VkPipelineBindPoint                         pipelineBindPoint,
     VkPipelineLayout                            layout,
     uint32_t                                    firstSet,
-    uint32_t                                    setCount,
+    uint32_t                                    descriptorSetCount,
     const VkDescriptorSet*                      pDescriptorSets,
     uint32_t                                    dynamicOffsetCount,
     const uint32_t*                             pDynamicOffsets);
@@ -2761,14 +2761,14 @@
     VkCmdBuffer                                 cmdBuffer,
     VkBuffer                                    buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride);
 
 void VKAPI vkCmdDrawIndexedIndirect(
     VkCmdBuffer                                 cmdBuffer,
     VkBuffer                                    buffer,
     VkDeviceSize                                offset,
-    uint32_t                                    count,
+    uint32_t                                    drawCount,
     uint32_t                                    stride);
 
 void VKAPI vkCmdDispatch(
diff --git a/layers/apidump.h b/layers/apidump.h
index 7eba182..fb8dcf1 100644
--- a/layers/apidump.h
+++ b/layers/apidump.h
@@ -78,7 +78,7 @@
     pDisp->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
 
     deviceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0)
             deviceExtMap[pDisp].wsi_enabled = true;
 
@@ -92,7 +92,7 @@
     PFN_vkGetInstanceProcAddr gpa = pDisp->GetInstanceProcAddr;
     pDisp->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
     instanceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME) == 0)
             instanceExtMap[pDisp].wsi_enabled = true;
 
diff --git a/layers/device_limits.cpp b/layers/device_limits.cpp
index c311f5d..1d686dd 100644
--- a/layers/device_limits.cpp
+++ b/layers/device_limits.cpp
@@ -168,7 +168,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
 
         init_device_limits(my_data);
@@ -349,7 +349,7 @@
     layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
     my_data->device_extensions.debug_marker_enabled = false;
 
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], DEBUG_MARKER_EXTENSION_NAME) == 0) {
             /* Found a matching extension name, mark it enabled and init dispatch table*/
             initDebugMarkerTable(device);
@@ -405,9 +405,9 @@
             if (phy_dev_data->queueFamilyProperties.size() <= requestedIndex) { // requested index is out of bounds for this physical device
                 skipCall |= log_msg(phy_dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_PHYSICAL_DEVICE, 0, 0, DEVLIMITS_INVALID_QUEUE_CREATE_REQUEST, "DL",
                     "Invalid queue create request in vkCreateDevice(). Invalid queueFamilyIndex %u requested.", requestedIndex);
-            } else if (pCreateInfo->pRequestedQueues[i].queueCount > phy_dev_data->queueFamilyProperties[requestedIndex]->queueCount) {
+            } else if (pCreateInfo->pRequestedQueues[i].queuePriorityCount > phy_dev_data->queueFamilyProperties[requestedIndex]->queueCount) {
                 skipCall |= log_msg(phy_dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_PHYSICAL_DEVICE, 0, 0, DEVLIMITS_INVALID_QUEUE_CREATE_REQUEST, "DL",
-                    "Invalid queue create request in vkCreateDevice(). QueueFamilyIndex %u only has %u queues, but requested queueCount is %u.", requestedIndex, phy_dev_data->queueFamilyProperties[requestedIndex]->queueCount, pCreateInfo->pRequestedQueues[i].queueCount);
+                    "Invalid queue create request in vkCreateDevice(). QueueFamilyIndex %u only has %u queues, but requested queuePriorityCount is %u.", requestedIndex, phy_dev_data->queueFamilyProperties[requestedIndex]->queueCount, pCreateInfo->pRequestedQueues[i].queuePriorityCount);
             }
         }
     }
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index cb2c46d..bbcc4b0 100755
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -492,13 +492,13 @@
         memcpy((void*)&pPipeline->vertexInputCI, pCreateInfo->pVertexInputState , sizeof(VkPipelineVertexInputStateCreateInfo));
         // Copy embedded ptrs
         pVICI = pCreateInfo->pVertexInputState;
-        pPipeline->vtxBindingCount = pVICI->bindingCount;
+        pPipeline->vtxBindingCount = pVICI->vertexBindingDescriptionCount;
         if (pPipeline->vtxBindingCount) {
             pPipeline->pVertexBindingDescriptions = new VkVertexInputBindingDescription[pPipeline->vtxBindingCount];
             bufferSize = pPipeline->vtxBindingCount * sizeof(VkVertexInputBindingDescription);
             memcpy((void*)pPipeline->pVertexBindingDescriptions, pVICI->pVertexBindingDescriptions, bufferSize);
         }
-        pPipeline->vtxAttributeCount = pVICI->attributeCount;
+        pPipeline->vtxAttributeCount = pVICI->vertexAttributeDescriptionCount;
         if (pPipeline->vtxAttributeCount) {
             pPipeline->pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[pPipeline->vtxAttributeCount];
             bufferSize = pPipeline->vtxAttributeCount * sizeof(VkVertexInputAttributeDescription);
@@ -600,7 +600,7 @@
             int subpassNumSamples = 0;
             uint32_t i;
 
-            for (i = 0; i < pSD->colorCount; i++) {
+            for (i = 0; i < pSD->colorAttachmentCount; i++) {
                 uint32_t samples;
 
                 if (pSD->pColorAttachments[i].attachment == VK_ATTACHMENT_UNUSED)
@@ -692,10 +692,10 @@
     switch (pUpdateStruct->sType)
     {
         case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET:
-            return ((VkWriteDescriptorSet*)pUpdateStruct)->count;
+            return ((VkWriteDescriptorSet*)pUpdateStruct)->descriptorCount;
         case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET:
             // TODO : Need to understand this case better and make sure code is correct
-            return ((VkCopyDescriptorSet*)pUpdateStruct)->count;
+            return ((VkCopyDescriptorSet*)pUpdateStruct)->descriptorCount;
     }
 }
 // For given Layout Node and binding, return index where that binding begins
@@ -703,7 +703,7 @@
 {
     uint32_t offsetIndex = 0;
     for (uint32_t i = 0; i<binding; i++) {
-        offsetIndex += pLayout->createInfo.pBinding[i].arraySize;
+        offsetIndex += pLayout->createInfo.pBindings[i].arraySize;
     }
     return offsetIndex;
 }
@@ -712,7 +712,7 @@
 {
     uint32_t offsetIndex = 0;
     for (uint32_t i = 0; i<=binding; i++) {
-        offsetIndex += pLayout->createInfo.pBinding[i].arraySize;
+        offsetIndex += pLayout->createInfo.pBindings[i].arraySize;
     }
     return offsetIndex-1;
 }
@@ -790,16 +790,16 @@
             case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
             case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
                 {
-                    VkDescriptorImageInfo *info = new VkDescriptorImageInfo[pWDS->count];
-                    memcpy(info, pWDS->pImageInfo, pWDS->count * sizeof(VkDescriptorImageInfo));
+                    VkDescriptorImageInfo *info = new VkDescriptorImageInfo[pWDS->descriptorCount];
+                    memcpy(info, pWDS->pImageInfo, pWDS->descriptorCount * sizeof(VkDescriptorImageInfo));
                     pWDS->pImageInfo = info;
             }
                 break;
             case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
             case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
                 {
-                    VkBufferView *info = new VkBufferView[pWDS->count];
-                    memcpy(info, pWDS->pTexelBufferView, pWDS->count * sizeof(VkBufferView));
+                    VkBufferView *info = new VkBufferView[pWDS->descriptorCount];
+                    memcpy(info, pWDS->pTexelBufferView, pWDS->descriptorCount * sizeof(VkBufferView));
                     pWDS->pTexelBufferView = info;
                 }
                 break;
@@ -808,8 +808,8 @@
             case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
             case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
                 {
-                    VkDescriptorBufferInfo *info = new VkDescriptorBufferInfo[pWDS->count];
-                    memcpy(info, pWDS->pBufferInfo, pWDS->count * sizeof(VkDescriptorBufferInfo));
+                    VkDescriptorBufferInfo *info = new VkDescriptorBufferInfo[pWDS->descriptorCount];
+                    memcpy(info, pWDS->pBufferInfo, pWDS->descriptorCount * sizeof(VkDescriptorBufferInfo));
                     pWDS->pBufferInfo = info;
                 }
                 break;
@@ -956,12 +956,12 @@
     // For given update type, verify that update contents are correct
     switch (pWDS->descriptorType) {
         case VK_DESCRIPTOR_TYPE_SAMPLER:
-            for (i=0; i<pWDS->count; ++i) {
+            for (i=0; i<pWDS->descriptorCount; ++i) {
                 skipCall |= validateSampler(my_data, &(pWDS->pImageInfo[i].sampler), immutable);
             }
             break;
         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
-            for (i=0; i<pWDS->count; ++i) {
+            for (i=0; i<pWDS->descriptorCount; ++i) {
                 if (NULL == pLayoutBinding->pImmutableSamplers) {
                     pSampler = &(pWDS->pImageInfo[i].sampler);
                     if (immutable) {
@@ -986,13 +986,13 @@
         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
-            for (i=0; i<pWDS->count; ++i) {
+            for (i=0; i<pWDS->descriptorCount; ++i) {
                 skipCall |= validateImageView(my_data, &(pWDS->pImageInfo[i].imageView), pWDS->pImageInfo[i].imageLayout);
             }
             break;
         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
-            for (i=0; i<pWDS->count; ++i) {
+            for (i=0; i<pWDS->descriptorCount; ++i) {
                 skipCall |= validateBufferView(my_data, &(pWDS->pTexelBufferView[i]));
             }
             break;
@@ -1000,7 +1000,7 @@
         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
-            for (i=0; i<pWDS->count; ++i) {
+            for (i=0; i<pWDS->descriptorCount; ++i) {
                 skipCall |= validateBufferInfo(my_data, &(pWDS->pBufferInfo[i]));
             }
             break;
@@ -1029,7 +1029,7 @@
         uint32_t binding = 0, endIndex = 0;
         binding = pWDS[i].destBinding;
         // Make sure that layout being updated has the binding being updated
-        if (pLayout->createInfo.count < binding) {
+        if (pLayout->createInfo.bindingCount < binding) {
             skipCall |= log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t) ds, 0, DRAWSTATE_INVALID_UPDATE_INDEX, "DS",
                     "Descriptor Set %p does not have binding to match update binding %u for update type %s!", ds, binding, string_VkStructureType(pUpdate->sType));
         } else {
@@ -1046,7 +1046,7 @@
                 // Layout bindings match w/ update, now verify that update type & stageFlags are the same for entire update
                 if ((skipCall = validateUpdateConsistency(my_data, device, pLayout, pUpdate, startIndex, endIndex)) == VK_FALSE) {
                     // The update is within bounds and consistent, but need to make sure contents make sense as well
-                    if ((skipCall = validateUpdateContents(my_data, &pWDS[i], &pLayout->createInfo.pBinding[binding])) == VK_FALSE) {
+                    if ((skipCall = validateUpdateContents(my_data, &pWDS[i], &pLayout->createInfo.pBindings[binding])) == VK_FALSE) {
                         // Update is good. Save the update info
                         // Create new update struct for this set's shadow copy
                         GENERIC_HEADER* pNewNode = NULL;
@@ -1080,14 +1080,14 @@
         pSrcLayout = pSrcSet->pLayout;
         pDstLayout = pDstSet->pLayout;
         // Validate that src binding is valid for src set layout
-        if (pSrcLayout->createInfo.count < pCDS[i].srcBinding) {
+        if (pSrcLayout->createInfo.bindingCount < pCDS[i].srcBinding) {
             skipCall |= log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t) pSrcSet->set, 0, DRAWSTATE_INVALID_UPDATE_INDEX, "DS",
                 "Copy descriptor update %u has srcBinding %u which is out of bounds for underlying SetLayout %#" PRIxLEAST64 " which only has bindings 0-%u.",
-                i, pCDS[i].srcBinding, (uint64_t) pSrcLayout->layout, pSrcLayout->createInfo.count-1);
-        } else if (pDstLayout->createInfo.count < pCDS[i].destBinding) {
+                i, pCDS[i].srcBinding, (uint64_t) pSrcLayout->layout, pSrcLayout->createInfo.bindingCount-1);
+        } else if (pDstLayout->createInfo.bindingCount < pCDS[i].destBinding) {
             skipCall |= log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t) pDstSet->set, 0, DRAWSTATE_INVALID_UPDATE_INDEX, "DS",
                 "Copy descriptor update %u has destBinding %u which is out of bounds for underlying SetLayout %#" PRIxLEAST64 " which only has bindings 0-%u.",
-                i, pCDS[i].destBinding, (uint64_t) pDstLayout->layout, pDstLayout->createInfo.count-1);
+                i, pCDS[i].destBinding, (uint64_t) pDstLayout->layout, pDstLayout->createInfo.bindingCount-1);
         } else {
             // Proceed with validation. Bindings are ok, but make sure update is within bounds of given layout
             srcEndIndex = getUpdateEndIndex(my_data, device, pSrcLayout, pCDS[i].srcBinding, pCDS[i].srcArrayElement, (const GENERIC_HEADER*)&(pCDS[i]));
@@ -1105,7 +1105,7 @@
             } else {
                 srcStartIndex = getUpdateStartIndex(my_data, device, pSrcLayout, pCDS[i].srcBinding, pCDS[i].srcArrayElement, (const GENERIC_HEADER*)&(pCDS[i]));
                 dstStartIndex = getUpdateStartIndex(my_data, device, pDstLayout, pCDS[i].destBinding, pCDS[i].destArrayElement, (const GENERIC_HEADER*)&(pCDS[i]));
-                for (uint32_t j=0; j<pCDS[i].count; ++j) {
+                for (uint32_t j=0; j<pCDS[i].descriptorCount; ++j) {
                     // For copy just make sure that the types match and then perform the update
                     if (pSrcLayout->descriptorTypes[srcStartIndex+j] != pDstLayout->descriptorTypes[dstStartIndex+j]) {
                         skipCall |= log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType) 0, 0, 0, DRAWSTATE_DESCRIPTOR_TYPE_MISMATCH, "DS",
@@ -1134,13 +1134,13 @@
                     "Unable to find set layout node for layout %#" PRIxLEAST64 " specified in vkAllocDescriptorSets() call", (uint64_t) pSetLayouts[i]);
         } else {
             uint32_t typeIndex = 0, typeCount = 0;
-            for (j=0; j<pLayout->createInfo.count; ++j) {
-                typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBinding[j].descriptorType);
-                typeCount = pLayout->createInfo.pBinding[j].arraySize;
+            for (j=0; j<pLayout->createInfo.bindingCount; ++j) {
+                typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBindings[j].descriptorType);
+                typeCount = pLayout->createInfo.pBindings[j].arraySize;
                 if (typeCount > pPoolNode->availableDescriptorTypeCount[typeIndex]) {
                     skipCall |= log_msg(dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, (uint64_t) pLayout->layout, 0, DRAWSTATE_DESCRIPTOR_POOL_EMPTY, "DS",
                         "Unable to allocate %u descriptors of type %s from pool %#" PRIxLEAST64 ". This pool only has %u descriptors of this type remaining.",
-                            typeCount, string_VkDescriptorType(pLayout->createInfo.pBinding[j].descriptorType), (uint64_t) pPoolNode->pool, pPoolNode->availableDescriptorTypeCount[typeIndex]);
+                            typeCount, string_VkDescriptorType(pLayout->createInfo.pBindings[j].descriptorType), (uint64_t) pPoolNode->pool, pPoolNode->availableDescriptorTypeCount[typeIndex]);
                 } else { // Decrement available descriptors of this type
                     pPoolNode->availableDescriptorTypeCount[typeIndex] -= typeCount;
                 }
@@ -1237,12 +1237,12 @@
         return;
     for (auto ii=my_data->layoutMap.begin(); ii!=my_data->layoutMap.end(); ++ii) {
         LAYOUT_NODE* pLayout = (*ii).second;
-        if (pLayout->createInfo.pBinding) {
-            for (uint32_t i=0; i<pLayout->createInfo.count; i++) {
-                if (pLayout->createInfo.pBinding[i].pImmutableSamplers)
-                    delete[] pLayout->createInfo.pBinding[i].pImmutableSamplers;
+        if (pLayout->createInfo.pBindings) {
+            for (uint32_t i=0; i<pLayout->createInfo.bindingCount; i++) {
+                if (pLayout->createInfo.pBindings[i].pImmutableSamplers)
+                    delete[] pLayout->createInfo.pBindings[i].pImmutableSamplers;
             }
-            delete[] pLayout->createInfo.pBinding;
+            delete[] pLayout->createInfo.pBindings;
         }
         delete pLayout;
     }
@@ -1576,7 +1576,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
 
         init_draw_state(my_data);
@@ -1616,7 +1616,7 @@
     layer_data* dev_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map);
     dev_data->device_extensions.debug_marker_enabled = false;
 
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], DEBUG_MARKER_EXTENSION_NAME) == 0) {
             /* Found a matching extension name, mark it enabled and init dispatch table*/
             initDebugMarkerTable(device);
@@ -1732,7 +1732,7 @@
     layer_data* dev_data = get_my_data_ptr(get_dispatch_key(queue), layer_data_map);
     for (uint32_t submit_idx = 0; submit_idx < submitCount; submit_idx++) {
         const VkSubmitInfo *submit = &pSubmitInfo[submit_idx];
-        for (uint32_t i=0; i < submit->cmdBufferCount; i++) {
+        for (uint32_t i=0; i < submit->commandBufferCount; i++) {
             // Validate that cmd buffers have been updated
             pCB = getCBNode(dev_data, submit->pCommandBuffers[i]);
             loader_platform_thread_lock_mutex(&globalLock);
@@ -2043,15 +2043,15 @@
         }
         memset(pNewNode, 0, sizeof(LAYOUT_NODE));
         memcpy((void*)&pNewNode->createInfo, pCreateInfo, sizeof(VkDescriptorSetLayoutCreateInfo));
-        pNewNode->createInfo.pBinding = new VkDescriptorSetLayoutBinding[pCreateInfo->count];
-        memcpy((void*)pNewNode->createInfo.pBinding, pCreateInfo->pBinding, sizeof(VkDescriptorSetLayoutBinding)*pCreateInfo->count);
+        pNewNode->createInfo.pBindings = new VkDescriptorSetLayoutBinding[pCreateInfo->bindingCount];
+        memcpy((void*)pNewNode->createInfo.pBindings, pCreateInfo->pBindings, sizeof(VkDescriptorSetLayoutBinding)*pCreateInfo->bindingCount);
         uint32_t totalCount = 0;
-        for (uint32_t i=0; i<pCreateInfo->count; i++) {
-            totalCount += pCreateInfo->pBinding[i].arraySize;
-            if (pCreateInfo->pBinding[i].pImmutableSamplers) {
-                VkSampler** ppIS = (VkSampler**)&pNewNode->createInfo.pBinding[i].pImmutableSamplers;
-                *ppIS = new VkSampler[pCreateInfo->pBinding[i].arraySize];
-                memcpy(*ppIS, pCreateInfo->pBinding[i].pImmutableSamplers, pCreateInfo->pBinding[i].arraySize*sizeof(VkSampler));
+        for (uint32_t i=0; i<pCreateInfo->bindingCount; i++) {
+            totalCount += pCreateInfo->pBindings[i].arraySize;
+            if (pCreateInfo->pBindings[i].pImmutableSamplers) {
+                VkSampler** ppIS = (VkSampler**)&pNewNode->createInfo.pBindings[i].pImmutableSamplers;
+                *ppIS = new VkSampler[pCreateInfo->pBindings[i].arraySize];
+                memcpy(*ppIS, pCreateInfo->pBindings[i].pImmutableSamplers, pCreateInfo->pBindings[i].arraySize*sizeof(VkSampler));
             }
         }
         if (totalCount > 0) {
@@ -2059,10 +2059,10 @@
             pNewNode->stageFlags.resize(totalCount);
             uint32_t offset = 0;
             uint32_t j = 0;
-            for (uint32_t i=0; i<pCreateInfo->count; i++) {
-                for (j = 0; j < pCreateInfo->pBinding[i].arraySize; j++) {
-                    pNewNode->descriptorTypes[offset + j] = pCreateInfo->pBinding[i].descriptorType;
-                    pNewNode->stageFlags[offset + j] = pCreateInfo->pBinding[i].stageFlags;
+            for (uint32_t i=0; i<pCreateInfo->bindingCount; i++) {
+                for (j = 0; j < pCreateInfo->pBindings[i].arraySize; j++) {
+                    pNewNode->descriptorTypes[offset + j] = pCreateInfo->pBindings[i].descriptorType;
+                    pNewNode->stageFlags[offset + j] = pCreateInfo->pBindings[i].stageFlags;
                 }
                 offset += j;
             }
@@ -2085,9 +2085,9 @@
     VkResult result = dev_data->device_dispatch_table->CreatePipelineLayout(device, pCreateInfo, pPipelineLayout);
     if (VK_SUCCESS == result) {
         PIPELINE_LAYOUT_NODE plNode = dev_data->pipelineLayoutMap[*pPipelineLayout];
-        plNode.descriptorSetLayouts.resize(pCreateInfo->descriptorSetCount);
+        plNode.descriptorSetLayouts.resize(pCreateInfo->setLayoutCount);
         uint32_t i = 0;
-        for (i=0; i<pCreateInfo->descriptorSetCount; ++i) {
+        for (i=0; i<pCreateInfo->setLayoutCount; ++i) {
             plNode.descriptorSetLayouts[i] = pCreateInfo->pSetLayouts[i];
         }
         plNode.pushConstantRanges.resize(pCreateInfo->pushConstantRangeCount);
@@ -2143,7 +2143,7 @@
         skipCall |= log_msg(dev_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DESCRIPTOR_POOL, (uint64_t) pAllocInfo->descriptorPool, 0, DRAWSTATE_INVALID_POOL, "DS",
                 "Unable to find pool node for pool %#" PRIxLEAST64 " specified in vkAllocDescriptorSets() call", (uint64_t) pAllocInfo->descriptorPool);
     } else { // Make sure pool has all the available descriptors before calling down chain
-        skipCall |= validate_descriptor_availability_in_pool(dev_data, pPoolNode, pAllocInfo->count, pAllocInfo->pSetLayouts);
+        skipCall |= validate_descriptor_availability_in_pool(dev_data, pPoolNode, pAllocInfo->setLayoutCount, pAllocInfo->pSetLayouts);
     }
     if (skipCall)
         return VK_ERROR_VALIDATION_FAILED;
@@ -2151,11 +2151,11 @@
     if (VK_SUCCESS == result) {
         POOL_NODE *pPoolNode = getPoolNode(dev_data, pAllocInfo->descriptorPool);
         if (pPoolNode) {
-            if (pAllocInfo->count == 0) {
-                log_msg(dev_data->report_data, VK_DBG_REPORT_INFO_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, pAllocInfo->count, 0, DRAWSTATE_NONE, "DS",
+            if (pAllocInfo->setLayoutCount == 0) {
+                log_msg(dev_data->report_data, VK_DBG_REPORT_INFO_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, pAllocInfo->setLayoutCount, 0, DRAWSTATE_NONE, "DS",
                         "AllocDescriptorSets called with 0 count");
             }
-            for (uint32_t i = 0; i < pAllocInfo->count; i++) {
+            for (uint32_t i = 0; i < pAllocInfo->setLayoutCount; i++) {
                 log_msg(dev_data->report_data, VK_DBG_REPORT_INFO_BIT, VK_OBJECT_TYPE_DESCRIPTOR_SET, (uint64_t) pDescriptorSets[i], 0, DRAWSTATE_NONE, "DS",
                         "Created Descriptor Set %#" PRIxLEAST64, (uint64_t) pDescriptorSets[i]);
                 // Create new set node and add to head of pool nodes
@@ -2214,9 +2214,9 @@
             SET_NODE* pSet = dev_data->setMap[pDescriptorSets[i]]; // getSetNode() without locking
             LAYOUT_NODE* pLayout = pSet->pLayout;
             uint32_t typeIndex = 0, typeCount = 0;
-            for (uint32_t j=0; j<pLayout->createInfo.count; ++j) {
-                typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBinding[j].descriptorType);
-                typeCount = pLayout->createInfo.pBinding[j].arraySize;
+            for (uint32_t j=0; j<pLayout->createInfo.bindingCount; ++j) {
+                typeIndex = static_cast<uint32_t>(pLayout->createInfo.pBindings[j].descriptorType);
+                typeCount = pLayout->createInfo.pBindings[j].arraySize;
                 pPoolNode->availableDescriptorTypeCount[typeIndex] += typeCount;
             }
         }
@@ -3017,7 +3017,7 @@
             const VkClearAttachment *attachment = &pAttachments[attachment_idx];
             if (attachment->aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) {
                 VkBool32 found = VK_FALSE;
-                for (uint32_t i = 0; i < pSD->colorCount; i++) {
+                for (uint32_t i = 0; i < pSD->colorAttachmentCount; i++) {
                     if (attachment->colorAttachment == pSD->pColorAttachments[i].attachment) {
                         found = VK_TRUE;
                         break;
@@ -3344,7 +3344,7 @@
     const DAGNode& node = subpass_to_node[index];
     // If this node writes to the attachment return true as next nodes need to preserve the attachment.
     const VkSubpassDescription& subpass = pCreateInfo->pSubpasses[index];
-    for (uint32_t j = 0; j < subpass.colorCount; ++j) {
+    for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
         if (attachment == subpass.pColorAttachments[j].attachment)
             return true;
     }
@@ -3361,7 +3361,7 @@
     if (result && depth > 0) {
         const VkSubpassDescription& subpass = pCreateInfo->pSubpasses[index];
         bool has_preserved = false;
-        for (uint32_t j = 0; j < subpass.preserveCount; ++j) {
+        for (uint32_t j = 0; j < subpass.preserveAttachmentCount; ++j) {
             if (subpass.pPreserveAttachments[j].attachment == attachment) {
                 has_preserved = true;
                 break;
@@ -3397,10 +3397,10 @@
     // Find for each attachment the subpasses that use them.
     for (uint32_t i = 0; i < pCreateInfo->subpassCount; ++i) {
         const VkSubpassDescription& subpass = pCreateInfo->pSubpasses[i];
-        for (uint32_t j = 0; j < subpass.inputCount; ++j) {
+        for (uint32_t j = 0; j < subpass.inputAttachmentCount; ++j) {
             input_attachment_to_subpass[subpass.pInputAttachments[j].attachment].push_back(i);
         }
-        for (uint32_t j = 0; j < subpass.colorCount; ++j) {
+        for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
             output_attachment_to_subpass[subpass.pColorAttachments[j].attachment].push_back(i);
         }
         if (subpass.depthStencilAttachment.attachment != VK_ATTACHMENT_UNUSED) {
@@ -3411,12 +3411,12 @@
     for (uint32_t i = 0; i < pCreateInfo->subpassCount; ++i) {
         const VkSubpassDescription& subpass = pCreateInfo->pSubpasses[i];
         // If the attachment is an input then all subpasses that output must have a dependency relationship
-        for (uint32_t j = 0; j < subpass.inputCount; ++j) {
+        for (uint32_t j = 0; j < subpass.inputAttachmentCount; ++j) {
             const uint32_t& attachment = subpass.pInputAttachments[j].attachment;
             CheckDependencyExists(my_data, device, i, output_attachment_to_subpass[attachment], subpass_to_node, skip_call);
         }
         // If the attachment is an output then all subpasses that use the attachment must have a dependency relationship
-        for (uint32_t j = 0; j < subpass.colorCount; ++j) {
+        for (uint32_t j = 0; j < subpass.colorAttachmentCount; ++j) {
             const uint32_t& attachment = subpass.pColorAttachments[j].attachment;
             CheckDependencyExists(my_data, device, i, output_attachment_to_subpass[attachment], subpass_to_node, skip_call);
             CheckDependencyExists(my_data, device, i, input_attachment_to_subpass[attachment], subpass_to_node, skip_call);
@@ -3430,7 +3430,7 @@
     // Loop through implicit dependencies, if this pass reads make sure the attachment is preserved for all passes after it was written.
     for (uint32_t i = 0; i < pCreateInfo->subpassCount; ++i) {
         const VkSubpassDescription& subpass = pCreateInfo->pSubpasses[i];
-        for (uint32_t j = 0; j < subpass.inputCount; ++j) {
+        for (uint32_t j = 0; j < subpass.inputAttachmentCount; ++j) {
             CheckPreserved(my_data, device, pCreateInfo, i, subpass.pInputAttachments[j].attachment, subpass_to_node, 0, skip_call);
         }
     }
@@ -3457,30 +3457,30 @@
 
             for (uint32_t i = 0; i < localRPCI->subpassCount; i++) {
                 VkSubpassDescription *subpass = (VkSubpassDescription *) &localRPCI->pSubpasses[i];
-                const uint32_t attachmentCount = subpass->inputCount +
-                    subpass->colorCount * (1 + (subpass->pResolveAttachments?1:0)) +
-                    subpass->preserveCount;
+                const uint32_t attachmentCount = subpass->inputAttachmentCount +
+                    subpass->colorAttachmentCount * (1 + (subpass->pResolveAttachments?1:0)) +
+                    subpass->preserveAttachmentCount;
                 VkAttachmentReference *attachments = new VkAttachmentReference[attachmentCount];
 
                 memcpy(attachments, subpass->pInputAttachments,
-                        sizeof(attachments[0]) * subpass->inputCount);
+                        sizeof(attachments[0]) * subpass->inputAttachmentCount);
                 subpass->pInputAttachments = attachments;
-                attachments += subpass->inputCount;
+                attachments += subpass->inputAttachmentCount;
 
                 memcpy(attachments, subpass->pColorAttachments,
-                        sizeof(attachments[0]) * subpass->colorCount);
+                        sizeof(attachments[0]) * subpass->colorAttachmentCount);
                 subpass->pColorAttachments = attachments;
-                attachments += subpass->colorCount;
+                attachments += subpass->colorAttachmentCount;
 
                 if (subpass->pResolveAttachments) {
                     memcpy(attachments, subpass->pResolveAttachments,
-                            sizeof(attachments[0]) * subpass->colorCount);
+                            sizeof(attachments[0]) * subpass->colorAttachmentCount);
                     subpass->pResolveAttachments = attachments;
-                    attachments += subpass->colorCount;
+                    attachments += subpass->colorAttachmentCount;
                 }
 
                 memcpy(attachments, subpass->pPreserveAttachments,
-                        sizeof(attachments[0]) * subpass->preserveCount);
+                        sizeof(attachments[0]) * subpass->preserveAttachmentCount);
                 subpass->pPreserveAttachments = attachments;
             }
         }
diff --git a/layers/draw_state.h b/layers/draw_state.h
index 053dafe..20a1b2f 100755
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -179,15 +179,15 @@
     pool(pool), createInfo(*pCreateInfo), maxSets(pCreateInfo->maxSets), pSets(NULL),
     maxDescriptorTypeCount(VK_DESCRIPTOR_TYPE_END_RANGE), availableDescriptorTypeCount(VK_DESCRIPTOR_TYPE_END_RANGE)
     {
-        if (createInfo.count) { // Shadow type struct from ptr into local struct
-            size_t typeCountSize = createInfo.count * sizeof(VkDescriptorTypeCount);
-            createInfo.pTypeCount = new VkDescriptorTypeCount[typeCountSize];
-            memcpy((void*)createInfo.pTypeCount, pCreateInfo->pTypeCount, typeCountSize);
+        if (createInfo.typeCount) { // Shadow type struct from ptr into local struct
+            size_t typeCountSize = createInfo.typeCount * sizeof(VkDescriptorTypeCount);
+            createInfo.pTypeCounts = new VkDescriptorTypeCount[typeCountSize];
+            memcpy((void*)createInfo.pTypeCounts, pCreateInfo->pTypeCounts, typeCountSize);
             // Now set max counts for each descriptor type based on count of that type times maxSets
             int32_t i=0;
-            for (i=0; i<createInfo.count; ++i) {
-                uint32_t typeIndex = static_cast<uint32_t>(createInfo.pTypeCount[i].type);
-                uint32_t typeCount = createInfo.pTypeCount[i].count;
+            for (i=0; i<createInfo.typeCount; ++i) {
+                uint32_t typeIndex = static_cast<uint32_t>(createInfo.pTypeCounts[i].type);
+                uint32_t typeCount = createInfo.pTypeCounts[i].descriptorCount;
                 maxDescriptorTypeCount[typeIndex] += typeCount;
             }
             for (i=0; i<maxDescriptorTypeCount.size(); ++i) {
@@ -196,12 +196,12 @@
                 availableDescriptorTypeCount[i] = maxDescriptorTypeCount[i];
             }
         } else {
-            createInfo.pTypeCount = NULL; // Make sure this is NULL so we don't try to clean it up
+            createInfo.pTypeCounts = NULL; // Make sure this is NULL so we don't try to clean it up
         }
     }
     ~_POOL_NODE() {
-        if (createInfo.pTypeCount) {
-            delete[] createInfo.pTypeCount;
+        if (createInfo.pTypeCounts) {
+            delete[] createInfo.pTypeCounts;
         }
         // TODO : pSets are currently freed in deletePools function which uses freeShadowUpdateTree function
         //  need to migrate that struct to smart ptrs for auto-cleanup
diff --git a/layers/generic.h b/layers/generic.h
index 69a8970..c1e5621 100644
--- a/layers/generic.h
+++ b/layers/generic.h
@@ -86,7 +86,7 @@
     pDisp->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
 
     deviceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0)
             deviceExtMap[pDisp].wsi_enabled = true;
 
@@ -100,7 +100,7 @@
     PFN_vkGetInstanceProcAddr gpa = pDisp->GetInstanceProcAddr;
     pDisp->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
     instanceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME) == 0)
             instanceExtMap[pDisp].wsi_enabled = true;
 
diff --git a/layers/image.cpp b/layers/image.cpp
index a484d64..8ae7a12 100644
--- a/layers/image.cpp
+++ b/layers/image.cpp
@@ -119,7 +119,7 @@
     VkResult result = pTable->CreateInstance(pCreateInfo, pInstance);
 
     if (result == VK_SUCCESS) {
-        my_data->report_data = debug_report_create_instance(pTable, *pInstance, pCreateInfo->extensionCount,
+        my_data->report_data = debug_report_create_instance(pTable, *pInstance, pCreateInfo->enabledExtensionNameCount,
             pCreateInfo->ppEnabledExtensionNames);
 
         InitImage(my_data);
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index 7412021..cd60627 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -962,7 +962,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
 
         init_mem_tracker(my_data);
@@ -984,7 +984,7 @@
     pDisp->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) gpa(device, "vkAcquireNextImageKHR");
     pDisp->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
     my_device_data->wsi_enabled = false;
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0)
             my_device_data->wsi_enabled = true;
     }
@@ -1137,14 +1137,14 @@
     printCBList(my_data, queue);
     for (uint32_t submit_idx = 0; submit_idx < submitCount; submit_idx++) {
         const VkSubmitInfo *submit = &pSubmitInfo[submit_idx];
-        for (uint32_t i = 0; i < submit->cmdBufferCount; i++) {
+        for (uint32_t i = 0; i < submit->commandBufferCount; i++) {
             pCBInfo = get_cmd_buf_info(my_data, submit->pCommandBuffers[i]);
             pCBInfo->fenceId = fenceId;
             pCBInfo->lastSubmittedFence = fence;
             pCBInfo->lastSubmittedQueue = queue;
         }
 
-        for (uint32_t i = 0; i < submit->waitSemCount; i++) {
+        for (uint32_t i = 0; i < submit->waitSemaphoreCount; i++) {
             VkSemaphore sem = submit->pWaitSemaphores[i];
 
             if (my_data->semaphoreMap.find(sem) != my_data->semaphoreMap.end()) {
@@ -1156,7 +1156,7 @@
                 my_data->semaphoreMap[sem] = MEMTRACK_SEMAPHORE_STATE_WAIT;
             }
         }
-        for (uint32_t i = 0; i < submit->signalSemCount; i++) {
+        for (uint32_t i = 0; i < submit->signalSemaphoreCount; i++) {
             VkSemaphore sem = submit->pWaitSemaphores[i];
 
             if (my_data->semaphoreMap.find(sem) != my_data->semaphoreMap.end()) {
@@ -1179,7 +1179,7 @@
     loader_platform_thread_lock_mutex(&globalLock);
     for (uint32_t submit_idx = 0; submit_idx < submitCount; submit_idx++) {
         const VkSubmitInfo *submit = &pSubmitInfo[submit_idx];
-        for (uint32_t i = 0; i < submit->waitSemCount; i++) {
+        for (uint32_t i = 0; i < submit->waitSemaphoreCount; i++) {
             VkSemaphore sem = submit->pWaitSemaphores[i];
 
             if (my_data->semaphoreMap.find(sem) != my_data->semaphoreMap.end()) {
diff --git a/layers/object_track.h b/layers/object_track.h
index ea75743..6969b6f 100644
--- a/layers/object_track.h
+++ b/layers/object_track.h
@@ -194,7 +194,7 @@
     pDisp->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) gpa(device, "vkAcquireNextImageKHR");
     pDisp->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
     my_device_data->wsi_enabled = false;
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0)
             my_device_data->wsi_enabled = true;
 
@@ -210,7 +210,7 @@
     PFN_vkGetInstanceProcAddr gpa = pDisp->GetInstanceProcAddr;
     pDisp->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
     instanceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME) == 0)
             instanceExtMap[pDisp].wsi_enabled = true;
 
@@ -645,7 +645,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pInstanceTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
         createInstanceRegisterExtensions(pCreateInfo, *pInstance);
 
@@ -826,7 +826,7 @@
     loader_platform_thread_lock_mutex(&objLock);
     skipCall |= validate_object(device, device);
     skipCall |= validate_object(device, pAllocInfo->descriptorPool);
-    for (uint32_t i = 0; i < pAllocInfo->count; i++) {
+    for (uint32_t i = 0; i < pAllocInfo->setLayoutCount; i++) {
         skipCall |= validate_object(device, pAllocInfo->pSetLayouts[i]);
     }
     loader_platform_thread_unlock_mutex(&objLock);
@@ -837,7 +837,7 @@
         device, pAllocInfo, pDescriptorSets);
 
     loader_platform_thread_lock_mutex(&objLock);
-    for (uint32_t i = 0; i < pAllocInfo->count; i++) {
+    for (uint32_t i = 0; i < pAllocInfo->setLayoutCount; i++) {
         create_obj(device, pDescriptorSets[i], VK_OBJECT_TYPE_DESCRIPTOR_SET);
     }
     loader_platform_thread_unlock_mutex(&objLock);
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp
index 645df9c..359a8c2 100644
--- a/layers/param_checker.cpp
+++ b/layers/param_checker.cpp
@@ -1829,7 +1829,7 @@
 
     if (result == VK_SUCCESS) {
         layer_data *data = get_my_data_ptr(get_dispatch_key(*pInstance), layer_data_map);
-        data->report_data = debug_report_create_instance(pTable, *pInstance, pCreateInfo->extensionCount,
+        data->report_data = debug_report_create_instance(pTable, *pInstance, pCreateInfo->enabledExtensionNameCount,
             pCreateInfo->ppEnabledExtensionNames);
 
         InitParamChecker(data);
@@ -2167,7 +2167,7 @@
 
 bool PostQueueSubmit(
     VkQueue queue,
-    uint32_t cmdBufferCount,
+    uint32_t commandBufferCount,
     VkFence fence,
     VkResult result)
 {
@@ -4435,16 +4435,16 @@
         "vkCreateDescriptorSetLayout parameter, VkStructureType pCreateInfo->sType, is an invalid enumerator");
         return false;
     }
-    if(pCreateInfo->pBinding != nullptr)
+    if(pCreateInfo->pBindings != nullptr)
     {
-    if(pCreateInfo->pBinding->descriptorType < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
-        pCreateInfo->pBinding->descriptorType > VK_DESCRIPTOR_TYPE_END_RANGE)
+    if(pCreateInfo->pBindings->descriptorType < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
+        pCreateInfo->pBindings->descriptorType > VK_DESCRIPTOR_TYPE_END_RANGE)
     {
         log_msg(mdd(device), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK",
         "vkCreateDescriptorSetLayout parameter, VkDescriptorType pCreateInfo->pBinding->descriptorType, is an unrecognized enumerator");
         return false;
     }
-    if(pCreateInfo->pBinding->pImmutableSamplers != nullptr)
+    if(pCreateInfo->pBindings->pImmutableSamplers != nullptr)
     {
     }
     }
@@ -4499,10 +4499,10 @@
         "vkCreateDescriptorPool parameter, VkStructureType pCreateInfo->sType, is an invalid enumerator");
         return false;
     }
-    if(pCreateInfo->pTypeCount != nullptr)
+    if(pCreateInfo->pTypeCounts != nullptr)
     {
-    if(pCreateInfo->pTypeCount->type < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
-        pCreateInfo->pTypeCount->type > VK_DESCRIPTOR_TYPE_END_RANGE)
+    if(pCreateInfo->pTypeCounts->type < VK_DESCRIPTOR_TYPE_BEGIN_RANGE ||
+        pCreateInfo->pTypeCounts->type > VK_DESCRIPTOR_TYPE_END_RANGE)
     {
         log_msg(mdd(device), VK_DBG_REPORT_ERROR_BIT, (VkDbgObjectType)0, 0, 0, 1, "PARAMCHECK",
         "vkCreateDescriptorPool parameter, VkDescriptorType pCreateInfo->pTypeCount->type, is an unrecognized enumerator");
@@ -4623,7 +4623,7 @@
 
     VkResult result = get_dispatch_table(pc_device_table_map, device)->AllocDescriptorSets(device, pAllocInfo, pDescriptorSets);
 
-    PostAllocDescriptorSets(device, pAllocInfo->descriptorPool, pAllocInfo->count, pDescriptorSets, result);
+    PostAllocDescriptorSets(device, pAllocInfo->descriptorPool, pAllocInfo->setLayoutCount, pDescriptorSets, result);
 
     return result;
 }
diff --git a/layers/screenshot.cpp b/layers/screenshot.cpp
index 46c015e..eae5867 100644
--- a/layers/screenshot.cpp
+++ b/layers/screenshot.cpp
@@ -248,11 +248,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &cmdBuffer;
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = pTableQueue->QueueSubmit(queue, 1, &submit_info, nullFence);
@@ -327,7 +327,7 @@
     pDisp->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) gpa(device, "vkAcquireNextImageKHR");
     pDisp->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(device, "vkQueuePresentKHR");
     deviceExtMap[pDisp].wsi_enabled = false;
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0)
             deviceExtMap[pDisp].wsi_enabled = true;
     }
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 37bcc68..53efcad 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -111,8 +111,8 @@
             std::vector<VkFormat> color_formats;
             uint32_t j;
 
-            color_formats.reserve(subpass->colorCount);
-            for (j = 0; j < subpass->colorCount; j++) {
+            color_formats.reserve(subpass->colorAttachmentCount);
+            for (j = 0; j < subpass->colorAttachmentCount; j++) {
                 const uint32_t att = subpass->pColorAttachments[j].attachment;
                 const VkFormat format = pCreateInfo->pAttachments[att].format;
 
@@ -148,7 +148,7 @@
         loader_platform_thread_lock_mutex(&globalLock);
         auto& bindings = my_data->descriptor_set_layout_map[*pSetLayout];
         bindings = new std::vector<VkDescriptorSetLayoutBinding>(
-                pCreateInfo->pBinding, pCreateInfo->pBinding + pCreateInfo->count);
+                pCreateInfo->pBindings, pCreateInfo->pBindings + pCreateInfo->bindingCount);
         loader_platform_thread_unlock_mutex(&globalLock);
     }
 
@@ -167,8 +167,8 @@
         loader_platform_thread_lock_mutex(&globalLock);
         auto& layouts = my_data->pipeline_layout_map[*pPipelineLayout];
         layouts = new std::vector<std::vector<VkDescriptorSetLayoutBinding>*>();
-        layouts->reserve(pCreateInfo->descriptorSetCount);
-        for (unsigned i = 0; i < pCreateInfo->descriptorSetCount; i++) {
+        layouts->reserve(pCreateInfo->setLayoutCount);
+        for (unsigned i = 0; i < pCreateInfo->setLayoutCount; i++) {
             layouts->push_back(my_data->descriptor_set_layout_map[pCreateInfo->pSetLayouts[i]]);
         }
         loader_platform_thread_unlock_mutex(&globalLock);
@@ -810,7 +810,7 @@
     std::unordered_map<uint32_t, VkVertexInputBindingDescription const *> bindings;
     bool pass = true;
 
-    for (unsigned i = 0; i < vi->bindingCount; i++) {
+    for (unsigned i = 0; i < vi->vertexBindingDescriptionCount; i++) {
         auto desc = &vi->pVertexBindingDescriptions[i];
         auto & binding = bindings[desc->binding];
         if (binding) {
@@ -843,7 +843,7 @@
     /* Build index by location */
     std::map<uint32_t, VkVertexInputAttributeDescription const *> attribs;
     if (vi) {
-        for (unsigned i = 0; i < vi->attributeCount; i++)
+        for (unsigned i = 0; i < vi->vertexAttributeDescriptionCount; i++)
             attribs[vi->pVertexAttributeDescriptions[i].location] = &vi->pVertexAttributeDescriptions[i];
     }
 
@@ -1184,7 +1184,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
 
         init_shader_checker(my_data);
diff --git a/layers/swapchain.cpp b/layers/swapchain.cpp
index 46c8aad..42cf7a8 100644
--- a/layers/swapchain.cpp
+++ b/layers/swapchain.cpp
@@ -77,7 +77,7 @@
     // Record whether the WSI device extension was enabled for this VkDevice.
     // No need to check if the extension was advertised by
     // vkEnumerateDeviceExtensionProperties(), since the loader handles that.
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_DEVICE_SWAPCHAIN_EXTENSION_NAME) == 0) {
 
             my_data->deviceMap[device].deviceSwapchainExtensionEnabled = true;
@@ -101,7 +101,7 @@
     // Record whether the WSI instance extension was enabled for this
     // VkInstance.  No need to check if the extension was advertised by
     // vkEnumerateInstanceExtensionProperties(), since the loader handles that.
-    for (i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME) == 0) {
 
             my_data->instanceMap[instance].swapchainExtensionEnabled = true;
@@ -209,7 +209,7 @@
         my_data->report_data = debug_report_create_instance(
                                    pTable,
                                    *pInstance,
-                                   pCreateInfo->extensionCount,
+                                   pCreateInfo->enabledExtensionNameCount,
                                    pCreateInfo->ppEnabledExtensionNames);
         // Call the following function after my_data is initialized:
         createInstanceRegisterExtensions(pCreateInfo, *pInstance);
@@ -793,7 +793,7 @@
 
     // TODO: Validate the following values:
     // - pCreateInfo->sharingMode
-    // - pCreateInfo->queueFamilyCount
+    // - pCreateInfo->queueFamilyIndexCount
     // - pCreateInfo->pQueueFamilyIndices
     // - pCreateInfo->oldSwapchain
 
diff --git a/loader/debug_report.c b/loader/debug_report.c
index 00069b1..d8d3450 100644
--- a/loader/debug_report.c
+++ b/loader/debug_report.c
@@ -59,7 +59,7 @@
 {
     ptr_instance->debug_report_enabled = false;
 
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_DEBUG_REPORT_EXTENSION_NAME) == 0) {
             ptr_instance->debug_report_enabled = true;
             return;
diff --git a/loader/loader.c b/loader/loader.c
index 50b1dcd..6b06b31 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -2262,7 +2262,7 @@
     err = loader_add_layer_names_to_list(
                 inst,
                 &inst->activated_layer_list,
-                pCreateInfo->layerCount,
+                pCreateInfo->enabledLayerNameCount,
                 pCreateInfo->ppEnabledLayerNames,
                 instance_layers);
 
@@ -2398,7 +2398,7 @@
     err = loader_add_layer_names_to_list(
                 inst,
                 &dev->activated_layer_list,
-                pCreateInfo->layerCount,
+                pCreateInfo->enabledLayerNameCount,
                 pCreateInfo->ppEnabledLayerNames,
                 device_layers);
 
@@ -2526,7 +2526,7 @@
     VkExtensionProperties *extension_prop;
     struct loader_layer_properties *layer_prop;
 
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         extension_prop = get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
                                                 icd_exts);
 
@@ -2537,7 +2537,7 @@
         extension_prop = NULL;
 
         /* Not in global list, search layer extension lists */
-        for (uint32_t j = 0; j < pCreateInfo->layerCount; j++) {
+        for (uint32_t j = 0; j < pCreateInfo->enabledLayerNameCount; j++) {
             layer_prop = loader_get_layer_property(pCreateInfo->ppEnabledLayerNames[i],
                                             instance_layer);
             if (!layer_prop) {
@@ -2572,7 +2572,7 @@
     VkExtensionProperties *extension_prop;
     struct loader_layer_properties *layer_prop;
 
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         const char *extension_name = pCreateInfo->ppEnabledExtensionNames[i];
         extension_prop = get_extension_property(extension_name,
                                                 &icd->device_extension_cache[gpu_index]);
@@ -2582,7 +2582,7 @@
         }
 
         /* Not in global list, search layer extension lists */
-        for (uint32_t j = 0; j < pCreateInfo->layerCount; j++) {
+        for (uint32_t j = 0; j < pCreateInfo->enabledLayerNameCount; j++) {
             const char *layer_name = pCreateInfo->ppEnabledLayerNames[j];
             layer_prop = loader_get_layer_property(layer_name,
                                   device_layer);
@@ -2623,7 +2623,7 @@
     bool success;
 
     icd_create_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
-    icd_create_info.layerCount = 0;
+    icd_create_info.enabledLayerNameCount = 0;
     icd_create_info.ppEnabledLayerNames = NULL;
     icd_create_info.pAllocCb = pCreateInfo->pAllocCb;
     icd_create_info.pAppInfo = pCreateInfo->pAppInfo;
@@ -2636,7 +2636,7 @@
      * library could support a layer, but it would be
      * independent of the actual ICD, just in the same library.
      */
-    filtered_extension_names = loader_stack_alloc(pCreateInfo->extensionCount * sizeof(char *));
+    filtered_extension_names = loader_stack_alloc(pCreateInfo->enabledExtensionNameCount * sizeof(char *));
     if (!filtered_extension_names) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
@@ -2645,13 +2645,13 @@
     for (uint32_t i = 0; i < ptr_instance->icd_libs.count; i++) {
         icd = loader_icd_add(ptr_instance, &ptr_instance->icd_libs.list[i]);
         if (icd) {
-            icd_create_info.extensionCount = 0;
-            for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+            icd_create_info.enabledExtensionNameCount = 0;
+            for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
                 prop = get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
                                               &ptr_instance->ext_list);
                 if (prop) {
-                    filtered_extension_names[icd_create_info.extensionCount] = (char *) pCreateInfo->ppEnabledExtensionNames[i];
-                    icd_create_info.extensionCount++;
+                    filtered_extension_names[icd_create_info.enabledExtensionNameCount] = (char *) pCreateInfo->ppEnabledExtensionNames[i];
+                    icd_create_info.enabledExtensionNameCount++;
                 }
             }
 
@@ -2846,14 +2846,14 @@
 
 void VKAPI loader_GetPhysicalDeviceQueueFamilyProperties (
         VkPhysicalDevice                        gpu,
-        uint32_t*                               pCount,
+        uint32_t*                               pQueueFamilyPropertyCount,
         VkQueueFamilyProperties*                pProperties)
 {
     uint32_t gpu_index;
     struct loader_icd *icd = loader_get_icd(gpu, &gpu_index);
 
     if (icd->GetPhysicalDeviceQueueFamilyProperties)
-        icd->GetPhysicalDeviceQueueFamilyProperties(gpu, pCount, pProperties);
+        icd->GetPhysicalDeviceQueueFamilyProperties(gpu, pQueueFamilyPropertyCount, pProperties);
 }
 
 void VKAPI loader_GetPhysicalDeviceMemoryProperties (
@@ -2949,8 +2949,8 @@
     }
 
     /* validate any app enabled layers are available */
-    if (pCreateInfo->layerCount > 0) {
-        res = loader_validate_layers(pCreateInfo->layerCount,
+    if (pCreateInfo->enabledLayerNameCount > 0) {
+        res = loader_validate_layers(pCreateInfo->enabledLayerNameCount,
                 pCreateInfo->ppEnabledLayerNames,
                 &inst->device_layer_list);
         if (res != VK_SUCCESS) {
@@ -2970,7 +2970,7 @@
      * library could support a layer, but it would be
      * independent of the actual ICD, just in the same library.
      */
-    filtered_extension_names = loader_stack_alloc(pCreateInfo->extensionCount * sizeof(char *));
+    filtered_extension_names = loader_stack_alloc(pCreateInfo->enabledExtensionNameCount * sizeof(char *));
     if (!filtered_extension_names) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
@@ -2979,19 +2979,19 @@
     memcpy(&device_create_info, pCreateInfo, sizeof(VkDeviceCreateInfo));
 
     /* ICD's do not use layers */
-    device_create_info.layerCount = 0;
+    device_create_info.enabledLayerNameCount = 0;
     device_create_info.ppEnabledLayerNames = NULL;
 
-    device_create_info.extensionCount = 0;
+    device_create_info.enabledExtensionNameCount = 0;
     device_create_info.ppEnabledExtensionNames = (const char * const *) filtered_extension_names;
 
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         const char *extension_name = pCreateInfo->ppEnabledExtensionNames[i];
         VkExtensionProperties *prop = get_extension_property(extension_name,
                                       &icd->device_extension_cache[gpu_index]);
         if (prop) {
-            filtered_extension_names[device_create_info.extensionCount] = (char *) extension_name;
-            device_create_info.extensionCount++;
+            filtered_extension_names[device_create_info.enabledExtensionNameCount] = (char *) extension_name;
+            device_create_info.enabledExtensionNameCount++;
         }
     }
 
@@ -3126,7 +3126,7 @@
 
 LOADER_EXPORT VkResult VKAPI vkEnumerateInstanceExtensionProperties(
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties)
 {
     struct loader_extension_list *global_ext_list=NULL;
@@ -3166,19 +3166,19 @@
     }
 
     if (pProperties == NULL) {
-	*pCount = global_ext_list->count;
+	*pPropertyCount = global_ext_list->count;
 	loader_destroy_layer_list(NULL, &instance_layers);
         loader_destroy_ext_list(NULL, &icd_extensions);
         return VK_SUCCESS;
     }
 
-    copy_size = *pCount < global_ext_list->count ? *pCount : global_ext_list->count;
+    copy_size = *pPropertyCount < global_ext_list->count ? *pPropertyCount : global_ext_list->count;
     for (uint32_t i = 0; i < copy_size; i++) {
         memcpy(&pProperties[i],
                &global_ext_list->list[i],
                sizeof(VkExtensionProperties));
     }
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
     loader_destroy_ext_list(NULL, &icd_extensions);
 
     if (copy_size < global_ext_list->count) {
@@ -3191,7 +3191,7 @@
 }
 
 LOADER_EXPORT VkResult VKAPI vkEnumerateInstanceLayerProperties(
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkLayerProperties*                          pProperties)
 {
 
@@ -3207,16 +3207,16 @@
     loader_layer_scan(NULL, &instance_layer_list, NULL);
 
     if (pProperties == NULL) {
-        *pCount = instance_layer_list.count;
+        *pPropertyCount = instance_layer_list.count;
         loader_destroy_layer_list(NULL, &instance_layer_list);
         return VK_SUCCESS;
     }
 
-    copy_size = (*pCount < instance_layer_list.count) ? *pCount : instance_layer_list.count;
+    copy_size = (*pPropertyCount < instance_layer_list.count) ? *pPropertyCount : instance_layer_list.count;
     for (uint32_t i = 0; i < copy_size; i++) {
         memcpy(&pProperties[i], &instance_layer_list.list[i].info, sizeof(VkLayerProperties));
     }
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
     loader_destroy_layer_list(NULL, &instance_layer_list);
 
     if (copy_size < instance_layer_list.count) {
@@ -3229,7 +3229,7 @@
 VkResult VKAPI loader_EnumerateDeviceExtensionProperties(
         VkPhysicalDevice                        gpu,
         const char*                             pLayerName,
-        uint32_t*                               pCount,
+        uint32_t*                               pPropertyCount,
         VkExtensionProperties*                  pProperties)
 {
     uint32_t gpu_index;
@@ -3254,17 +3254,17 @@
 
     count = (dev_ext_list == NULL) ? 0: dev_ext_list->count;
     if (pProperties == NULL) {
-        *pCount = count;
+        *pPropertyCount = count;
         return VK_SUCCESS;
     }
 
-    copy_size = *pCount < count ? *pCount : count;
+    copy_size = *pPropertyCount < count ? *pPropertyCount : count;
     for (uint32_t i = 0; i < copy_size; i++) {
         memcpy(&pProperties[i],
                &dev_ext_list->list[i],
                sizeof(VkExtensionProperties));
     }
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
 
     if (copy_size < count) {
         return VK_INCOMPLETE;
@@ -3275,7 +3275,7 @@
 
 VkResult VKAPI loader_EnumerateDeviceLayerProperties(
         VkPhysicalDevice                        gpu,
-        uint32_t*                               pCount,
+        uint32_t*                               pPropertyCount,
         VkLayerProperties*                      pProperties)
 {
     uint32_t copy_size;
@@ -3285,15 +3285,15 @@
     uint32_t count = icd->this_instance->device_layer_list.count;
 
     if (pProperties == NULL) {
-        *pCount = count;
+        *pPropertyCount = count;
         return VK_SUCCESS;
     }
 
-    copy_size = (*pCount < count) ? *pCount : count;
+    copy_size = (*pPropertyCount < count) ? *pPropertyCount : count;
     for (uint32_t i = 0; i < copy_size; i++) {
         memcpy(&pProperties[i], &(icd->this_instance->device_layer_list.list[i].info), sizeof(VkLayerProperties));
     }
-    *pCount = copy_size;
+    *pPropertyCount = copy_size;
 
     if (copy_size < count) {
         return VK_INCOMPLETE;
diff --git a/loader/trampoline.c b/loader/trampoline.c
index 3c15daa..a73e922 100644
--- a/loader/trampoline.c
+++ b/loader/trampoline.c
@@ -69,7 +69,7 @@
     }
 
     /* Due to implicit layers need to get layer list even if
-     * layerCount == 0 and VK_INSTANCE_LAYERS is unset. For now always
+     * enabledLayerNameCount == 0 and VK_INSTANCE_LAYERS is unset. For now always
      * get layer list (both instance and device) via loader_layer_scan(). */
     memset(&ptr_instance->instance_layer_list, 0, sizeof(ptr_instance->instance_layer_list));
     memset(&ptr_instance->device_layer_list, 0, sizeof(ptr_instance->device_layer_list));
@@ -80,8 +80,8 @@
                       &ptr_instance->device_layer_list);
 
     /* validate the app requested layers to be enabled */
-    if (pCreateInfo->layerCount > 0) {
-        res = loader_validate_layers(pCreateInfo->layerCount,
+    if (pCreateInfo->enabledLayerNameCount > 0) {
+        res = loader_validate_layers(pCreateInfo->enabledLayerNameCount,
                                      pCreateInfo->ppEnabledLayerNames,
                                      &ptr_instance->instance_layer_list);
         if (res != VK_SUCCESS) {
@@ -255,13 +255,13 @@
 
 LOADER_EXPORT void VKAPI vkGetPhysicalDeviceQueueFamilyProperties(
                                             VkPhysicalDevice gpu,
-                                            uint32_t* pCount,
+                                            uint32_t* pQueueFamilyPropertyCount,
                                             VkQueueFamilyProperties* pQueueProperties)
 {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
-    disp->GetPhysicalDeviceQueueFamilyProperties(gpu, pCount, pQueueProperties);
+    disp->GetPhysicalDeviceQueueFamilyProperties(gpu, pQueueFamilyPropertyCount, pQueueProperties);
 }
 
 LOADER_EXPORT void VKAPI vkGetPhysicalDeviceMemoryProperties(
@@ -306,28 +306,28 @@
 LOADER_EXPORT VkResult VKAPI vkEnumerateDeviceExtensionProperties(
     VkPhysicalDevice                            physicalDevice,
     const char*                                 pLayerName,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkExtensionProperties*                      pProperties)
 {
     VkResult res;
 
     loader_platform_thread_lock_mutex(&loader_lock);
     //TODO convert over to using instance chain dispatch
-    res = loader_EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pCount, pProperties);
+    res = loader_EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
     loader_platform_thread_unlock_mutex(&loader_lock);
     return res;
 }
 
 LOADER_EXPORT VkResult VKAPI vkEnumerateDeviceLayerProperties(
     VkPhysicalDevice                            physicalDevice,
-    uint32_t*                                   pCount,
+    uint32_t*                                   pPropertyCount,
     VkLayerProperties*                          pProperties)
 {
     VkResult res;
 
     loader_platform_thread_lock_mutex(&loader_lock);
     //TODO convert over to using instance chain dispatch
-    res = loader_EnumerateDeviceLayerProperties(physicalDevice, pCount, pProperties);
+    res = loader_EnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
     loader_platform_thread_unlock_mutex(&loader_lock);
     return res;
 }
@@ -468,49 +468,49 @@
     disp->GetImageMemoryRequirements(device, image, pMemoryRequirements);
 }
 
-LOADER_EXPORT void VKAPI vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pNumRequirements, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
+LOADER_EXPORT void VKAPI vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    disp->GetImageSparseMemoryRequirements(device, image, pNumRequirements, pSparseMemoryRequirements);
+    disp->GetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
 }
 
-LOADER_EXPORT void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, uint32_t samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pNumProperties, VkSparseImageFormatProperties* pProperties)
+LOADER_EXPORT void VKAPI vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, uint32_t samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
 {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(physicalDevice);
 
-    disp->GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pNumProperties, pProperties);
+    disp->GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
 }
 
-LOADER_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory(VkQueue queue, VkBuffer buffer, uint32_t numBindings, const VkSparseMemoryBindInfo* pBindInfo)
+LOADER_EXPORT VkResult VKAPI vkQueueBindSparseBufferMemory(VkQueue queue, VkBuffer buffer, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
 
-    return disp->QueueBindSparseBufferMemory(queue, buffer, numBindings, pBindInfo);
+    return disp->QueueBindSparseBufferMemory(queue, buffer, bindInfoCount, pBindInfo);
 }
 
-LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(VkQueue queue, VkImage image, uint32_t numBindings, const VkSparseMemoryBindInfo* pBindInfo)
+LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageOpaqueMemory(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseMemoryBindInfo* pBindInfo)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
 
-    return disp->QueueBindSparseImageOpaqueMemory(queue, image, numBindings, pBindInfo);
+    return disp->QueueBindSparseImageOpaqueMemory(queue, image, bindInfoCount, pBindInfo);
 }
 
-LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory(VkQueue queue, VkImage image, uint32_t numBindings, const VkSparseImageMemoryBindInfo* pBindInfo)
+LOADER_EXPORT VkResult VKAPI vkQueueBindSparseImageMemory(VkQueue queue, VkImage image, uint32_t bindInfoCount, const VkSparseImageMemoryBindInfo* pBindInfo)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
 
-    return disp->QueueBindSparseImageMemory(queue, image, numBindings, pBindInfo);
+    return disp->QueueBindSparseImageMemory(queue, image, bindInfoCount, pBindInfo);
 }
 
 LOADER_EXPORT VkResult VKAPI vkCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, VkFence* pFence)
@@ -801,22 +801,22 @@
     return disp->MergePipelineCaches(device, destCache, srcCacheCount, pSrcCaches);
 }
 
-LOADER_EXPORT VkResult VKAPI vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t count, const VkGraphicsPipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines)
+LOADER_EXPORT VkResult VKAPI vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateGraphicsPipelines(device, pipelineCache, count, pCreateInfos, pPipelines);
+    return disp->CreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pPipelines);
 }
 
-LOADER_EXPORT VkResult VKAPI vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t count, const VkComputePipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines)
+LOADER_EXPORT VkResult VKAPI vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, VkPipeline* pPipelines)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateComputePipelines(device, pipelineCache, count, pCreateInfos, pPipelines);
+    return disp->CreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pPipelines);
 }
 
 LOADER_EXPORT void VKAPI vkDestroyPipeline(VkDevice device, VkPipeline pipeline)
@@ -920,13 +920,13 @@
     return disp->AllocDescriptorSets(device, pAllocInfo, pDescriptorSets);
 }
 
-LOADER_EXPORT VkResult VKAPI vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t count, const VkDescriptorSet* pDescriptorSets)
+LOADER_EXPORT VkResult VKAPI vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->FreeDescriptorSets(device, descriptorPool, count, pDescriptorSets);
+    return disp->FreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
 }
 
 LOADER_EXPORT void VKAPI vkUpdateDescriptorSets(VkDevice device, uint32_t writeCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t copyCount, const VkCopyDescriptorSet* pDescriptorCopies)
@@ -1022,7 +1022,7 @@
 
     res = disp->AllocCommandBuffers(device, pAllocInfo, pCmdBuffers);
     if (res == VK_SUCCESS) {
-        for (uint32_t i =0; i < pAllocInfo->count; i++) {
+        for (uint32_t i =0; i < pAllocInfo->bufferCount; i++) {
             if (pCmdBuffers[i]) {
                 loader_init_dispatch(pCmdBuffers[i], disp);
             }
@@ -1035,14 +1035,14 @@
 LOADER_EXPORT void VKAPI vkFreeCommandBuffers(
         VkDevice                                device,
         VkCmdPool                               cmdPool,
-        uint32_t                                count,
+        uint32_t                                commandBufferCount,
         const VkCmdBuffer*                      pCommandBuffers)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    disp->FreeCommandBuffers(device, cmdPool, count, pCommandBuffers);
+    disp->FreeCommandBuffers(device, cmdPool, commandBufferCount, pCommandBuffers);
 }
 
 LOADER_EXPORT VkResult VKAPI vkBeginCommandBuffer(VkCmdBuffer cmdBuffer, const VkCmdBufferBeginInfo* pBeginInfo)
@@ -1162,13 +1162,13 @@
     disp->CmdSetStencilReference(cmdBuffer, faceMask, stencilReference);
 }
 
-LOADER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
+LOADER_EXPORT void VKAPI vkCmdBindDescriptorSets(VkCmdBuffer cmdBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(cmdBuffer);
 
-    disp->CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layout, firstSet, setCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+    disp->CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
 }
 
 LOADER_EXPORT void VKAPI vkCmdBindIndexBuffer(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
@@ -1207,22 +1207,22 @@
     disp->CmdDrawIndexed(cmdBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
 }
 
-LOADER_EXPORT void VKAPI vkCmdDrawIndirect(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride)
+LOADER_EXPORT void VKAPI vkCmdDrawIndirect(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(cmdBuffer);
 
-    disp->CmdDrawIndirect(cmdBuffer, buffer, offset, count, stride);
+    disp->CmdDrawIndirect(cmdBuffer, buffer, offset, drawCount, stride);
 }
 
-LOADER_EXPORT void VKAPI vkCmdDrawIndexedIndirect(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t count, uint32_t stride)
+LOADER_EXPORT void VKAPI vkCmdDrawIndexedIndirect(VkCmdBuffer cmdBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
 {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(cmdBuffer);
 
-    disp->CmdDrawIndexedIndirect(cmdBuffer, buffer, offset, count, stride);
+    disp->CmdDrawIndexedIndirect(cmdBuffer, buffer, offset, drawCount, stride);
 }
 
 LOADER_EXPORT void VKAPI vkCmdDispatch(VkCmdBuffer cmdBuffer, uint32_t x, uint32_t y, uint32_t z)
diff --git a/loader/wsi_swapchain.c b/loader/wsi_swapchain.c
index 5bdf284..a20549a 100644
--- a/loader/wsi_swapchain.c
+++ b/loader/wsi_swapchain.c
@@ -53,7 +53,7 @@
 {
     ptr_instance->wsi_swapchain_enabled = false;
 
-    for (uint32_t i = 0; i < pCreateInfo->extensionCount; i++) {
+    for (uint32_t i = 0; i < pCreateInfo->enabledExtensionNameCount; i++) {
         if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_KHR_SWAPCHAIN_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_swapchain_enabled = true;
             return;
diff --git a/tests/image_tests.cpp b/tests/image_tests.cpp
index 6fd07b4..37b72e2 100644
--- a/tests/image_tests.cpp
+++ b/tests/image_tests.cpp
@@ -98,9 +98,9 @@
         inst_info.pNext = NULL;
         inst_info.pAppInfo = &app_info;
         inst_info.pAllocCb = NULL;
-        inst_info.layerCount = 0;
+        inst_info.enabledLayerNameCount = 0;
         inst_info.ppEnabledLayerNames = NULL;
-        inst_info.extensionCount = 0;
+        inst_info.enabledExtensionNameCount = 0;
         inst_info.ppEnabledExtensionNames = NULL;
         err = vkCreateInstance(&inst_info, &this->inst);
         ASSERT_VK_SUCCESS(err);
diff --git a/tests/init.cpp b/tests/init.cpp
index 804efdd..0eb32f1 100644
--- a/tests/init.cpp
+++ b/tests/init.cpp
@@ -104,9 +104,9 @@
         inst_info.pNext = NULL;
         inst_info.pAppInfo = &app_info;
         inst_info.pAllocCb = NULL;
-        inst_info.layerCount = 0;
+        inst_info.enabledLayerNameCount = 0;
         inst_info.ppEnabledLayerNames = NULL;
-        inst_info.extensionCount = 0;
+        inst_info.enabledExtensionNameCount = 0;
         inst_info.ppEnabledExtensionNames = NULL;
         err = vkCreateInstance(&inst_info, &inst);
         ASSERT_VK_SUCCESS(err);
@@ -507,7 +507,7 @@
 
     info.sType = VK_STRUCTURE_TYPE_CMD_BUFFER_ALLOC_INFO;
     info.cmdPool = cmdPool;
-    info.count = 1;
+    info.bufferCount = 1;
     info.level = VK_CMD_BUFFER_LEVEL_PRIMARY;
     err = vkAllocCommandBuffers(device(), &info, &cmdBuffer);
     ASSERT_VK_SUCCESS(err) << "vkAllocCommandBuffers failed";
diff --git a/tests/layer_validation_tests.cpp b/tests/layer_validation_tests.cpp
index dd929ce..f6fb2ab 100644
--- a/tests/layer_validation_tests.cpp
+++ b/tests/layer_validation_tests.cpp
@@ -416,11 +416,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &m_cmdBuffer->handle();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
@@ -463,11 +463,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &m_cmdBuffer->handle();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
@@ -743,11 +743,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &m_cmdBuffer->handle();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     vkQueueSubmit(m_device->m_queue, 1, &submit_info, testFence.handle());
@@ -850,14 +850,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -872,8 +872,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -882,7 +882,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -891,7 +891,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -1071,14 +1071,14 @@
     m_errorMonitor->ClearState();
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1093,8 +1093,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -1102,7 +1102,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1115,7 +1115,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destBinding = 0;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
     descriptor_write.pTexelBufferView = &view;
 
@@ -1310,11 +1310,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &m_cmdBuffer->handle();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, testFence.handle());
@@ -1344,14 +1344,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1366,8 +1366,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -1376,7 +1376,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1392,7 +1392,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
         VkPipelineLayout pipeline_layout;
 
@@ -1443,15 +1443,15 @@
     // Create Pool w/ 1 Sampler descriptor, but try to alloc Uniform Buffer descriptor from it
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_SAMPLER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.flags = 0;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1466,8 +1466,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -1476,7 +1476,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1503,17 +1503,17 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
+        ds_pool_ci.typeCount = 1;
         ds_pool_ci.flags = 0;
         // Not specifying VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT means
         // app can only call vkResetDescriptorPool on this pool.;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1528,8 +1528,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -1538,7 +1538,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1622,14 +1622,14 @@
     m_errorMonitor->ClearState();
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1644,8 +1644,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -1653,7 +1653,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1662,7 +1662,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -1755,7 +1755,7 @@
     cmd.pNext = NULL;
     cmd.cmdPool = m_cmdPool;
     cmd.level = VK_CMD_BUFFER_LEVEL_SECONDARY;
-    cmd.count = 1;
+    cmd.bufferCount = 1;
 
     err = vkAllocCommandBuffers(m_device->device(), &cmd, &draw_cmd);
     ASSERT_VK_SUCCESS(err);
@@ -1790,14 +1790,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -1812,8 +1812,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -1822,7 +1822,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -1830,7 +1830,7 @@
 
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -1892,13 +1892,13 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), VK_DESCRIPTOR_POOL_USAGE_NON_FREE, 1, &ds_pool_ci, &ds_pool);
@@ -1913,8 +1913,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -1927,7 +1927,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -2017,13 +2017,13 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2036,8 +2036,8 @@
 
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2046,7 +2046,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -2054,7 +2054,7 @@
 
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -2126,13 +2126,13 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2145,8 +2145,8 @@
 
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2155,7 +2155,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -2163,7 +2163,7 @@
 
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -2234,13 +2234,13 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2253,8 +2253,8 @@
 
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2263,7 +2263,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -2271,7 +2271,7 @@
 
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -2307,9 +2307,9 @@
 	VkPipelineVertexInputStateCreateInfo vi_ci = {};
 	vi_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
 	vi_ci.pNext = nullptr;
-	vi_ci.bindingCount = 0;
+	vi_ci.vertexBindingDescriptionCount = 0;
 	vi_ci.pVertexBindingDescriptions = nullptr;
-	vi_ci.attributeCount = 0;
+	vi_ci.vertexAttributeDescriptionCount = 0;
 	vi_ci.pVertexAttributeDescriptions = nullptr;
 
 	VkPipelineInputAssemblyStateCreateInfo ia_ci = {};
@@ -2392,13 +2392,13 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2411,8 +2411,8 @@
 
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2421,7 +2421,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -2429,7 +2429,7 @@
 
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -2465,9 +2465,9 @@
     VkPipelineVertexInputStateCreateInfo vi_ci = {};
     vi_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
     vi_ci.pNext = nullptr;
-    vi_ci.bindingCount = 0;
+    vi_ci.vertexBindingDescriptionCount = 0;
     vi_ci.pVertexBindingDescriptions = nullptr;
-    vi_ci.attributeCount = 0;
+    vi_ci.vertexAttributeDescriptionCount = 0;
     vi_ci.pVertexAttributeDescriptions = nullptr;
 
     VkPipelineInputAssemblyStateCreateInfo ia_ci = {};
@@ -2798,7 +2798,7 @@
         buffCI.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
         buffCI.size = 1024;
         buffCI.usage = VK_BUFFER_USAGE_INDEX_BUFFER_BIT;
-        buffCI.queueFamilyCount = 1;
+        buffCI.queueFamilyIndexCount = 1;
         buffCI.pQueueFamilyIndices = &qfi;
 
     VkBuffer ib;
@@ -2854,14 +2854,14 @@
     //VkDescriptorSetObj descriptorSet(m_device);
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2875,8 +2875,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2885,7 +2885,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -2920,7 +2920,7 @@
     memset(&descriptor_write, 0, sizeof(descriptor_write));
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     // This is a mismatched type for the layout which expects BUFFER
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &info;
@@ -2950,14 +2950,14 @@
     //VkDescriptorSetObj descriptorSet(m_device);
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -2972,8 +2972,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -2982,7 +2982,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3018,7 +3018,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destArrayElement = 1; /* This index out of bounds for the update */
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     // This is the wrong type, but out of bounds will be flagged first
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &info;
@@ -3048,14 +3048,14 @@
     //VkDescriptorSetObj descriptorSet(m_device);
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3070,8 +3070,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -3079,7 +3079,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3115,7 +3115,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destBinding = 2;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     // This is the wrong type, but out of bounds will be flagged first
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &info;
@@ -3145,14 +3145,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3166,8 +3166,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -3176,7 +3176,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3211,7 +3211,7 @@
     memset(&descriptor_write, 0, sizeof(descriptor_write));
     descriptor_write.sType = (VkStructureType)0x99999999; /* Intentionally broken struct type */
     descriptor_write.destSet = descriptorSet;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     // This is the wrong type, but out of bounds will be flagged first
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &info;
@@ -3241,14 +3241,14 @@
     // TODO : Farm Descriptor setup code to helper function(s) to reduce copied code
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_SAMPLER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3263,8 +3263,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -3272,7 +3272,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3289,7 +3289,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destBinding = 0;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &descriptor_info;
 
@@ -3316,14 +3316,14 @@
     m_errorMonitor->ClearState();
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3338,8 +3338,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -3347,7 +3347,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3387,7 +3387,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destBinding = 0;
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
     descriptor_write.pImageInfo = &descriptor_info;
 
@@ -3416,16 +3416,16 @@
     //VkDescriptorSetObj descriptorSet(m_device);
     VkDescriptorTypeCount ds_type_count[2] = {};
         ds_type_count[0].type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count[0].count = 1;
+        ds_type_count[0].descriptorCount = 1;
         ds_type_count[1].type = VK_DESCRIPTOR_TYPE_SAMPLER;
-        ds_type_count[1].count = 1;
+        ds_type_count[1].descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 2;
-        ds_pool_ci.pTypeCount = ds_type_count;
+        ds_pool_ci.typeCount = 2;
+        ds_pool_ci.pTypeCounts = ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3443,8 +3443,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 2;
-        ds_layout_ci.pBinding = dsl_binding;
+        ds_layout_ci.bindingCount = 2;
+        ds_layout_ci.pBindings = dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -3453,7 +3453,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3489,7 +3489,7 @@
     descriptor_write.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
     descriptor_write.destSet = descriptorSet;
     descriptor_write.destBinding = 1; // SAMPLER binding from layout above
-    descriptor_write.count = 1;
+    descriptor_write.descriptorCount = 1;
     descriptor_write.descriptorType = VK_DESCRIPTOR_TYPE_SAMPLER;
     descriptor_write.pImageInfo = &info;
     // This write update should succeed
@@ -3502,7 +3502,7 @@
     copy_ds_update.srcBinding = 1; // copy from SAMPLER binding
     copy_ds_update.destSet = descriptorSet;
     copy_ds_update.destBinding = 0; // ERROR : copy to UNIFORM binding
-    copy_ds_update.count = 1; // copy 1 descriptor
+    copy_ds_update.descriptorCount = 1; // copy 1 descriptor
     vkUpdateDescriptorSets(m_device->device(), 0, NULL, 1, &copy_ds_update);
 
     msgFlags = m_errorMonitor->GetState(&msgString);
@@ -3517,7 +3517,7 @@
     copy_ds_update.srcBinding = 3; // ERROR : Invalid binding for matching layout
     copy_ds_update.destSet = descriptorSet;
     copy_ds_update.destBinding = 0;
-    copy_ds_update.count = 1; // copy 1 descriptor
+    copy_ds_update.descriptorCount = 1; // copy 1 descriptor
     vkUpdateDescriptorSets(m_device->device(), 0, NULL, 1, &copy_ds_update);
 
     msgFlags = m_errorMonitor->GetState(&msgString);
@@ -3532,7 +3532,7 @@
     copy_ds_update.srcBinding = 1;
     copy_ds_update.destSet = descriptorSet;
     copy_ds_update.destBinding = 0;
-    copy_ds_update.count = 5; // ERROR copy 5 descriptors (out of bounds for layout)
+    copy_ds_update.descriptorCount = 5; // ERROR copy 5 descriptors (out of bounds for layout)
     vkUpdateDescriptorSets(m_device->device(), 0, NULL, 1, &copy_ds_update);
 
     msgFlags = m_errorMonitor->GetState(&msgString);
@@ -3558,14 +3558,14 @@
     m_errorMonitor->ClearState();
     VkDescriptorTypeCount ds_type_count = {};
     ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-    ds_type_count.count = 1;
+    ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3580,8 +3580,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
     ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
     ds_layout_ci.pNext = NULL;
-    ds_layout_ci.count = 1;
-    ds_layout_ci.pBinding = &dsl_binding;
+    ds_layout_ci.bindingCount = 1;
+    ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -3590,7 +3590,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3607,7 +3607,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -3650,14 +3650,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3672,8 +3672,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -3682,7 +3682,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3699,7 +3699,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
 
     VkPipelineLayout pipeline_layout;
@@ -3755,14 +3755,14 @@
 
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -3777,8 +3777,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
 
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
@@ -3787,7 +3787,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
@@ -3804,7 +3804,7 @@
     VkPipelineLayoutCreateInfo pipeline_layout_ci = {};
         pipeline_layout_ci.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
         pipeline_layout_ci.pNext = NULL;
-        pipeline_layout_ci.descriptorSetCount = 1;
+        pipeline_layout_ci.setLayoutCount = 1;
         pipeline_layout_ci.pSetLayouts = &ds_layout;
         VkPipelineLayout pipeline_layout;
 
@@ -5509,14 +5509,14 @@
     m_errorMonitor->ClearState();
     VkDescriptorTypeCount ds_type_count = {};
         ds_type_count.type = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE;
-        ds_type_count.count = 1;
+        ds_type_count.descriptorCount = 1;
 
     VkDescriptorPoolCreateInfo ds_pool_ci = {};
         ds_pool_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
         ds_pool_ci.pNext = NULL;
         ds_pool_ci.maxSets = 1;
-        ds_pool_ci.count = 1;
-        ds_pool_ci.pTypeCount = &ds_type_count;
+        ds_pool_ci.typeCount = 1;
+        ds_pool_ci.pTypeCounts = &ds_type_count;
 
     VkDescriptorPool ds_pool;
     err = vkCreateDescriptorPool(m_device->device(), &ds_pool_ci, &ds_pool);
@@ -5531,8 +5531,8 @@
     VkDescriptorSetLayoutCreateInfo ds_layout_ci = {};
         ds_layout_ci.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
         ds_layout_ci.pNext = NULL;
-        ds_layout_ci.count = 1;
-        ds_layout_ci.pBinding = &dsl_binding;
+        ds_layout_ci.bindingCount = 1;
+        ds_layout_ci.pBindings = &dsl_binding;
     VkDescriptorSetLayout ds_layout;
     err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, &ds_layout);
     ASSERT_VK_SUCCESS(err);
@@ -5540,7 +5540,7 @@
     VkDescriptorSet descriptorSet;
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = 1;
+    alloc_info.setLayoutCount = 1;
     alloc_info.descriptorPool = ds_pool;
     alloc_info.pSetLayouts = &ds_layout;
     err = vkAllocDescriptorSets(m_device->device(), &alloc_info, &descriptorSet);
diff --git a/tests/test_environment.cpp b/tests/test_environment.cpp
index da62397..0709744 100644
--- a/tests/test_environment.cpp
+++ b/tests/test_environment.cpp
@@ -88,9 +88,9 @@
     inst_info.pNext = NULL;
     inst_info.pAppInfo = &app_;
     inst_info.pAllocCb = NULL;
-    inst_info.extensionCount = instance_extension_names.size();
+    inst_info.enabledExtensionNameCount = instance_extension_names.size();
     inst_info.ppEnabledExtensionNames = (instance_extension_names.size()) ? &instance_extension_names[0] : NULL;
-    inst_info.layerCount = 0;
+    inst_info.enabledLayerNameCount = 0;
     inst_info.ppEnabledLayerNames = NULL;
     err = vkCreateInstance(&inst_info, &inst);
     ASSERT_EQ(VK_SUCCESS, err);
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 5b7ac18..1d868d5 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -99,9 +99,9 @@
     instInfo.pNext = NULL;
     instInfo.pAppInfo = &app_info;
     instInfo.pAllocCb = NULL;
-    instInfo.layerCount = instance_layer_names.size();
+    instInfo.enabledLayerNameCount = instance_layer_names.size();
     instInfo.ppEnabledLayerNames = instance_layer_names.data();
-    instInfo.extensionCount = instance_extension_names.size();
+    instInfo.enabledExtensionNameCount = instance_extension_names.size();
     instInfo.ppEnabledExtensionNames = instance_extension_names.data();
     err = vkCreateInstance(&instInfo, &this->inst);
     ASSERT_VK_SUCCESS(err);
@@ -339,9 +339,9 @@
     subpass.pNext = NULL;
     subpass.pipelineBindPoint = VK_PIPELINE_BIND_POINT_GRAPHICS;
     subpass.flags = 0;
-    subpass.inputCount = 0;
+    subpass.inputAttachmentCount = 0;
     subpass.pInputAttachments = NULL;
-    subpass.colorCount = targets;
+    subpass.colorAttachmentCount = targets;
     subpass.pColorAttachments = color_references.data();
     subpass.pResolveAttachments = NULL;
 
@@ -367,7 +367,7 @@
         subpass.depthStencilAttachment.attachment = VK_ATTACHMENT_UNUSED;
     }
 
-    subpass.preserveCount = 0;
+    subpass.preserveAttachmentCount = 0;
     subpass.pPreserveAttachments = NULL;
 
     VkRenderPassCreateInfo rp_info = {};
@@ -444,7 +444,7 @@
     /* request a descriptor but do not update it */
     VkDescriptorTypeCount tc = {};
     tc.type = VK_DESCRIPTOR_TYPE_STORAGE_BUFFER;
-    tc.count = 1;
+    tc.descriptorCount = 1;
     m_type_counts.push_back(tc);
 
     return m_nextSlot++;
@@ -458,7 +458,7 @@
            type == VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC);
     VkDescriptorTypeCount tc = {};
     tc.type = type;
-    tc.count = 1;
+    tc.descriptorCount = 1;
     m_type_counts.push_back(tc);
 
     m_writes.push_back(vk_testing::Device::write_descriptor_set(vk_testing::DescriptorSet(),
@@ -471,7 +471,7 @@
 {
     VkDescriptorTypeCount tc = {};
     tc.type = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER;
-    tc.count = 1;
+    tc.descriptorCount = 1;
     m_type_counts.push_back(tc);
 
     VkDescriptorImageInfo tmp = texture->m_imageInfo;
@@ -499,9 +499,9 @@
     // create VkDescriptorPool
     VkDescriptorPoolCreateInfo pool = {};
     pool.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
-    pool.count = m_type_counts.size();
+    pool.typeCount = m_type_counts.size();
     pool.maxSets = 1;
-    pool.pTypeCount = m_type_counts.data();
+    pool.pTypeCounts = m_type_counts.data();
     init(*m_device, pool);
 
     // create VkDescriptorSetLayout
@@ -509,7 +509,7 @@
     bindings.resize(m_type_counts.size());
     for (int i = 0; i < m_type_counts.size(); i++) {
         bindings[i].descriptorType = m_type_counts[i].type;
-        bindings[i].arraySize = m_type_counts[i].count;
+        bindings[i].arraySize = m_type_counts[i].descriptorCount;
         bindings[i].stageFlags = VK_SHADER_STAGE_ALL;
         bindings[i].pImmutableSamplers = NULL;
     }
@@ -517,8 +517,8 @@
     // create VkDescriptorSetLayout
     VkDescriptorSetLayoutCreateInfo layout = {};
     layout.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
-    layout.count = bindings.size();
-    layout.pBinding = bindings.data();
+    layout.bindingCount = bindings.size();
+    layout.pBindings = bindings.data();
 
     m_layout.init(*m_device, layout);
     vector<const vk_testing::DescriptorSetLayout *> layouts;
@@ -527,7 +527,7 @@
     // create VkPipelineLayout
     VkPipelineLayoutCreateInfo pipeline_layout = {};
     pipeline_layout.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
-    pipeline_layout.descriptorSetCount = layouts.size();
+    pipeline_layout.setLayoutCount = layouts.size();
     pipeline_layout.pSetLayouts = NULL;
 
     m_pipeline_layout.init(*m_device, pipeline_layout, layouts);
@@ -992,11 +992,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = bufferArray;
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit(m_device->m_queue, 1, &submit_info, m_fence.handle());
@@ -1119,9 +1119,9 @@
     m_device = device;
 
     m_vi_state.pNext                        = VK_NULL_HANDLE;
-    m_vi_state.bindingCount                 = 0;
+    m_vi_state.vertexBindingDescriptionCount = 0;
     m_vi_state.pVertexBindingDescriptions   = VK_NULL_HANDLE;
-    m_vi_state.attributeCount               = 0;
+    m_vi_state.vertexAttributeDescriptionCount = 0;
     m_vi_state.pVertexAttributeDescriptions = VK_NULL_HANDLE;
 
     m_vertexBufferCount = 0;
@@ -1197,13 +1197,13 @@
 void VkPipelineObj::AddVertexInputAttribs(VkVertexInputAttributeDescription* vi_attrib, int count)
 {
     m_vi_state.pVertexAttributeDescriptions = vi_attrib;
-    m_vi_state.attributeCount = count;
+    m_vi_state.vertexAttributeDescriptionCount = count;
 }
 
 void VkPipelineObj::AddVertexInputBindings(VkVertexInputBindingDescription* vi_binding, int count)
 {
     m_vi_state.pVertexBindingDescriptions = vi_binding;
-    m_vi_state.bindingCount = count;
+    m_vi_state.vertexBindingDescriptionCount = count;
 }
 
 void VkPipelineObj::AddColorAttachment(uint32_t binding, const VkPipelineColorBlendAttachmentState *att)
@@ -1276,7 +1276,7 @@
         memcpy((void*)&info.pStages[i], shaderCreateInfo, sizeof(VkPipelineShaderStageCreateInfo));
     }
 
-    if (m_vi_state.attributeCount && m_vi_state.bindingCount) {
+    if (m_vi_state.vertexAttributeDescriptionCount && m_vi_state.vertexBindingDescriptionCount) {
         m_vi_state.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
         info.pVertexInputState = &m_vi_state;
     } else {
@@ -1606,11 +1606,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = &handle();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit( m_device->m_queue, 1, &submit_info, fence );
@@ -1684,7 +1684,7 @@
     image_info.usage = VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT;
     image_info.flags = 0;
     image_info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
-    image_info.queueFamilyCount = 0;
+    image_info.queueFamilyIndexCount = 0;
     image_info.pQueueFamilyIndices = NULL;
     init(*m_device, image_info);
 
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index a6fc872..3f8cf56 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -274,8 +274,8 @@
         qi.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
         qi.pNext = NULL;
         qi.queueFamilyIndex = i;
-        qi.queueCount = queue_props[i].queueCount;
-        std::vector<float> queue_priorities (qi.queueCount, 0.0);
+        qi.queuePriorityCount = queue_props[i].queueCount;
+        std::vector<float> queue_priorities (qi.queuePriorityCount, 0.0);
         qi.pQueuePriorities = queue_priorities.data();
         if (queue_props[i].queueFlags & VK_QUEUE_GRAPHICS_BIT) {
             graphics_queue_node_index_ = i;
@@ -288,9 +288,9 @@
     dev_info.pNext = NULL;
     dev_info.requestedQueueCount = queue_info.size();
     dev_info.pRequestedQueues = queue_info.data();
-    dev_info.layerCount = layers.size();
+    dev_info.enabledLayerNameCount = layers.size();
     dev_info.ppEnabledLayerNames = layers.data();
-    dev_info.extensionCount = extensions.size();
+    dev_info.enabledExtensionNameCount = extensions.size();
     dev_info.ppEnabledExtensionNames = extensions.data();
 
     init(dev_info);
@@ -398,11 +398,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = (uint32_t)cmd_handles.size();
+    submit_info.commandBufferCount = (uint32_t)cmd_handles.size();
     submit_info.pCommandBuffers = cmd_handles.data();
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     EXPECT(vkQueueSubmit(handle(), 1, &submit_info, fence.handle()) == VK_SUCCESS);
@@ -751,7 +751,7 @@
 
     VkDescriptorSetAllocInfo alloc_info = {};
     alloc_info.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOC_INFO;
-    alloc_info.count = layout_handles.size();
+    alloc_info.setLayoutCount = layout_handles.size();
     alloc_info.descriptorPool = handle();
     alloc_info.pSetLayouts = layout_handles.data();
     VkResult err = vkAllocDescriptorSets(device(), &alloc_info, set_handles.data());
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index 04e84b2..f723de2 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -816,7 +816,7 @@
     write.destSet = set.handle();
     write.destBinding = binding;
     write.destArrayElement = array_element;
-    write.count = count;
+    write.descriptorCount = count;
     write.descriptorType = type;
     write.pImageInfo = image_info;
     return write;
@@ -830,7 +830,7 @@
     write.destSet = set.handle();
     write.destBinding = binding;
     write.destArrayElement = array_element;
-    write.count = count;
+    write.descriptorCount = count;
     write.descriptorType = type;
     write.pBufferInfo = buffer_info;
     return write;
@@ -844,7 +844,7 @@
     write.destSet = set.handle();
     write.destBinding = binding;
     write.destArrayElement = array_element;
-    write.count = count;
+    write.descriptorCount = count;
     write.descriptorType = type;
     write.pTexelBufferView = buffer_views;
     return write;
@@ -880,7 +880,7 @@
     copy.destSet = dst_set.handle();
     copy.destBinding = dst_binding;
     copy.destArrayElement = dst_array_element;
-    copy.count = count;
+    copy.descriptorCount = count;
 
     return copy;
 }
@@ -890,7 +890,7 @@
     VkCmdBufferAllocInfo info = {};
     info.sType = VK_STRUCTURE_TYPE_CMD_BUFFER_ALLOC_INFO;
     info.cmdPool = pool;
-    info.count = 1;
+    info.bufferCount = 1;
     return info;
 }
 
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index fd504ab..1cab1c0 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -587,11 +587,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 1;
+    submit_info.waitSemaphoreCount = 1;
     submit_info.pWaitSemaphores = &presentCompleteSemaphore,
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = cmdBufs;
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     vkQueueSubmit(m_queue.handle(), 1, &submit_info, nullFence);
@@ -1031,11 +1031,11 @@
     VkSubmitInfo submit_info;
     submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
     submit_info.pNext = NULL;
-    submit_info.waitSemCount = 0;
+    submit_info.waitSemaphoreCount = 0;
     submit_info.pWaitSemaphores = NULL;
-    submit_info.cmdBufferCount = 1;
+    submit_info.commandBufferCount = 1;
     submit_info.pCommandBuffers = cmd_bufs;
-    submit_info.signalSemCount = 0;
+    submit_info.signalSemaphoreCount = 0;
     submit_info.pSignalSemaphores = NULL;
 
     err = vkQueueSubmit(m_queue.handle(), 1, &submit_info, nullFence);
diff --git a/vk-layer-generate.py b/vk-layer-generate.py
index afcf4be..4cef744 100755
--- a/vk-layer-generate.py
+++ b/vk-layer-generate.py
@@ -721,7 +721,7 @@
                          '        my_data->report_data = debug_report_create_instance(\n'
                          '                                   instance_dispatch_table(*pInstance),\n'
                          '                                   *pInstance,\n'
-                         '                                   pCreateInfo->extensionCount,\n'
+                         '                                   pCreateInfo->enabledExtensionNameCount,\n'
                          '                                   pCreateInfo->ppEnabledExtensionNames);\n'
                          '        initGeneric(my_data);\n'
                          '        sprintf(str, "Completed Generic layered %s\\n");\n'
@@ -1577,7 +1577,7 @@
             if 'FreeCommandBuffers' in proto.name:
                 funcs.append('%s\n' % self.lineinfo.get())
                 destroy_line =  '    loader_platform_thread_lock_mutex(&objLock);\n'
-                destroy_line += '    for (uint32_t i = 0; i < count; i++) {\n'
+                destroy_line += '    for (uint32_t i = 0; i < commandBufferCount; i++) {\n'
                 destroy_line += '        destroy_obj(%s[i], %s[i]);\n' % (proto.params[-1].name, proto.params[-1].name)
                 destroy_line += '    }\n'
                 destroy_line += '    loader_platform_thread_unlock_mutex(&objLock);\n'
@@ -1911,7 +1911,7 @@
                          '        my_data->report_data = debug_report_create_instance(\n'
                          '                                   pInstanceTable,\n'
                          '                                   *pInstance,\n'
-                         '                                   pCreateInfo->extensionCount,\n'
+                         '                                   pCreateInfo->enabledExtensionNameCount,\n'
                          '                                   pCreateInfo->ppEnabledExtensionNames);\n'
                          '        initThreading(my_data);\n'
                          '    }\n'
diff --git a/vk_helper.py b/vk_helper.py
index d0a5db3..2e3a994 100755
--- a/vk_helper.py
+++ b/vk_helper.py
@@ -252,6 +252,11 @@
             if 'const' in full_type and '*' in full_type:
                 if name.endswith('s') or self.last_struct_count_name.lower().replace('count', '') in name.lower():
                     return True
+
+                # VkWriteDescriptorSet
+                if self.last_struct_count_name == "descriptorCount":
+                    return True
+
         return False
 
     # populate struct dicts based on struct lines
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.c b/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.c
index 123857e..d3ee1a6 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.c
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/layers/vktrace_snapshot.c
@@ -77,10 +77,10 @@
                                        pSrcCreateInfo->pRequestedQueues[i].pQueuePriorities);
         }
 
-        if (pSrcCreateInfo->extensionCount > 0)
+        if (pSrcCreateInfo->enabledExtensionNameCount > 0)
         {
-            vktrace_vk_malloc_and_copy((void**)&pDestCreateInfo->ppEnabledExtensionNames, pSrcCreateInfo->extensionCount * sizeof(char *), pSrcCreateInfo->ppEnabledExtensionNames);
-            for (i = 0; i < pSrcCreateInfo->extensionCount; i++)
+            vktrace_vk_malloc_and_copy((void**)&pDestCreateInfo->ppEnabledExtensionNames, pSrcCreateInfo->enabledExtensionNameCount * sizeof(char *), pSrcCreateInfo->ppEnabledExtensionNames);
+            for (i = 0; i < pSrcCreateInfo->enabledExtensionNameCount; i++)
             {
                 vktrace_vk_malloc_and_copy((void**)&pDestCreateInfo->ppEnabledExtensionNames[i], strlen(pSrcCreateInfo->ppEnabledExtensionNames[i]) + 1, pSrcCreateInfo->ppEnabledExtensionNames[i]);
             }
@@ -89,11 +89,11 @@
         VkLayerCreateInfo **ppDstNext = ( VkLayerCreateInfo **) &pDestCreateInfo->pNext;
         while (pSrcNext != NULL)
         {
-            if ((pSrcNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pSrcNext->layerCount > 0)
+            if ((pSrcNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pSrcNext->enabledLayerNameCount > 0)
             {
                 vktrace_vk_malloc_and_copy((void**)ppDstNext, sizeof(VkLayerCreateInfo), pSrcNext);
-                vktrace_vk_malloc_and_copy((void**)&(*ppDstNext)->ppActiveLayerNames, pSrcNext->layerCount * sizeof(char*), pSrcNext->ppActiveLayerNames);
-                for (i = 0; i < pSrcNext->layerCount; i++)
+                vktrace_vk_malloc_and_copy((void**)&(*ppDstNext)->ppActiveLayerNames, pSrcNext->enabledLayerNameCount * sizeof(char*), pSrcNext->ppActiveLayerNames);
+                for (i = 0; i < pSrcNext->enabledLayerNameCount; i++)
                 {
                     vktrace_vk_malloc_and_copy((void**)&(*ppDstNext)->ppActiveLayerNames[i], strlen(pSrcNext->ppActiveLayerNames[i]) + 1, pSrcNext->ppActiveLayerNames[i]);
                 }
@@ -117,7 +117,7 @@
 
     if (pCreateInfo->ppEnabledExtensionNames != NULL)
     {
-        for (i = 0; i < pCreateInfo->extensionCount; i++)
+        for (i = 0; i < pCreateInfo->enabledExtensionNameCount; i++)
         {
             free((void*)pCreateInfo->ppEnabledExtensionNames[i]);
         }
@@ -128,9 +128,9 @@
     while (pSrcNext != NULL)
     {
         VkLayerCreateInfo* pTmp = (VkLayerCreateInfo*)pSrcNext->pNext;
-        if ((pSrcNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pSrcNext->layerCount > 0)
+        if ((pSrcNext->sType == VK_STRUCTURE_TYPE_LAYER_CREATE_INFO) && pSrcNext->enabledLayerNameCount > 0)
         {
-            for (i = 0; i < pSrcNext->layerCount; i++)
+            for (i = 0; i < pSrcNext->enabledLayerNameCount; i++)
             {
                 free((void*)pSrcNext->ppActiveLayerNames[i]);
             }
@@ -617,10 +617,10 @@
     nextTable.GetDeviceQueue(device, queueNodeIndex, queueIndex, pQueue);
 }
 
-VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit(VkQueue queue, uint32_t cmdBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence)
+VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit(VkQueue queue, uint32_t commandBufferCount, const VkCmdBuffer* pCmdBuffers, VkFence fence)
 {
     set_status(fence, VK_OBJECT_TYPE_FENCE, OBJSTATUS_FENCE_IS_SUBMITTED);
-    VkResult result = nextTable.QueueSubmit(queue, cmdBufferCount, pCmdBuffers, fence);
+    VkResult result = nextTable.QueueSubmit(queue, commandBufferCount, pCmdBuffers, fence);
     return result;
 }
 
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkdisplay.cpp b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkdisplay.cpp
index 13ee51e..c8138b2 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkdisplay.cpp
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkdisplay.cpp
@@ -115,7 +115,7 @@
     VkDeviceCreateInfo info = {};
     info.requestedQueueCount = 1;
     info.pRequestedQueues = &dqci;
-    info.extensionCount = static_cast <uint32_t> (m_extensions.size());
+    info.enabledExtensionNameCount = static_cast <uint32_t> (m_extensions.size());
     info.ppEnabledExtensionNames = extNames;
     info.flags = VK_DEVICE_CREATE_VALIDATION;
     info.maxValidationLevel = VK_VALIDATION_LEVEL_4;
diff --git a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
index ca1a190..860565a 100644
--- a/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
+++ b/vktrace/src/vktrace_extensions/vktracevulkan/vkreplay/vkreplay_vkreplay.cpp
@@ -221,7 +221,7 @@
                 //                    // Third, check extensions requested by the application
                 //                    if (bCheckIfNeeded)
                 //                    {
-                //                        for (uint32_t j = 0; j < pPacket->pCreateInfo->extensionCount; j++)
+                //                        for (uint32_t j = 0; j < pPacket->pCreateInfo->enabledExtensionNameCount; j++)
                 //                        {
                 //                            if (memcmp(&pPacket->pCreateInfo->pEnabledExtensions[j], &extProp, sizeof(VkExtensionProperties)) == 0)
                 //                            {
@@ -244,9 +244,9 @@
             createInfo.pNext = NULL;
             createInfo.pAppInfo = pPacket->pCreateInfo->pAppInfo;
             createInfo.pAllocCb = NULL;
-            createInfo.layerCount = 0;
+            createInfo.enabledLayerNameCount = 0;
             createInfo.ppEnabledLayerNames = NULL;
-            createInfo.extensionCount = instance_extension_count;
+            createInfo.enabledExtensionNameCount = instance_extension_count;
             //                createInfo.ppEnabledExtensionNames = requiredLayerNames;
 
             // make the call
@@ -262,7 +262,7 @@
             if (g_pReplaySettings->screenshotList != NULL) {
                 // enable screenshot layer if it is available and not already in list
                 bool found_ss = false;
-                for (uint32_t i = 0; i < pCreateInfo->layerCount; i++) {
+                for (uint32_t i = 0; i < pCreateInfo->enabledLayerNameCount; i++) {
                     if (!strcmp(pCreateInfo->ppEnabledLayerNames[i], strScreenShot)) {
                         found_ss = true;
                         break;
@@ -284,12 +284,12 @@
                     }
                     if (found_ss) {
                         // screenshot layer is available so enable it
-                        ppEnabledLayerNames = (char **) vktrace_malloc((pCreateInfo->layerCount + 1) * sizeof (char *));
-                        for (uint32_t i = 0; i < pCreateInfo->layerCount && ppEnabledLayerNames; i++) {
+                        ppEnabledLayerNames = (char **) vktrace_malloc((pCreateInfo->enabledLayerNameCount + 1) * sizeof (char *));
+                        for (uint32_t i = 0; i < pCreateInfo->enabledLayerNameCount && ppEnabledLayerNames; i++) {
                             ppEnabledLayerNames[i] = (char *) pCreateInfo->ppEnabledLayerNames[i];
                         }
-                        ppEnabledLayerNames[pCreateInfo->layerCount] = (char *) vktrace_malloc(strlen(strScreenShot) + 1);
-                        strcpy(ppEnabledLayerNames[pCreateInfo->layerCount++], strScreenShot);
+                        ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount] = (char *) vktrace_malloc(strlen(strScreenShot) + 1);
+                        strcpy(ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount++], strScreenShot);
                         saved_ppLayers = (char **) pCreateInfo->ppEnabledLayerNames;
                         pCreateInfo->ppEnabledLayerNames = ppEnabledLayerNames;
                     }
@@ -299,7 +299,7 @@
             replayResult = m_vkFuncs.real_vkCreateInstance(pPacket->pCreateInfo, &inst);
             if (ppEnabledLayerNames) {
                 // restore the packets CreateInfo struct
-                vktrace_free(ppEnabledLayerNames[pCreateInfo->layerCount - 1]);
+                vktrace_free(ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount - 1]);
                 vktrace_free(ppEnabledLayerNames);
                 pCreateInfo->ppEnabledLayerNames = saved_ppLayers;
             }
@@ -335,7 +335,7 @@
         if (g_pReplaySettings->screenshotList != NULL) {
             // enable screenshot layer if it is available and not already in list
             bool found_ss = false;
-            for (uint32_t i = 0; i < pCreateInfo->layerCount; i++) {
+            for (uint32_t i = 0; i < pCreateInfo->enabledLayerNameCount; i++) {
                 if (!strcmp(pCreateInfo->ppEnabledLayerNames[i], strScreenShot)) {
                     found_ss = true;
                     break;
@@ -357,13 +357,13 @@
                 }
                 if (found_ss) {
                     // screenshot layer is available so enable it
-                    ppEnabledLayerNames = (char **) vktrace_malloc((pCreateInfo->layerCount+1) * sizeof(char *));
-                    for (uint32_t i = 0; i < pCreateInfo->layerCount && ppEnabledLayerNames; i++)
+                    ppEnabledLayerNames = (char **) vktrace_malloc((pCreateInfo->enabledLayerNameCount+1) * sizeof(char *));
+                    for (uint32_t i = 0; i < pCreateInfo->enabledLayerNameCount && ppEnabledLayerNames; i++)
                     {
                         ppEnabledLayerNames[i] = (char *) pCreateInfo->ppEnabledLayerNames[i];
                     }
-                    ppEnabledLayerNames[pCreateInfo->layerCount] = (char *) vktrace_malloc(strlen(strScreenShot) + 1);
-                    strcpy(ppEnabledLayerNames[pCreateInfo->layerCount++], strScreenShot);
+                    ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount] = (char *) vktrace_malloc(strlen(strScreenShot) + 1);
+                    strcpy(ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount++], strScreenShot);
                     saved_ppLayers = (char **) pCreateInfo->ppEnabledLayerNames;
                     pCreateInfo->ppEnabledLayerNames = ppEnabledLayerNames;
                 }
@@ -374,7 +374,7 @@
         if (ppEnabledLayerNames)
         {
             // restore the packets CreateInfo struct
-            vktrace_free(ppEnabledLayerNames[pCreateInfo->layerCount-1]);
+            vktrace_free(ppEnabledLayerNames[pCreateInfo->enabledLayerNameCount-1]);
             vktrace_free(ppEnabledLayerNames);
             pCreateInfo->ppEnabledLayerNames = saved_ppLayers;
         }
@@ -664,10 +664,10 @@
         // Remap Semaphores & CmdBuffers for this submit
         uint32_t i = 0;
         if (submit->pCommandBuffers != NULL) {
-            pRemappedBuffers = VKTRACE_NEW_ARRAY( VkCmdBuffer, submit->cmdBufferCount);
+            pRemappedBuffers = VKTRACE_NEW_ARRAY( VkCmdBuffer, submit->commandBufferCount);
             remappedSubmit->pCommandBuffers = pRemappedBuffers;
-            remappedSubmit->cmdBufferCount = submit->cmdBufferCount;
-            for (i = 0; i < submit->cmdBufferCount; i++) {
+            remappedSubmit->commandBufferCount = submit->commandBufferCount;
+            for (i = 0; i < submit->commandBufferCount; i++) {
                 *(pRemappedBuffers + i) = m_objMapper.remap_cmdbuffers(*(submit->pCommandBuffers + i));
                 if (*(pRemappedBuffers + i) == VK_NULL_HANDLE) {
                     VKTRACE_DELETE(remappedSubmitInfo);
@@ -677,10 +677,10 @@
             }
         }
         if (submit->pWaitSemaphores != NULL) {
-            pRemappedWaitSems = VKTRACE_NEW_ARRAY(VkSemaphore, submit->waitSemCount);
+            pRemappedWaitSems = VKTRACE_NEW_ARRAY(VkSemaphore, submit->waitSemaphoreCount);
             remappedSubmit->pWaitSemaphores = pRemappedWaitSems;
-            remappedSubmit->waitSemCount = submit->waitSemCount;
-            for (i = 0; i < submit->waitSemCount; i++) {
+            remappedSubmit->waitSemaphoreCount = submit->waitSemaphoreCount;
+            for (i = 0; i < submit->waitSemaphoreCount; i++) {
                 //*(pRemappedWaitSems + i)->handle = m_objMapper.remap_semaphores(*(submit->pWaitSemaphores + i));
                 (*(pRemappedWaitSems + i)) = m_objMapper.remap_semaphores((*(submit->pWaitSemaphores + i)));
                 if (*(pRemappedWaitSems + i) == VK_NULL_HANDLE) {
@@ -691,10 +691,10 @@
             }
         }
         if (submit->pSignalSemaphores != NULL) {
-            pRemappedSignalSems = VKTRACE_NEW_ARRAY(VkSemaphore, submit->signalSemCount);
+            pRemappedSignalSems = VKTRACE_NEW_ARRAY(VkSemaphore, submit->signalSemaphoreCount);
             remappedSubmit->pSignalSemaphores = pRemappedSignalSems;
-            remappedSubmit->signalSemCount = submit->signalSemCount;
-            for (i = 0; i < submit->signalSemCount; i++) {
+            remappedSubmit->signalSemaphoreCount = submit->signalSemaphoreCount;
+            for (i = 0; i < submit->signalSemaphoreCount; i++) {
                 (*(pRemappedSignalSems + i)) = m_objMapper.remap_semaphores((*(submit->pSignalSemaphores + i)));
                 if (*(pRemappedSignalSems + i) == VK_NULL_HANDLE) {
                     VKTRACE_DELETE(remappedSubmitInfo);
@@ -881,9 +881,9 @@
 
         switch (pPacket->pDescriptorWrites[i].descriptorType) {
         case VK_DESCRIPTOR_TYPE_SAMPLER:
-            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].count);
-            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].count * sizeof(VkDescriptorImageInfo));
-            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].count; j++)
+            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].descriptorCount);
+            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorImageInfo));
+            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].descriptorCount; j++)
             {
                 if (pPacket->pDescriptorWrites[i].pImageInfo[j].sampler != VK_NULL_HANDLE)
                 {
@@ -901,9 +901,9 @@
         case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
         case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
-            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].count);
-            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].count * sizeof(VkDescriptorImageInfo));
-            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].count; j++)
+            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].descriptorCount);
+            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorImageInfo));
+            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].descriptorCount; j++)
             {
                 if (pPacket->pDescriptorWrites[i].pImageInfo[j].imageView != VK_NULL_HANDLE)
                 {
@@ -919,9 +919,9 @@
             }
             break;
         case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
-            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].count);
-            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].count * sizeof(VkDescriptorImageInfo));
-            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].count; j++)
+            pRemappedWrites[i].pImageInfo = VKTRACE_NEW_ARRAY(VkDescriptorImageInfo, pPacket->pDescriptorWrites[i].descriptorCount);
+            memcpy((void*)pRemappedWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].pImageInfo, pPacket->pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorImageInfo));
+            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].descriptorCount; j++)
             {
                 if (pPacket->pDescriptorWrites[i].pImageInfo[j].sampler != VK_NULL_HANDLE)
                 {
@@ -949,9 +949,9 @@
             break;
         case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
-            pRemappedWrites[i].pTexelBufferView = VKTRACE_NEW_ARRAY(VkBufferView, pPacket->pDescriptorWrites[i].count);
-            memcpy((void*)pRemappedWrites[i].pTexelBufferView, pPacket->pDescriptorWrites[i].pTexelBufferView, pPacket->pDescriptorWrites[i].count * sizeof(VkBufferView));
-            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].count; j++)
+            pRemappedWrites[i].pTexelBufferView = VKTRACE_NEW_ARRAY(VkBufferView, pPacket->pDescriptorWrites[i].descriptorCount);
+            memcpy((void*)pRemappedWrites[i].pTexelBufferView, pPacket->pDescriptorWrites[i].pTexelBufferView, pPacket->pDescriptorWrites[i].descriptorCount * sizeof(VkBufferView));
+            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].descriptorCount; j++)
             {
                 if (pPacket->pDescriptorWrites[i].pTexelBufferView[j] != VK_NULL_HANDLE)
                 {
@@ -970,9 +970,9 @@
         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
         case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
-            pRemappedWrites[i].pBufferInfo = VKTRACE_NEW_ARRAY(VkDescriptorBufferInfo, pPacket->pDescriptorWrites[i].count);
-            memcpy((void*)pRemappedWrites[i].pBufferInfo, pPacket->pDescriptorWrites[i].pBufferInfo, pPacket->pDescriptorWrites[i].count * sizeof(VkDescriptorBufferInfo));
-            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].count; j++)
+            pRemappedWrites[i].pBufferInfo = VKTRACE_NEW_ARRAY(VkDescriptorBufferInfo, pPacket->pDescriptorWrites[i].descriptorCount);
+            memcpy((void*)pRemappedWrites[i].pBufferInfo, pPacket->pDescriptorWrites[i].pBufferInfo, pPacket->pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorBufferInfo));
+            for (uint32_t j = 0; j < pPacket->pDescriptorWrites[i].descriptorCount; j++)
             {
                 if (pPacket->pDescriptorWrites[i].pBufferInfo[j].buffer != VK_NULL_HANDLE)
                 {
@@ -1028,17 +1028,17 @@
     VkDescriptorSetLayoutCreateInfo *pInfo = (VkDescriptorSetLayoutCreateInfo*) pPacket->pCreateInfo;
     while (pInfo != NULL)
     {
-        if (pInfo->pBinding != NULL)
+        if (pInfo->pBindings != NULL)
         {
-            for (unsigned int i = 0; i < pInfo->count; i++)
+            for (unsigned int i = 0; i < pInfo->bindingCount; i++)
             {
-                VkDescriptorSetLayoutBinding *pBinding = (VkDescriptorSetLayoutBinding *) &pInfo->pBinding[i];
-                if (pBinding->pImmutableSamplers != NULL)
+                VkDescriptorSetLayoutBinding *pBindings = (VkDescriptorSetLayoutBinding *) &pInfo->pBindings[i];
+                if (pBindings->pImmutableSamplers != NULL)
                 {
-                    for (unsigned int j = 0; j < pBinding->arraySize; j++)
+                    for (unsigned int j = 0; j < pBindings->arraySize; j++)
                     {
-                        VkSampler* pSampler = (VkSampler*)&pBinding->pImmutableSamplers[j];
-                        *pSampler = m_objMapper.remap_samplers(pBinding->pImmutableSamplers[j]);
+                        VkSampler* pSampler = (VkSampler*)&pBindings->pImmutableSamplers[j];
+                        *pSampler = m_objMapper.remap_samplers(pBindings->pImmutableSamplers[j]);
                     }
                 }
             }
@@ -1084,7 +1084,7 @@
                        pDescriptorSets);
     if(replayResult == VK_SUCCESS)
     {
-        for(uint32_t i = 0; i < pPacket->pAllocInfo->count; ++i)
+        for(uint32_t i = 0; i < pPacket->pAllocInfo->setLayoutCount; ++i)
         {
            m_objMapper.add_to_descriptorsets_map(pPacket->pDescriptorSets[i], pDescriptorSets[i]);
         }
@@ -1102,16 +1102,16 @@
 
     VkDescriptorPool descriptorPool;
     descriptorPool = m_objMapper.remap_descriptorpools(pPacket->descriptorPool);
-    VkDescriptorSet* localDSs = VKTRACE_NEW_ARRAY(VkDescriptorSet, pPacket->count);
+    VkDescriptorSet* localDSs = VKTRACE_NEW_ARRAY(VkDescriptorSet, pPacket->descriptorSetCount);
     uint32_t i;
-    for (i = 0; i < pPacket->count; ++i) {
+    for (i = 0; i < pPacket->descriptorSetCount; ++i) {
        localDSs[i] = m_objMapper.remap_descriptorsets(pPacket->pDescriptorSets[i]);
     }
 
-    replayResult = m_vkFuncs.real_vkFreeDescriptorSets(remappedDevice, descriptorPool, pPacket->count, localDSs);
+    replayResult = m_vkFuncs.real_vkFreeDescriptorSets(remappedDevice, descriptorPool, pPacket->descriptorSetCount, localDSs);
     if(replayResult == VK_SUCCESS)
     {
-        for (i = 0; i < pPacket->count; ++i) {
+        for (i = 0; i < pPacket->descriptorSetCount; ++i) {
            m_objMapper.rm_from_descriptorsets_map(pPacket->pDescriptorSets[i]);
         }
     }
@@ -1134,19 +1134,19 @@
         return;
     }
 
-    VkDescriptorSet* pRemappedSets = (VkDescriptorSet *) vktrace_malloc(sizeof(VkDescriptorSet) * pPacket->setCount);
+    VkDescriptorSet* pRemappedSets = (VkDescriptorSet *) vktrace_malloc(sizeof(VkDescriptorSet) * pPacket->descriptorSetCount);
     if (pRemappedSets == NULL)
     {
         vktrace_LogError("Replay of CmdBindDescriptorSets out of memory.");
         return;
     }
 
-    for (uint32_t idx = 0; idx < pPacket->setCount && pPacket->pDescriptorSets != NULL; idx++)
+    for (uint32_t idx = 0; idx < pPacket->descriptorSetCount && pPacket->pDescriptorSets != NULL; idx++)
     {
         pRemappedSets[idx] = m_objMapper.remap_descriptorsets(pPacket->pDescriptorSets[idx]);
     }
 
-    m_vkFuncs.real_vkCmdBindDescriptorSets(remappedCmdBuffer, pPacket->pipelineBindPoint, remappedLayout, pPacket->firstSet, pPacket->setCount, pRemappedSets, pPacket->dynamicOffsetCount, pPacket->pDynamicOffsets);
+    m_vkFuncs.real_vkCmdBindDescriptorSets(remappedCmdBuffer, pPacket->pipelineBindPoint, remappedLayout, pPacket->firstSet, pPacket->descriptorSetCount, pRemappedSets, pPacket->dynamicOffsetCount, pPacket->pDynamicOffsets);
     vktrace_free(pRemappedSets);
     return;
 }
@@ -1250,9 +1250,9 @@
     VkPipelineShaderStageCreateInfo* pRemappedStages = VKTRACE_NEW_ARRAY(VkPipelineShaderStageCreateInfo, pPacket->pCreateInfos->stageCount);
     memcpy(pRemappedStages, pPacket->pCreateInfos->pStages, sizeof(VkPipelineShaderStageCreateInfo) * pPacket->pCreateInfos->stageCount);
 
-    VkGraphicsPipelineCreateInfo* pLocalCIs = VKTRACE_NEW_ARRAY(VkGraphicsPipelineCreateInfo, pPacket->count);
+    VkGraphicsPipelineCreateInfo* pLocalCIs = VKTRACE_NEW_ARRAY(VkGraphicsPipelineCreateInfo, pPacket->createInfoCount);
     uint32_t i, j;
-    for (i=0; i<pPacket->count; i++) {
+    for (i=0; i<pPacket->createInfoCount; i++) {
         memcpy((void*)&(pLocalCIs[i]), (void*)&(pPacket->pCreateInfos[i]), sizeof(VkGraphicsPipelineCreateInfo));
         for (j=0; j < pPacket->pCreateInfos[i].stageCount; j++)
         {
@@ -1270,15 +1270,15 @@
 
     VkPipelineCache pipelineCache;
     pipelineCache = m_objMapper.remap_pipelinecaches(pPacket->pipelineCache);
-    uint32_t count = pPacket->count;
+    uint32_t createInfoCount = pPacket->createInfoCount;
 
-    VkPipeline *local_pPipelines = VKTRACE_NEW_ARRAY(VkPipeline, pPacket->count);
+    VkPipeline *local_pPipelines = VKTRACE_NEW_ARRAY(VkPipeline, pPacket->createInfoCount);
 
-    replayResult = m_vkFuncs.real_vkCreateGraphicsPipelines(remappedDevice, pipelineCache, count, pLocalCIs, local_pPipelines);
+    replayResult = m_vkFuncs.real_vkCreateGraphicsPipelines(remappedDevice, pipelineCache, createInfoCount, pLocalCIs, local_pPipelines);
 
     if (replayResult == VK_SUCCESS)
     {
-        for (i = 0; i < pPacket->count; i++) {
+        for (i = 0; i < pPacket->createInfoCount; i++) {
             m_objMapper.add_to_pipelines_map(pPacket->pPipelines[i], local_pPipelines[i]);
         }
     }
@@ -1300,12 +1300,12 @@
 
     // array to store the original trace-time layouts, so that we can remap them inside the packet and then
     // restore them after replaying the API call.
-    VkDescriptorSetLayout* pSaveLayouts = (VkDescriptorSetLayout*) vktrace_malloc(sizeof(VkDescriptorSetLayout) * pPacket->pCreateInfo->descriptorSetCount);
+    VkDescriptorSetLayout* pSaveLayouts = (VkDescriptorSetLayout*) vktrace_malloc(sizeof(VkDescriptorSetLayout) * pPacket->pCreateInfo->setLayoutCount);
     if (!pSaveLayouts) {
         vktrace_LogError("Replay of CreatePipelineLayout out of memory.");
     }
     uint32_t i = 0;
-    for (i = 0; (i < pPacket->pCreateInfo->descriptorSetCount) && (pPacket->pCreateInfo->pSetLayouts != NULL); i++) {
+    for (i = 0; (i < pPacket->pCreateInfo->setLayoutCount) && (pPacket->pCreateInfo->pSetLayouts != NULL); i++) {
         VkDescriptorSetLayout* pSL = (VkDescriptorSetLayout*) &(pPacket->pCreateInfo->pSetLayouts[i]);
         pSaveLayouts[i] = pPacket->pCreateInfo->pSetLayouts[i];
         *pSL = m_objMapper.remap_descriptorsetlayouts(pPacket->pCreateInfo->pSetLayouts[i]);
@@ -1963,7 +1963,7 @@
 //        return vktrace_replay::VKTRACE_REPLAY_ERROR;
 //    }
 
-    VkCmdBuffer *local_pCmdBuffers = new VkCmdBuffer[pPacket->pAllocInfo->count];
+    VkCmdBuffer *local_pCmdBuffers = new VkCmdBuffer[pPacket->pAllocInfo->bufferCount];
     VkCmdPool local_CmdPool;
     local_CmdPool = pPacket->pAllocInfo->cmdPool;
     ((VkCmdBufferAllocInfo *) pPacket->pAllocInfo)->cmdPool = m_objMapper.remap_cmdpools(pPacket->pAllocInfo->cmdPool);
@@ -1973,7 +1973,7 @@
 
     if (replayResult == VK_SUCCESS)
     {
-        for (uint32_t i = 0; i < pPacket->pAllocInfo->count; i++) {
+        for (uint32_t i = 0; i < pPacket->pAllocInfo->bufferCount; i++) {
             m_objMapper.add_to_cmdbuffers_map(pPacket->pCmdBuffers[i], local_pCmdBuffers[i]);
         }
     }
diff --git a/vktrace/src/vktrace_layer/vktrace_lib_helpers.h b/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
index 7526ab8..d565235 100644
--- a/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
+++ b/vktrace/src/vktrace_layer/vktrace_lib_helpers.h
@@ -307,8 +307,8 @@
         ppOutNext = NULL;
         vktrace_add_buffer_to_trace_packet(pHeader, (void**)(ppOutNow), sizeof(VkDescriptorSetLayoutCreateInfo), pInNow);
         ppOutNext = (VkDescriptorSetLayoutCreateInfo**)&(*ppOutNow)->pNext;
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppOutNow)->pBinding), sizeof(VkDescriptorSetLayoutBinding) * pInNow->count, pInNow->pBinding);
-        vktrace_finalize_buffer_address(pHeader, (void**)&((*ppOutNow)->pBinding));
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppOutNow)->pBindings), sizeof(VkDescriptorSetLayoutBinding) * pInNow->bindingCount, pInNow->pBindings);
+        vktrace_finalize_buffer_address(pHeader, (void**)&((*ppOutNow)->pBindings));
         ppOutNext = (VkDescriptorSetLayoutCreateInfo**)&(*ppOutNow)->pNext;
         pInNow = (VkDescriptorSetLayoutCreateInfo*)pInNow->pNext;
         vktrace_finalize_buffer_address(pHeader, (void**)(ppOutNow));
@@ -335,9 +335,9 @@
             // Vertex Input State
             if (pParam[i].pVertexInputState) {
                 vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pVertexInputState), sizeof(VkPipelineVertexInputStateCreateInfo), pParam[i].pVertexInputState);
-                vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pVertexInputState->pVertexBindingDescriptions), pParam[i].pVertexInputState->bindingCount * sizeof(VkVertexInputBindingDescription), pParam[i].pVertexInputState->pVertexBindingDescriptions);
+                vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pVertexInputState->pVertexBindingDescriptions), pParam[i].pVertexInputState->vertexBindingDescriptionCount * sizeof(VkVertexInputBindingDescription), pParam[i].pVertexInputState->pVertexBindingDescriptions);
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pVertexInputState->pVertexBindingDescriptions));
-                vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pVertexInputState->pVertexAttributeDescriptions), pParam[i].pVertexInputState->attributeCount * sizeof(VkVertexInputAttributeDescription), pParam[i].pVertexInputState->pVertexAttributeDescriptions);
+                vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pVertexInputState->pVertexAttributeDescriptions), pParam[i].pVertexInputState->vertexAttributeDescriptionCount * sizeof(VkVertexInputAttributeDescription), pParam[i].pVertexInputState->pVertexAttributeDescriptions);
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pVertexInputState->pVertexAttributeDescriptions));
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pVertexInputState));
             }
diff --git a/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp b/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
index 481493e..4ebcf69 100644
--- a/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
+++ b/vktrace/src/vktrace_layer/vktrace_lib_trace.cpp
@@ -307,10 +307,10 @@
     pPacket = interpret_body_as_vkCreateDescriptorPool(pHeader);
     pPacket->device = device;
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VkDescriptorPoolCreateInfo), pCreateInfo);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount), pCreateInfo->count * sizeof(VkDescriptorTypeCount), pCreateInfo->pTypeCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCounts), pCreateInfo->typeCount * sizeof(VkDescriptorTypeCount), pCreateInfo->pTypeCounts);
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorPool), sizeof(VkDescriptorPool), pDescriptorPool);
     pPacket->result = result;
-    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount));
+    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCounts));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorPool));
     FINISH_TRACE_PACKET();
@@ -329,7 +329,7 @@
     CREATE_TRACE_PACKET(vkCreateDevice, get_struct_chain_size((void*)pCreateInfo) + sizeof(VkDevice));
     result = mdd(*pDevice)->devTable.CreateDevice(physicalDevice, pCreateInfo, pDevice);
     if (result == VK_SUCCESS)
-        ext_init_create_device(mdd(*pDevice), *pDevice, pCreateInfo->extensionCount, pCreateInfo->ppEnabledExtensionNames);
+        ext_init_create_device(mdd(*pDevice), *pDevice, pCreateInfo->enabledExtensionNameCount, pCreateInfo->ppEnabledExtensionNames);
 
     vktrace_set_packet_entrypoint_end_time(pHeader);
     pPacket = interpret_body_as_vkCreateDevice(pHeader);
@@ -384,7 +384,7 @@
     result = mid(*pInstance)->instTable.CreateInstance(pCreateInfo, pInstance);
     endTime = vktrace_get_time();
     if (result == VK_SUCCESS)
-        ext_init_create_instance(mid(*pInstance), *pInstance, pCreateInfo->extensionCount, pCreateInfo->ppEnabledExtensionNames);
+        ext_init_create_instance(mid(*pInstance), *pInstance, pCreateInfo->enabledExtensionNameCount, pCreateInfo->ppEnabledExtensionNames);
 
     CREATE_TRACE_PACKET(vkCreateInstance, sizeof(VkInstance) + get_struct_chain_size((void*)pCreateInfo));
     pHeader->vktrace_begin_time = vktraceStartTime;
@@ -426,13 +426,13 @@
     for (i=0; i < pPacket->pCreateInfo->subpassCount; i++) {
         VkSubpassDescription *pSubpass = (VkSubpassDescription *) &pPacket->pCreateInfo->pSubpasses[i];
         const VkSubpassDescription *pSp = &pCreateInfo->pSubpasses[i];
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pInputAttachments), pSubpass->inputCount * sizeof(VkAttachmentReference), pSp->pInputAttachments);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pInputAttachments), pSubpass->inputAttachmentCount * sizeof(VkAttachmentReference), pSp->pInputAttachments);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pSubpass->pInputAttachments));
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pColorAttachments), pSubpass->colorCount * sizeof(VkAttachmentReference), pSp->pColorAttachments);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pColorAttachments), pSubpass->colorAttachmentCount * sizeof(VkAttachmentReference), pSp->pColorAttachments);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pSubpass->pColorAttachments));
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pResolveAttachments), pSubpass->colorCount * sizeof(VkAttachmentReference), pSp->pResolveAttachments);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pResolveAttachments), pSubpass->colorAttachmentCount * sizeof(VkAttachmentReference), pSp->pResolveAttachments);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pSubpass->pResolveAttachments));
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pPreserveAttachments), pSubpass->preserveCount * sizeof(VkAttachmentReference), pSp->pPreserveAttachments);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pSubpass->pPreserveAttachments), pSubpass->preserveAttachmentCount * sizeof(VkAttachmentReference), pSp->pPreserveAttachments);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pSubpass->pPreserveAttachments));
     }
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pRenderPass), sizeof(VkRenderPass), pRenderPass);
@@ -449,7 +449,7 @@
 VKTRACER_EXPORT VkResult VKAPI __HOOKED_vkEnumerateDeviceExtensionProperties(
     VkPhysicalDevice physicalDevice,
     const char* pLayerName,
-    uint32_t* pCount,
+    uint32_t* pPropertyCount,
     VkExtensionProperties* pProperties)
 {
     vktrace_trace_packet_header* pHeader;
@@ -459,20 +459,20 @@
     uint64_t endTime;
     uint64_t vktraceStartTime = vktrace_get_time();
     startTime = vktrace_get_time();
-    result = mid(physicalDevice)->instTable.EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pCount, pProperties);
+    result = mid(physicalDevice)->instTable.EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
     endTime = vktrace_get_time();
-    CREATE_TRACE_PACKET(vkEnumerateDeviceExtensionProperties, ((pLayerName != NULL) ? strlen(pLayerName) + 1 : 0) + sizeof(uint32_t) + (*pCount * sizeof(VkExtensionProperties)));
+    CREATE_TRACE_PACKET(vkEnumerateDeviceExtensionProperties, ((pLayerName != NULL) ? strlen(pLayerName) + 1 : 0) + sizeof(uint32_t) + (*pPropertyCount * sizeof(VkExtensionProperties)));
     pHeader->vktrace_begin_time = vktraceStartTime;
     pHeader->entrypoint_begin_time = startTime;
     pHeader->entrypoint_end_time = endTime;
     pPacket = interpret_body_as_vkEnumerateDeviceExtensionProperties(pHeader);
     pPacket->physicalDevice = physicalDevice;
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pLayerName), ((pLayerName != NULL) ? strlen(pLayerName) + 1 : 0), pLayerName);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCount), sizeof(uint32_t), pCount);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), *pCount * sizeof(VkExtensionProperties), pProperties);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPropertyCount), sizeof(uint32_t), pPropertyCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), *pPropertyCount * sizeof(VkExtensionProperties), pProperties);
     pPacket->result = result;
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pLayerName));
-    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCount));
+    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pPropertyCount));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pProperties));
     FINISH_TRACE_PACKET();
     return result;
@@ -480,7 +480,7 @@
 
 VKTRACER_EXPORT VkResult VKAPI __HOOKED_vkEnumerateDeviceLayerProperties(
     VkPhysicalDevice physicalDevice,
-    uint32_t* pCount,
+    uint32_t* pPropertyCount,
     VkLayerProperties* pProperties)
 {
     vktrace_trace_packet_header* pHeader;
@@ -490,18 +490,18 @@
     uint64_t endTime;
     uint64_t vktraceStartTime = vktrace_get_time();
     startTime = vktrace_get_time();
-    result = mid(physicalDevice)->instTable.EnumerateDeviceLayerProperties(physicalDevice, pCount, pProperties);
+    result = mid(physicalDevice)->instTable.EnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
     endTime = vktrace_get_time();
-    CREATE_TRACE_PACKET(vkEnumerateDeviceLayerProperties, sizeof(uint32_t) + (*pCount * sizeof(VkLayerProperties)));
+    CREATE_TRACE_PACKET(vkEnumerateDeviceLayerProperties, sizeof(uint32_t) + (*pPropertyCount * sizeof(VkLayerProperties)));
     pHeader->vktrace_begin_time = vktraceStartTime;
     pHeader->entrypoint_begin_time = startTime;
     pHeader->entrypoint_end_time = endTime;
     pPacket = interpret_body_as_vkEnumerateDeviceLayerProperties(pHeader);
     pPacket->physicalDevice = physicalDevice;
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCount), sizeof(uint32_t), pCount);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), *pCount * sizeof(VkLayerProperties), pProperties);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPropertyCount), sizeof(uint32_t), pPropertyCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), *pPropertyCount * sizeof(VkLayerProperties), pProperties);
     pPacket->result = result;
-    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCount));
+    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pPropertyCount));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pProperties));
     FINISH_TRACE_PACKET();
     return result;
@@ -510,7 +510,7 @@
 //  Just need to account for "count" number of queue properties
 VKTRACER_EXPORT void VKAPI __HOOKED_vkGetPhysicalDeviceQueueFamilyProperties(
     VkPhysicalDevice physicalDevice,
-    uint32_t* pCount,
+    uint32_t* pQueueFamilyPropertyCount,
     VkQueueFamilyProperties* pQueueFamilyProperties)
 {
     vktrace_trace_packet_header* pHeader;
@@ -519,17 +519,17 @@
     uint64_t endTime;
     uint64_t vktraceStartTime = vktrace_get_time();
     startTime = vktrace_get_time();
-    mid(physicalDevice)->instTable.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, pCount, pQueueFamilyProperties);
+    mid(physicalDevice)->instTable.GetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
     endTime = vktrace_get_time();
-    CREATE_TRACE_PACKET(vkGetPhysicalDeviceQueueFamilyProperties, sizeof(uint32_t) + *pCount * sizeof(VkQueueFamilyProperties));
+    CREATE_TRACE_PACKET(vkGetPhysicalDeviceQueueFamilyProperties, sizeof(uint32_t) + *pQueueFamilyPropertyCount * sizeof(VkQueueFamilyProperties));
     pHeader->vktrace_begin_time = vktraceStartTime;
     pHeader->entrypoint_begin_time = startTime;
     pHeader->entrypoint_end_time = endTime;
     pPacket = interpret_body_as_vkGetPhysicalDeviceQueueFamilyProperties(pHeader);
     pPacket->physicalDevice = physicalDevice;
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCount), sizeof(uint32_t), pCount);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pQueueFamilyProperties), *pCount * sizeof(VkQueueFamilyProperties), pQueueFamilyProperties);
-    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCount));
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pQueueFamilyPropertyCount), sizeof(uint32_t), pQueueFamilyPropertyCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pQueueFamilyProperties), *pQueueFamilyPropertyCount * sizeof(VkQueueFamilyProperties), pQueueFamilyProperties);
+    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pQueueFamilyPropertyCount));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pQueueFamilyProperties));
     FINISH_TRACE_PACKET();
 }
@@ -618,15 +618,15 @@
     startTime = vktrace_get_time();
     result = mdd(device)->devTable.AllocDescriptorSets(device, pAllocInfo, pDescriptorSets);
     endTime = vktrace_get_time();
-    CREATE_TRACE_PACKET(vkAllocDescriptorSets, vk_size_vkdescriptorsetallocinfo(pAllocInfo) + (pAllocInfo->count * sizeof(VkDescriptorSet)));
+    CREATE_TRACE_PACKET(vkAllocDescriptorSets, vk_size_vkdescriptorsetallocinfo(pAllocInfo) + (pAllocInfo->setLayoutCount * sizeof(VkDescriptorSet)));
     pHeader->vktrace_begin_time = vktraceStartTime;
     pHeader->entrypoint_begin_time = startTime;
     pHeader->entrypoint_end_time = endTime;
     pPacket = interpret_body_as_vkAllocDescriptorSets(pHeader);
     pPacket->device = device;
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo), sizeof(VkDescriptorSetAllocInfo), pAllocInfo);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo->pSetLayouts), pPacket->pAllocInfo->count * sizeof(VkDescriptorSetLayout), pAllocInfo->pSetLayouts);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), pPacket->pAllocInfo->count * sizeof(VkDescriptorSet), pDescriptorSets);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo->pSetLayouts), pPacket->pAllocInfo->setLayoutCount * sizeof(VkDescriptorSetLayout), pAllocInfo->pSetLayouts);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), pPacket->pAllocInfo->setLayoutCount * sizeof(VkDescriptorSet), pDescriptorSets);
     pPacket->result = result;
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pAllocInfo->pSetLayouts));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorSets));
@@ -685,7 +685,7 @@
         case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
             {
                 vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pImageInfo),
-                                                   pDescriptorWrites[i].count * sizeof(VkDescriptorImageInfo),
+                                                   pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorImageInfo),
                                                    pDescriptorWrites[i].pImageInfo);
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pImageInfo));
             }
@@ -694,7 +694,7 @@
         case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
             {
                 vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pTexelBufferView),
-                                                   pDescriptorWrites[i].count * sizeof(VkBufferView),
+                                                   pDescriptorWrites[i].descriptorCount * sizeof(VkBufferView),
                                                    pDescriptorWrites[i].pTexelBufferView);
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pTexelBufferView));
             }
@@ -705,7 +705,7 @@
         case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
             {
                 vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pBufferInfo),
-                                                   pDescriptorWrites[i].count * sizeof(VkDescriptorBufferInfo),
+                                                   pDescriptorWrites[i].descriptorCount * sizeof(VkDescriptorBufferInfo),
                                                    pDescriptorWrites[i].pBufferInfo);
                 vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorWrites[i].pBufferInfo));
             }
@@ -747,11 +747,11 @@
     pPacket->result = result;
     vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo), submitCount*sizeof(VkSubmitInfo), pSubmitInfo);
     for (i=0; i<submitCount; ++i) {
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pCommandBuffers), pPacket->pSubmitInfo[i].cmdBufferCount * sizeof(VkCmdBuffer), pSubmitInfo[i].pCommandBuffers);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pCommandBuffers), pPacket->pSubmitInfo[i].commandBufferCount * sizeof(VkCmdBuffer), pSubmitInfo[i].pCommandBuffers);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pSubmitInfo[i].pCommandBuffers));
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pWaitSemaphores), pPacket->pSubmitInfo[i].waitSemCount * sizeof(VkSemaphore), pSubmitInfo[i].pWaitSemaphores);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pWaitSemaphores), pPacket->pSubmitInfo[i].waitSemaphoreCount * sizeof(VkSemaphore), pSubmitInfo[i].pWaitSemaphores);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pSubmitInfo[i].pWaitSemaphores));
-        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pSignalSemaphores), pPacket->pSubmitInfo[i].signalSemCount * sizeof(VkSemaphore), pSubmitInfo[i].pSignalSemaphores);
+        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSubmitInfo[i].pSignalSemaphores), pPacket->pSubmitInfo[i].signalSemaphoreCount * sizeof(VkSemaphore), pSubmitInfo[i].pSignalSemaphores);
         vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pSubmitInfo[i].pSignalSemaphores));
     }
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pSubmitInfo));
@@ -859,7 +859,7 @@
 VKTRACER_EXPORT VkResult VKAPI __HOOKED_vkCreateGraphicsPipelines(
     VkDevice device,
     VkPipelineCache pipelineCache,
-    uint32_t count,
+    uint32_t createInfoCount,
     const VkGraphicsPipelineCreateInfo* pCreateInfos,
     VkPipeline* pPipelines)
 {
@@ -868,19 +868,19 @@
     packet_vkCreateGraphicsPipelines* pPacket = NULL;
     size_t total_size = 0;
     uint32_t i;
-    for (i = 0; i < count; i++) {
+    for (i = 0; i < createInfoCount; i++) {
         total_size += get_struct_chain_size((void*)&pCreateInfos[i]);
     }
-    CREATE_TRACE_PACKET(vkCreateGraphicsPipelines, total_size + count*sizeof(VkPipeline));
-    result = mdd(device)->devTable.CreateGraphicsPipelines(device, pipelineCache, count, pCreateInfos, pPipelines);
+    CREATE_TRACE_PACKET(vkCreateGraphicsPipelines, total_size + createInfoCount*sizeof(VkPipeline));
+    result = mdd(device)->devTable.CreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pPipelines);
     vktrace_set_packet_entrypoint_end_time(pHeader);
     pPacket = interpret_body_as_vkCreateGraphicsPipelines(pHeader);
     pPacket->device = device;
     pPacket->pipelineCache = pipelineCache;
-    pPacket->count = count;
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfos), count*sizeof(VkGraphicsPipelineCreateInfo), pCreateInfos);
-    add_VkGraphicsPipelineCreateInfos_to_trace_packet(pHeader, (VkGraphicsPipelineCreateInfo*)pPacket->pCreateInfos, pCreateInfos, count);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPipelines), count*sizeof(VkPipeline), pPipelines);
+    pPacket->createInfoCount = createInfoCount;
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfos), createInfoCount*sizeof(VkGraphicsPipelineCreateInfo), pCreateInfos);
+    add_VkGraphicsPipelineCreateInfos_to_trace_packet(pHeader, (VkGraphicsPipelineCreateInfo*)pPacket->pCreateInfos, pCreateInfos, createInfoCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPipelines), createInfoCount*sizeof(VkPipeline), pPipelines);
     pPacket->result = result;
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfos));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pPipelines));
@@ -891,23 +891,23 @@
 VKTRACER_EXPORT VkResult VKAPI __HOOKED_vkCreateComputePipelines(
     VkDevice device,
     VkPipelineCache pipelineCache,
-    uint32_t count,
+    uint32_t createInfoCount,
     const VkComputePipelineCreateInfo* pCreateInfos,
     VkPipeline* pPipelines)
 {
     vktrace_trace_packet_header* pHeader;
     VkResult result;
     packet_vkCreateComputePipelines* pPacket = NULL;
-    CREATE_TRACE_PACKET(vkCreateComputePipelines, count*sizeof(VkComputePipelineCreateInfo) + sizeof(VkPipeline));
-    result = mdd(device)->devTable.CreateComputePipelines(device, pipelineCache, count, pCreateInfos, pPipelines);
+    CREATE_TRACE_PACKET(vkCreateComputePipelines, createInfoCount*sizeof(VkComputePipelineCreateInfo) + sizeof(VkPipeline));
+    result = mdd(device)->devTable.CreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pPipelines);
     vktrace_set_packet_entrypoint_end_time(pHeader);
     pPacket = interpret_body_as_vkCreateComputePipelines(pHeader);
     pPacket->device = device;
     pPacket->pipelineCache = pipelineCache;
-    pPacket->count = count;
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfos), count*sizeof(VkComputePipelineCreateInfo), pCreateInfos);
-    add_VkComputePipelineCreateInfos_to_trace_packet(pHeader, (VkComputePipelineCreateInfo*)pPacket->pCreateInfos, pCreateInfos, count);
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPipelines), count*sizeof(VkPipeline), pPipelines);
+    pPacket->createInfoCount = createInfoCount;
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfos), createInfoCount*sizeof(VkComputePipelineCreateInfo), pCreateInfos);
+    add_VkComputePipelineCreateInfos_to_trace_packet(pHeader, (VkComputePipelineCreateInfo*)pPacket->pCreateInfos, pCreateInfos, createInfoCount);
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pPipelines), createInfoCount*sizeof(VkPipeline), pPipelines);
     pPacket->result = result;
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfos));
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pPipelines));
@@ -939,20 +939,20 @@
 VKTRACER_EXPORT VkResult VKAPI __HOOKED_vkFreeDescriptorSets(
     VkDevice device,
     VkDescriptorPool descriptorPool,
-    uint32_t count,
+    uint32_t descriptorSetCount,
     const VkDescriptorSet* pDescriptorSets)
 {
     vktrace_trace_packet_header* pHeader;
     VkResult result;
     packet_vkFreeDescriptorSets* pPacket = NULL;
-    CREATE_TRACE_PACKET(vkFreeDescriptorSets, count*sizeof(VkDescriptorSet));
-    result = mdd(device)->devTable.FreeDescriptorSets(device, descriptorPool, count, pDescriptorSets);
+    CREATE_TRACE_PACKET(vkFreeDescriptorSets, descriptorSetCount*sizeof(VkDescriptorSet));
+    result = mdd(device)->devTable.FreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
     vktrace_set_packet_entrypoint_end_time(pHeader);
     pPacket = interpret_body_as_vkFreeDescriptorSets(pHeader);
     pPacket->device = device;
     pPacket->descriptorPool = descriptorPool;
-    pPacket->count = count;
-    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), count*sizeof(VkDescriptorSet), pDescriptorSets);
+    pPacket->descriptorSetCount = descriptorSetCount;
+    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), descriptorSetCount*sizeof(VkDescriptorSet), pDescriptorSets);
     pPacket->result = result;
     vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pDescriptorSets));
     FINISH_TRACE_PACKET();
diff --git a/vktrace/vktrace_generate.py b/vktrace/vktrace_generate.py
index 415cddb..ad5cc36 100755
--- a/vktrace/vktrace_generate.py
+++ b/vktrace/vktrace_generate.py
@@ -182,9 +182,9 @@
                                         'finalize_txt': 'default'},
                            'pDescriptorSets': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pDescriptorSets), customSize, pDescriptorSets)',
                                                'finalize_txt': 'default'},
-                           'pSparseMemoryRequirements': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSparseMemoryRequirements), (*pNumRequirements) * sizeof(VkSparseImageMemoryRequirements), pSparseMemoryRequirements)',
+                           'pSparseMemoryRequirements': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pSparseMemoryRequirements), (*pSparseMemoryRequirementCount) * sizeof(VkSparseImageMemoryRequirements), pSparseMemoryRequirements)',
                                                'finalize_txt': 'default'},
-                           'VkSparseImageFormatProperties': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), (*pNumProperties) * sizeof(VkSparseImageFormatProperties), pProperties)',
+                           'VkSparseImageFormatProperties': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pProperties), (*pPropertyCount) * sizeof(VkSparseImageFormatProperties), pProperties)',
                                                'finalize_txt': 'default'},
                            'VkSparseMemoryBindInfo': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pBindInfo), numBindings * sizeof(VkSparseMemoryBindInfo), pBindInfo)',
                                                'finalize_txt': 'default'},
@@ -213,7 +213,7 @@
                                                                  '    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pColorLoadClearValues));\n'
                                                                  '    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
                            'VkPipelineLayoutCreateInfo': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VkPipelineLayoutCreateInfo), pCreateInfo);\n'
-                                                                     '    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pSetLayouts), pCreateInfo->descriptorSetCount * sizeof(VkDescriptorSetLayout), pCreateInfo->pSetLayouts);',
+                                                                     '    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pSetLayouts), pCreateInfo->setLayoutCount * sizeof(VkDescriptorSetLayout), pCreateInfo->pSetLayouts);',
                                                      'finalize_txt': 'vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pSetLayouts));\n'
                                                                      '    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
                            'VkMemoryAllocInfo': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pAllocInfo), sizeof(VkMemoryAllocInfo), pAllocInfo);\n'
@@ -226,8 +226,8 @@
 #                                                                      '    add_VkComputePipelineCreateInfos_to_trace_packet(pHeader, (VkComputePipelineCreateInfo*)pPacket->pCreateInfos, pCreateInfos, count)',
 #                                                      'finalize_txt': 'vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfos))'},
                            'VkDescriptorPoolCreateInfo': {'add_txt': 'vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo), sizeof(VkDescriptorPoolCreateInfo), pCreateInfo);\n'
-                                                                     '    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount), pCreateInfo->count * sizeof(VkDescriptorTypeCount), pCreateInfo->pTypeCount)',
-                                                     'finalize_txt': 'vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCount));\n'
+                                                                     '    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCounts), pCreateInfo->typeCount * sizeof(VkDescriptorTypeCount), pCreateInfo->pTypeCounts)',
+                                                     'finalize_txt': 'vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo->pTypeCounts));\n'
                                                                      '    vktrace_finalize_buffer_address(pHeader, (void**)&(pPacket->pCreateInfo))'},
                            'VkDescriptorSetLayoutCreateInfo': {'add_txt': 'add_create_ds_layout_to_trace_packet(pHeader, &pPacket->pCreateInfo, pCreateInfo)',
                                                           'finalize_txt': '// pCreateInfo finalized in add_create_ds_layout_to_trace_packet'},
@@ -558,20 +558,20 @@
         pid_enum.append('    vktrace_finalize_buffer_address(pHeader, (void**)&((*ppStruct)->pAllocCb));')
         # TODO138 : This is an initial pass at getting the extension/layer arrays correct, needs to be validated.
         pid_enum.append('    uint32_t i, siz = 0;')
-        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledLayerNames), pInStruct->layerCount * sizeof(char*), pInStruct->ppEnabledLayerNames);')
-        pid_enum.append('    if (pInStruct->layerCount > 0) ')
+        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledLayerNames), pInStruct->enabledLayerNameCount * sizeof(char*), pInStruct->ppEnabledLayerNames);')
+        pid_enum.append('    if (pInStruct->enabledLayerNameCount > 0) ')
         pid_enum.append('    {')
-        pid_enum.append('        for (i = 0; i < pInStruct->layerCount; i++) {')
+        pid_enum.append('        for (i = 0; i < pInStruct->enabledLayerNameCount; i++) {')
         pid_enum.append('            siz = (uint32_t) (1 + strlen(pInStruct->ppEnabledLayerNames[i]));')
         pid_enum.append('            vktrace_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledLayerNames[i]), siz, pInStruct->ppEnabledLayerNames[i]);')
         pid_enum.append('            vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledLayerNames[i]);')
         pid_enum.append('        }')
         pid_enum.append('    }')
         pid_enum.append('    vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledLayerNames);')
-        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledExtensionNames), pInStruct->extensionCount * sizeof(char*), pInStruct->ppEnabledExtensionNames);')
-        pid_enum.append('    if (pInStruct->extensionCount > 0) ')
+        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledExtensionNames), pInStruct->enabledExtensionNameCount * sizeof(char*), pInStruct->ppEnabledExtensionNames);')
+        pid_enum.append('    if (pInStruct->enabledExtensionNameCount > 0) ')
         pid_enum.append('    {')
-        pid_enum.append('        for (i = 0; i < pInStruct->extensionCount; i++) {')
+        pid_enum.append('        for (i = 0; i < pInStruct->enabledExtensionNameCount; i++) {')
         pid_enum.append('            siz = (uint32_t) (1 + strlen(pInStruct->ppEnabledExtensionNames[i]));')
         pid_enum.append('            vktrace_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledExtensionNames[i]), siz, pInStruct->ppEnabledExtensionNames[i]);')
         pid_enum.append('            vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledExtensionNames[i]);')
@@ -587,27 +587,27 @@
         pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(*ppStruct)->pRequestedQueues, pInStruct->requestedQueueCount*sizeof(VkDeviceQueueCreateInfo), pInStruct->pRequestedQueues);')
         pid_enum.append('    for (uint32_t i = 0; i < pInStruct->requestedQueueCount; i++) {')
         pid_enum.append('        vktrace_add_buffer_to_trace_packet(pHeader, (void**)&(*ppStruct)->pRequestedQueues[i].pQueuePriorities,')
-        pid_enum.append('                                   pInStruct->pRequestedQueues[i].queueCount*sizeof(float),')
+        pid_enum.append('                                   pInStruct->pRequestedQueues[i].queuePriorityCount*sizeof(float),')
         pid_enum.append('                                   pInStruct->pRequestedQueues[i].pQueuePriorities);')
         pid_enum.append('        vktrace_finalize_buffer_address(pHeader, (void**)&(*ppStruct)->pRequestedQueues[i].pQueuePriorities);')
         pid_enum.append('    }')
         pid_enum.append('    vktrace_finalize_buffer_address(pHeader, (void**)&(*ppStruct)->pRequestedQueues);')
         # TODO138 : This is an initial pass at getting the extension/layer arrays correct, needs to be validated.
         pid_enum.append('    uint32_t i, siz = 0;')
-        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledLayerNames), pInStruct->layerCount * sizeof(char*), pInStruct->ppEnabledLayerNames);')
-        pid_enum.append('    if (pInStruct->layerCount > 0) ')
+        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledLayerNames), pInStruct->enabledLayerNameCount * sizeof(char*), pInStruct->ppEnabledLayerNames);')
+        pid_enum.append('    if (pInStruct->enabledLayerNameCount > 0) ')
         pid_enum.append('    {')
-        pid_enum.append('        for (i = 0; i < pInStruct->layerCount; i++) {')
+        pid_enum.append('        for (i = 0; i < pInStruct->enabledLayerNameCount; i++) {')
         pid_enum.append('            siz = (uint32_t) (1 + strlen(pInStruct->ppEnabledLayerNames[i]));')
         pid_enum.append('            vktrace_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledLayerNames[i]), siz, pInStruct->ppEnabledLayerNames[i]);')
         pid_enum.append('            vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledLayerNames[i]);')
         pid_enum.append('        }')
         pid_enum.append('    }')
         pid_enum.append('    vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledLayerNames);')
-        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledExtensionNames), pInStruct->extensionCount * sizeof(char*), pInStruct->ppEnabledExtensionNames);')
-        pid_enum.append('    if (pInStruct->extensionCount > 0) ')
+        pid_enum.append('    vktrace_add_buffer_to_trace_packet(pHeader, (void**)&((*ppStruct)->ppEnabledExtensionNames), pInStruct->enabledExtensionNameCount * sizeof(char*), pInStruct->ppEnabledExtensionNames);')
+        pid_enum.append('    if (pInStruct->enabledExtensionNameCount > 0) ')
         pid_enum.append('    {')
-        pid_enum.append('        for (i = 0; i < pInStruct->extensionCount; i++) {')
+        pid_enum.append('        for (i = 0; i < pInStruct->enabledExtensionNameCount; i++) {')
         pid_enum.append('            siz = (uint32_t) (1 + strlen(pInStruct->ppEnabledExtensionNames[i]));')
         pid_enum.append('            vktrace_add_buffer_to_trace_packet(pHeader, (void**)(&(*ppStruct)->ppEnabledExtensionNames[i]), siz, pInStruct->ppEnabledExtensionNames[i]);')
         pid_enum.append('            vktrace_finalize_buffer_address(pHeader, (void **)&(*ppStruct)->ppEnabledExtensionNames[i]);')
@@ -631,18 +631,18 @@
         pid_enum.append('        VkApplicationInfo** ppAppInfo = (VkApplicationInfo**) &pVkInstanceCreateInfo->pAppInfo;')
         pid_enum.append('        (*ppAppInfo)->pAppName = (const char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->pAppInfo->pAppName);')
         pid_enum.append('        (*ppAppInfo)->pEngineName = (const char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->pAppInfo->pEngineName);')
-        pid_enum.append('        if (pVkInstanceCreateInfo->layerCount > 0)')
+        pid_enum.append('        if (pVkInstanceCreateInfo->enabledLayerNameCount > 0)')
         pid_enum.append('        {')
         pid_enum.append('            pVkInstanceCreateInfo->ppEnabledLayerNames = (const char* const*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->ppEnabledLayerNames);')
-        pid_enum.append('            for (i = 0; i < pVkInstanceCreateInfo->layerCount; i++) {')
+        pid_enum.append('            for (i = 0; i < pVkInstanceCreateInfo->enabledLayerNameCount; i++) {')
         pid_enum.append('                char** ppTmp = (char**)&pVkInstanceCreateInfo->ppEnabledLayerNames[i];')
         pid_enum.append('                *ppTmp = (char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->ppEnabledLayerNames[i]);')
         pid_enum.append('            }')
         pid_enum.append('        }')
-        pid_enum.append('        if (pVkInstanceCreateInfo->extensionCount > 0)')
+        pid_enum.append('        if (pVkInstanceCreateInfo->enabledExtensionNameCount > 0)')
         pid_enum.append('        {')
         pid_enum.append('            pVkInstanceCreateInfo->ppEnabledExtensionNames = (const char* const*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->ppEnabledExtensionNames);')
-        pid_enum.append('            for (i = 0; i < pVkInstanceCreateInfo->extensionCount; i++) {')
+        pid_enum.append('            for (i = 0; i < pVkInstanceCreateInfo->enabledExtensionNameCount; i++) {')
         pid_enum.append('                char** ppTmp = (char**)&pVkInstanceCreateInfo->ppEnabledExtensionNames[i];')
         pid_enum.append('                *ppTmp = (char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkInstanceCreateInfo->ppEnabledExtensionNames[i]);')
         pid_enum.append('            }')
@@ -658,18 +658,18 @@
         pid_enum.append('    if (pVkDeviceCreateInfo != NULL)')
         pid_enum.append('    {')
         pid_enum.append('        pVkDeviceCreateInfo->pRequestedQueues = (const VkDeviceQueueCreateInfo *)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkDeviceCreateInfo->pRequestedQueues);\n')
-        pid_enum.append('        if (pVkDeviceCreateInfo->layerCount > 0)')
+        pid_enum.append('        if (pVkDeviceCreateInfo->enabledLayerNameCount > 0)')
         pid_enum.append('        {')
         pid_enum.append('            pVkDeviceCreateInfo->ppEnabledLayerNames = (const char* const*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkDeviceCreateInfo->ppEnabledLayerNames);')
-        pid_enum.append('            for (i = 0; i < pVkDeviceCreateInfo->layerCount; i++) {')
+        pid_enum.append('            for (i = 0; i < pVkDeviceCreateInfo->enabledLayerNameCount; i++) {')
         pid_enum.append('                char** ppTmp = (char**)&pVkDeviceCreateInfo->ppEnabledLayerNames[i];')
         pid_enum.append('                *ppTmp = (char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkDeviceCreateInfo->ppEnabledLayerNames[i]);')
         pid_enum.append('            }')
         pid_enum.append('        }')
-        pid_enum.append('        if (pVkDeviceCreateInfo->extensionCount > 0)')
+        pid_enum.append('        if (pVkDeviceCreateInfo->enabledExtensionNameCount > 0)')
         pid_enum.append('        {')
         pid_enum.append('            pVkDeviceCreateInfo->ppEnabledExtensionNames = (const char* const*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkDeviceCreateInfo->ppEnabledExtensionNames);')
-        pid_enum.append('            for (i = 0; i < pVkDeviceCreateInfo->extensionCount; i++) {')
+        pid_enum.append('            for (i = 0; i < pVkDeviceCreateInfo->enabledExtensionNameCount; i++) {')
         pid_enum.append('                char** ppTmp = (char**)&pVkDeviceCreateInfo->ppEnabledExtensionNames[i];')
         pid_enum.append('                *ppTmp = (char*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pVkDeviceCreateInfo->ppEnabledExtensionNames[i]);')
         pid_enum.append('            }')
@@ -728,7 +728,7 @@
                             '*ppSD = (VkSubpassDependency*) vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pInfo->pDependencies);\n']
         create_gfx_pipe = ['uint32_t i;\n',
                            'uint32_t j;\n',
-                           'for (i=0; i<pPacket->count; i++) {\n',
+                           'for (i=0; i<pPacket->createInfoCount; i++) {\n',
                             'if (pPacket->pCreateInfos[i].sType == VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO) {\n',
                             '// need to make a non-const pointer to the pointer so that we can properly change the original pointer to the interpretted one\n',
                             'VkGraphicsPipelineCreateInfo* pNonConst = (VkGraphicsPipelineCreateInfo*)&(pPacket->pCreateInfos[i]);\n',
@@ -786,7 +786,7 @@
                              'CreatePipelineLayout' : {'param': 'pCreateInfo', 'txt': ['VkPipelineLayoutCreateInfo* pInfo = (VkPipelineLayoutCreateInfo*)pPacket->pCreateInfo;\n',
                                                        'pInfo->pSetLayouts = (VkDescriptorSetLayout*) vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pSetLayouts);\n']},
                              'CreateDescriptorPool' : {'param': 'pCreateInfo', 'txt': ['VkDescriptorPoolCreateInfo* pInfo = (VkDescriptorPoolCreateInfo*)pPacket->pCreateInfo;\n',
-                                                       'pInfo->pTypeCount = (VkDescriptorTypeCount*) vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pTypeCount);\n']},
+                                                       'pInfo->pTypeCounts = (VkDescriptorTypeCount*) vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pPacket->pCreateInfo->pTypeCounts);\n']},
                              'CmdWaitEvents' : {'param': 'ppMemBarriers', 'txt': mem_barrier_interp},
                              'CmdPipelineBarrier' : {'param': 'ppMemBarriers', 'txt': mem_barrier_interp},
                              'CreateDescriptorSetLayout' : {'param': 'pCreateInfo', 'txt': ['if (pPacket->pCreateInfo->sType == VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO) {\n',
@@ -799,10 +799,10 @@
                                                                                          '            case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:\n',
                                                                                          '            {\n' ,
                                                                                          '                unsigned int i = 0;\n',
-                                                                                         '                pNext->pBinding = (VkDescriptorSetLayoutBinding*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pBinding);\n',
-                                                                                         '                for (i = 0; i < pNext->count; i++)\n','                {\n',
-                                                                                         '                    VkSampler** ppSamplers = (VkSampler**)&(pNext->pBinding[i].pImmutableSamplers);\n',
-                                                                                         '                    *ppSamplers = (VkSampler*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pBinding[i].pImmutableSamplers);\n',
+                                                                                         '                pNext->pBindings = (VkDescriptorSetLayoutBinding*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pBindings);\n',
+                                                                                         '                for (i = 0; i < pNext->bindingCount; i++)\n','                {\n',
+                                                                                         '                    VkSampler** ppSamplers = (VkSampler**)&(pNext->pBindings[i].pImmutableSamplers);\n',
+                                                                                         '                    *ppSamplers = (VkSampler*)vktrace_trace_packet_interpret_buffer_pointer(pHeader, (intptr_t)pNext->pBindings[i].pImmutableSamplers);\n',
                                                                                          '                }\n',
                                                                                          '                break;\n',
                                                                                          '            }\n',
@@ -1569,12 +1569,12 @@
                 elif create_func: # Declare local var to store created handle into
                     if 'AllocDescriptorSets' == proto.name:
                         p_ty = proto.params[-1].ty.strip('*').replace('const ', '')
-                        rbody.append('            %s* local_%s = (%s*)malloc(pPacket->pAllocInfo->count * sizeof(%s));' % (p_ty, proto.params[-1].name, p_ty, p_ty))
-                        rbody.append('            VkDescriptorSetLayout* local_pSetLayouts = (VkDescriptorSetLayout*)malloc(pPacket->pAllocInfo->count * sizeof(VkDescriptorSetLayout));')
+                        rbody.append('            %s* local_%s = (%s*)malloc(pPacket->pAllocInfo->setLayoutCount * sizeof(%s));' % (p_ty, proto.params[-1].name, p_ty, p_ty))
+                        rbody.append('            VkDescriptorSetLayout* local_pSetLayouts = (VkDescriptorSetLayout*)malloc(pPacket->pAllocInfo->setLayoutCount * sizeof(VkDescriptorSetLayout));')
                         rbody.append('            VkDescriptorSetAllocInfo local_AllocInfo, *local_pAllocInfo = &local_AllocInfo;')
                         rbody.append('            VkDescriptorPool local_descPool;')
                         rbody.append('            local_descPool = m_objMapper.remap_descriptorpools(pPacket->pAllocInfo->descriptorPool);')
-                        rbody.append('            for (uint32_t i = 0; i < pPacket->pAllocInfo->count; i++)')
+                        rbody.append('            for (uint32_t i = 0; i < pPacket->pAllocInfo->setLayoutCount; i++)')
                         rbody.append('            {')
                         rbody.append('                local_pSetLayouts[i] = m_objMapper.remap_descriptorsetlayouts(pPacket->%s->pSetLayouts[i]);' % (proto.params[-2].name))
                         rbody.append('            }')
@@ -1695,7 +1695,7 @@
                 elif 'AllocDescriptorSets' in proto.name:
                     rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
-                    rbody.append('                for (uint32_t i = 0; i < pPacket->pAllocInfo->count; i++) {')
+                    rbody.append('                for (uint32_t i = 0; i < pPacket->pAllocInfo->setLayoutCount; i++) {')
                     rbody.append('                    m_objMapper.add_to_descriptorsets_map(pPacket->%s[i], local_%s[i]);' % (proto.params[-1].name, proto.params[-1].name))
                     rbody.append('                }')
                     rbody.append('            }')
diff --git a/vulkan.py b/vulkan.py
index a74a615..a57d199 100755
--- a/vulkan.py
+++ b/vulkan.py
@@ -247,7 +247,7 @@
 
         Proto("void", "GetPhysicalDeviceQueueFamilyProperties",
             [Param("VkPhysicalDevice", "physicalDevice"),
-             Param("uint32_t*", "pCount"),
+             Param("uint32_t*", "pQueueFamilyPropertyCount"),
              Param("VkQueueFamilyProperties*", "pQueueFamilyProperties")]),
 
         Proto("void", "GetPhysicalDeviceMemoryProperties",
@@ -272,22 +272,22 @@
 
         Proto("VkResult", "EnumerateInstanceExtensionProperties",
             [Param("const char*", "pLayerName"),
-             Param("uint32_t*", "pCount"),
+             Param("uint32_t*", "pPropertyCount"),
              Param("VkExtensionProperties*", "pProperties")]),
 
         Proto("VkResult", "EnumerateDeviceExtensionProperties",
             [Param("VkPhysicalDevice", "physicalDevice"),
              Param("const char*", "pLayerName"),
-             Param("uint32_t*", "pCount"),
+             Param("uint32_t*", "pPropertyCount"),
              Param("VkExtensionProperties*", "pProperties")]),
 
         Proto("VkResult", "EnumerateInstanceLayerProperties",
-            [Param("uint32_t*", "pCount"),
+            [Param("uint32_t*", "pPropertyCount"),
              Param("VkLayerProperties*", "pProperties")]),
 
         Proto("VkResult", "EnumerateDeviceLayerProperties",
             [Param("VkPhysicalDevice", "physicalDevice"),
-             Param("uint32_t*", "pCount"),
+             Param("uint32_t*", "pPropertyCount"),
              Param("VkLayerProperties*", "pProperties")]),
 
         Proto("void", "GetDeviceQueue",
@@ -369,7 +369,7 @@
         Proto("void", "GetImageSparseMemoryRequirements",
             [Param("VkDevice", "device"),
              Param("VkImage", "image"),
-             Param("uint32_t*", "pNumRequirements"),
+             Param("uint32_t*", "pSparseMemoryRequirementCount"),
              Param("VkSparseImageMemoryRequirements*", "pSparseMemoryRequirements")]),
 
         Proto("void", "GetPhysicalDeviceSparseImageFormatProperties",
@@ -379,25 +379,25 @@
              Param("uint32_t", "samples"),
              Param("VkImageUsageFlags", "usage"),
              Param("VkImageTiling", "tiling"),
-             Param("uint32_t*", "pNumProperties"),
+             Param("uint32_t*", "pPropertyCount"),
              Param("VkSparseImageFormatProperties*", "pProperties")]),
 
         Proto("VkResult", "QueueBindSparseBufferMemory",
             [Param("VkQueue", "queue"),
              Param("VkBuffer", "buffer"),
-             Param("uint32_t", "numBindings"),
+             Param("uint32_t", "bindInfoCount"),
              Param("const VkSparseMemoryBindInfo*", "pBindInfo")]),
 
         Proto("VkResult", "QueueBindSparseImageOpaqueMemory",
             [Param("VkQueue", "queue"),
              Param("VkImage", "image"),
-             Param("uint32_t", "numBindings"),
+             Param("uint32_t", "bindInfoCount"),
              Param("const VkSparseMemoryBindInfo*", "pBindInfo")]),
 
         Proto("VkResult", "QueueBindSparseImageMemory",
             [Param("VkQueue", "queue"),
              Param("VkImage", "image"),
-             Param("uint32_t", "numBindings"),
+             Param("uint32_t", "bindInfoCount"),
              Param("const VkSparseImageMemoryBindInfo*", "pBindInfo")]),
 
         Proto("VkResult", "CreateFence",
@@ -558,14 +558,14 @@
         Proto("VkResult", "CreateGraphicsPipelines",
             [Param("VkDevice", "device"),
              Param("VkPipelineCache", "pipelineCache"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "createInfoCount"),
              Param("const VkGraphicsPipelineCreateInfo*", "pCreateInfos"),
              Param("VkPipeline*", "pPipelines")]),
 
         Proto("VkResult", "CreateComputePipelines",
             [Param("VkDevice", "device"),
              Param("VkPipelineCache", "pipelineCache"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "createInfoCount"),
              Param("const VkComputePipelineCreateInfo*", "pCreateInfos"),
              Param("VkPipeline*", "pPipelines")]),
 
@@ -622,7 +622,7 @@
         Proto("VkResult", "FreeDescriptorSets",
             [Param("VkDevice", "device"),
              Param("VkDescriptorPool", "descriptorPool"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "descriptorSetCount"),
              Param("const VkDescriptorSet*", "pDescriptorSets")]),
 
         Proto("void", "UpdateDescriptorSets",
@@ -677,7 +677,7 @@
         Proto("void", "FreeCommandBuffers",
             [Param("VkDevice", "device"),
              Param("VkCmdPool", "cmdPool"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "commandBufferCount"),
              Param("const VkCmdBuffer*", "pCommandBuffers")]),
 
         Proto("VkResult", "BeginCommandBuffer",
@@ -745,7 +745,7 @@
              Param("VkPipelineBindPoint", "pipelineBindPoint"),
              Param("VkPipelineLayout", "layout"),
              Param("uint32_t", "firstSet"),
-             Param("uint32_t", "setCount"),
+             Param("uint32_t", "descriptorSetCount"),
              Param("const VkDescriptorSet*", "pDescriptorSets"),
              Param("uint32_t", "dynamicOffsetCount"),
              Param("const uint32_t*", "pDynamicOffsets")]),
@@ -782,14 +782,14 @@
             [Param("VkCmdBuffer", "cmdBuffer"),
              Param("VkBuffer", "buffer"),
              Param("VkDeviceSize", "offset"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "drawCount"),
              Param("uint32_t", "stride")]),
 
         Proto("void", "CmdDrawIndexedIndirect",
             [Param("VkCmdBuffer", "cmdBuffer"),
              Param("VkBuffer", "buffer"),
              Param("VkDeviceSize", "offset"),
-             Param("uint32_t", "count"),
+             Param("uint32_t", "drawCount"),
              Param("uint32_t", "stride")]),
 
         Proto("void", "CmdDispatch",