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/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/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",