| // Copyright (C) 2018 The Android Open Source Project | 
 | // Copyright (C) 2018 Google Inc. | 
 | // | 
 | // Licensed under the Apache License, Version 2.0 (the "License"); | 
 | // you may not use this file except in compliance with the License. | 
 | // You may obtain a copy of the License at | 
 | // | 
 | // http://www.apache.org/licenses/LICENSE-2.0 | 
 | // | 
 | // Unless required by applicable law or agreed to in writing, software | 
 | // distributed under the License is distributed on an "AS IS" BASIS, | 
 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | // See the License for the specific language governing permissions and | 
 | // limitations under the License. | 
 |  | 
 | // Autogenerated module VkEncoder | 
 | // (header) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal | 
 | // Please do not modify directly; | 
 | // re-run android/scripts/generate-vulkan-sources.sh, | 
 | // or directly from Python by defining: | 
 | // VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml | 
 | // CEREAL_OUTPUT_DIR: Where to put the generated sources. | 
 | // python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR | 
 |  | 
 | #pragma once | 
 |  | 
 | #include <vulkan/vulkan.h> | 
 |  | 
 |  | 
 | #include "goldfish_vk_private_defs.h" | 
 | #include <memory> | 
 | class IOStream; | 
 |  | 
 |  | 
 | namespace goldfish_vk { | 
 |  | 
 |  | 
 | class VkEncoder { | 
 | public: | 
 |     VkEncoder(IOStream* stream); | 
 |     ~VkEncoder(); | 
 |  | 
 | #include "VkEncoder.h.inl" | 
 | #ifdef VK_VERSION_1_0 | 
 |     VkResult vkCreateInstance( | 
 |     const VkInstanceCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkInstance* pInstance, | 
 |         uint32_t doLock); | 
 |     void vkDestroyInstance( | 
 |     VkInstance instance, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumeratePhysicalDevices( | 
 |     VkInstance instance, | 
 |         uint32_t* pPhysicalDeviceCount, | 
 |         VkPhysicalDevice* pPhysicalDevices, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceFeatures( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceFeatures* pFeatures, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceFormatProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkFormatProperties* pFormatProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceImageFormatProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkImageType type, | 
 |         VkImageTiling tiling, | 
 |         VkImageUsageFlags usage, | 
 |         VkImageCreateFlags flags, | 
 |         VkImageFormatProperties* pImageFormatProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceQueueFamilyProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pQueueFamilyPropertyCount, | 
 |         VkQueueFamilyProperties* pQueueFamilyProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceMemoryProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceMemoryProperties* pMemoryProperties, | 
 |         uint32_t doLock); | 
 |     PFN_vkVoidFunction vkGetInstanceProcAddr( | 
 |     VkInstance instance, | 
 |         const char* pName, | 
 |         uint32_t doLock); | 
 |     PFN_vkVoidFunction vkGetDeviceProcAddr( | 
 |     VkDevice device, | 
 |         const char* pName, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDevice( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkDeviceCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDevice* pDevice, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDevice( | 
 |     VkDevice device, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumerateInstanceExtensionProperties( | 
 |     const char* pLayerName, | 
 |         uint32_t* pPropertyCount, | 
 |         VkExtensionProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumerateDeviceExtensionProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const char* pLayerName, | 
 |         uint32_t* pPropertyCount, | 
 |         VkExtensionProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumerateInstanceLayerProperties( | 
 |     uint32_t* pPropertyCount, | 
 |         VkLayerProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumerateDeviceLayerProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkLayerProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetDeviceQueue( | 
 |     VkDevice device, | 
 |         uint32_t queueFamilyIndex, | 
 |         uint32_t queueIndex, | 
 |         VkQueue* pQueue, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueueSubmit( | 
 |     VkQueue queue, | 
 |         uint32_t submitCount, | 
 |         const VkSubmitInfo* pSubmits, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueueWaitIdle( | 
 |     VkQueue queue, | 
 |         uint32_t doLock); | 
 |     VkResult vkDeviceWaitIdle( | 
 |     VkDevice device, | 
 |         uint32_t doLock); | 
 |     VkResult vkAllocateMemory( | 
 |     VkDevice device, | 
 |         const VkMemoryAllocateInfo* pAllocateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDeviceMemory* pMemory, | 
 |         uint32_t doLock); | 
 |     void vkFreeMemory( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkMapMemory( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         VkDeviceSize offset, | 
 |         VkDeviceSize size, | 
 |         VkMemoryMapFlags flags, | 
 |         void** ppData, | 
 |         uint32_t doLock); | 
 |     void vkUnmapMemory( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         uint32_t doLock); | 
 |     VkResult vkFlushMappedMemoryRanges( | 
 |     VkDevice device, | 
 |         uint32_t memoryRangeCount, | 
 |         const VkMappedMemoryRange* pMemoryRanges, | 
 |         uint32_t doLock); | 
 |     VkResult vkInvalidateMappedMemoryRanges( | 
 |     VkDevice device, | 
 |         uint32_t memoryRangeCount, | 
 |         const VkMappedMemoryRange* pMemoryRanges, | 
 |         uint32_t doLock); | 
 |     void vkGetDeviceMemoryCommitment( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         VkDeviceSize* pCommittedMemoryInBytes, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindBufferMemory( | 
 |     VkDevice device, | 
 |         VkBuffer buffer, | 
 |         VkDeviceMemory memory, | 
 |         VkDeviceSize memoryOffset, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindImageMemory( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         VkDeviceMemory memory, | 
 |         VkDeviceSize memoryOffset, | 
 |         uint32_t doLock); | 
 |     void vkGetBufferMemoryRequirements( | 
 |     VkDevice device, | 
 |         VkBuffer buffer, | 
 |         VkMemoryRequirements* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetImageMemoryRequirements( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         VkMemoryRequirements* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetImageSparseMemoryRequirements( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         uint32_t* pSparseMemoryRequirementCount, | 
 |         VkSparseImageMemoryRequirements* pSparseMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceSparseImageFormatProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkImageType type, | 
 |         VkSampleCountFlagBits samples, | 
 |         VkImageUsageFlags usage, | 
 |         VkImageTiling tiling, | 
 |         uint32_t* pPropertyCount, | 
 |         VkSparseImageFormatProperties* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueueBindSparse( | 
 |     VkQueue queue, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindSparseInfo* pBindInfo, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateFence( | 
 |     VkDevice device, | 
 |         const VkFenceCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkFence* pFence, | 
 |         uint32_t doLock); | 
 |     void vkDestroyFence( | 
 |     VkDevice device, | 
 |         VkFence fence, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkResetFences( | 
 |     VkDevice device, | 
 |         uint32_t fenceCount, | 
 |         const VkFence* pFences, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetFenceStatus( | 
 |     VkDevice device, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     VkResult vkWaitForFences( | 
 |     VkDevice device, | 
 |         uint32_t fenceCount, | 
 |         const VkFence* pFences, | 
 |         VkBool32 waitAll, | 
 |         uint64_t timeout, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateSemaphore( | 
 |     VkDevice device, | 
 |         const VkSemaphoreCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSemaphore* pSemaphore, | 
 |         uint32_t doLock); | 
 |     void vkDestroySemaphore( | 
 |     VkDevice device, | 
 |         VkSemaphore semaphore, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateEvent( | 
 |     VkDevice device, | 
 |         const VkEventCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkEvent* pEvent, | 
 |         uint32_t doLock); | 
 |     void vkDestroyEvent( | 
 |     VkDevice device, | 
 |         VkEvent event, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetEventStatus( | 
 |     VkDevice device, | 
 |         VkEvent event, | 
 |         uint32_t doLock); | 
 |     VkResult vkSetEvent( | 
 |     VkDevice device, | 
 |         VkEvent event, | 
 |         uint32_t doLock); | 
 |     VkResult vkResetEvent( | 
 |     VkDevice device, | 
 |         VkEvent event, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateQueryPool( | 
 |     VkDevice device, | 
 |         const VkQueryPoolCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkQueryPool* pQueryPool, | 
 |         uint32_t doLock); | 
 |     void vkDestroyQueryPool( | 
 |     VkDevice device, | 
 |         VkQueryPool queryPool, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetQueryPoolResults( | 
 |     VkDevice device, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t queryCount, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         VkDeviceSize stride, | 
 |         VkQueryResultFlags flags, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateBuffer( | 
 |     VkDevice device, | 
 |         const VkBufferCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkBuffer* pBuffer, | 
 |         uint32_t doLock); | 
 |     void vkDestroyBuffer( | 
 |     VkDevice device, | 
 |         VkBuffer buffer, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateBufferView( | 
 |     VkDevice device, | 
 |         const VkBufferViewCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkBufferView* pView, | 
 |         uint32_t doLock); | 
 |     void vkDestroyBufferView( | 
 |     VkDevice device, | 
 |         VkBufferView bufferView, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateImage( | 
 |     VkDevice device, | 
 |         const VkImageCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkImage* pImage, | 
 |         uint32_t doLock); | 
 |     void vkDestroyImage( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkGetImageSubresourceLayout( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         const VkImageSubresource* pSubresource, | 
 |         VkSubresourceLayout* pLayout, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateImageView( | 
 |     VkDevice device, | 
 |         const VkImageViewCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkImageView* pView, | 
 |         uint32_t doLock); | 
 |     void vkDestroyImageView( | 
 |     VkDevice device, | 
 |         VkImageView imageView, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateShaderModule( | 
 |     VkDevice device, | 
 |         const VkShaderModuleCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkShaderModule* pShaderModule, | 
 |         uint32_t doLock); | 
 |     void vkDestroyShaderModule( | 
 |     VkDevice device, | 
 |         VkShaderModule shaderModule, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreatePipelineCache( | 
 |     VkDevice device, | 
 |         const VkPipelineCacheCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipelineCache* pPipelineCache, | 
 |         uint32_t doLock); | 
 |     void vkDestroyPipelineCache( | 
 |     VkDevice device, | 
 |         VkPipelineCache pipelineCache, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPipelineCacheData( | 
 |     VkDevice device, | 
 |         VkPipelineCache pipelineCache, | 
 |         size_t* pDataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 |     VkResult vkMergePipelineCaches( | 
 |     VkDevice device, | 
 |         VkPipelineCache dstCache, | 
 |         uint32_t srcCacheCount, | 
 |         const VkPipelineCache* pSrcCaches, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateGraphicsPipelines( | 
 |     VkDevice device, | 
 |         VkPipelineCache pipelineCache, | 
 |         uint32_t createInfoCount, | 
 |         const VkGraphicsPipelineCreateInfo* pCreateInfos, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipeline* pPipelines, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateComputePipelines( | 
 |     VkDevice device, | 
 |         VkPipelineCache pipelineCache, | 
 |         uint32_t createInfoCount, | 
 |         const VkComputePipelineCreateInfo* pCreateInfos, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipeline* pPipelines, | 
 |         uint32_t doLock); | 
 |     void vkDestroyPipeline( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreatePipelineLayout( | 
 |     VkDevice device, | 
 |         const VkPipelineLayoutCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipelineLayout* pPipelineLayout, | 
 |         uint32_t doLock); | 
 |     void vkDestroyPipelineLayout( | 
 |     VkDevice device, | 
 |         VkPipelineLayout pipelineLayout, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateSampler( | 
 |     VkDevice device, | 
 |         const VkSamplerCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSampler* pSampler, | 
 |         uint32_t doLock); | 
 |     void vkDestroySampler( | 
 |     VkDevice device, | 
 |         VkSampler sampler, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDescriptorSetLayout( | 
 |     VkDevice device, | 
 |         const VkDescriptorSetLayoutCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDescriptorSetLayout* pSetLayout, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDescriptorSetLayout( | 
 |     VkDevice device, | 
 |         VkDescriptorSetLayout descriptorSetLayout, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDescriptorPool( | 
 |     VkDevice device, | 
 |         const VkDescriptorPoolCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDescriptorPool* pDescriptorPool, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDescriptorPool( | 
 |     VkDevice device, | 
 |         VkDescriptorPool descriptorPool, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkResetDescriptorPool( | 
 |     VkDevice device, | 
 |         VkDescriptorPool descriptorPool, | 
 |         VkDescriptorPoolResetFlags flags, | 
 |         uint32_t doLock); | 
 |     VkResult vkAllocateDescriptorSets( | 
 |     VkDevice device, | 
 |         const VkDescriptorSetAllocateInfo* pAllocateInfo, | 
 |         VkDescriptorSet* pDescriptorSets, | 
 |         uint32_t doLock); | 
 |     VkResult vkFreeDescriptorSets( | 
 |     VkDevice device, | 
 |         VkDescriptorPool descriptorPool, | 
 |         uint32_t descriptorSetCount, | 
 |         const VkDescriptorSet* pDescriptorSets, | 
 |         uint32_t doLock); | 
 |     void vkUpdateDescriptorSets( | 
 |     VkDevice device, | 
 |         uint32_t descriptorWriteCount, | 
 |         const VkWriteDescriptorSet* pDescriptorWrites, | 
 |         uint32_t descriptorCopyCount, | 
 |         const VkCopyDescriptorSet* pDescriptorCopies, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateFramebuffer( | 
 |     VkDevice device, | 
 |         const VkFramebufferCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkFramebuffer* pFramebuffer, | 
 |         uint32_t doLock); | 
 |     void vkDestroyFramebuffer( | 
 |     VkDevice device, | 
 |         VkFramebuffer framebuffer, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateRenderPass( | 
 |     VkDevice device, | 
 |         const VkRenderPassCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkRenderPass* pRenderPass, | 
 |         uint32_t doLock); | 
 |     void vkDestroyRenderPass( | 
 |     VkDevice device, | 
 |         VkRenderPass renderPass, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkGetRenderAreaGranularity( | 
 |     VkDevice device, | 
 |         VkRenderPass renderPass, | 
 |         VkExtent2D* pGranularity, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateCommandPool( | 
 |     VkDevice device, | 
 |         const VkCommandPoolCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkCommandPool* pCommandPool, | 
 |         uint32_t doLock); | 
 |     void vkDestroyCommandPool( | 
 |     VkDevice device, | 
 |         VkCommandPool commandPool, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkResetCommandPool( | 
 |     VkDevice device, | 
 |         VkCommandPool commandPool, | 
 |         VkCommandPoolResetFlags flags, | 
 |         uint32_t doLock); | 
 |     VkResult vkAllocateCommandBuffers( | 
 |     VkDevice device, | 
 |         const VkCommandBufferAllocateInfo* pAllocateInfo, | 
 |         VkCommandBuffer* pCommandBuffers, | 
 |         uint32_t doLock); | 
 |     void vkFreeCommandBuffers( | 
 |     VkDevice device, | 
 |         VkCommandPool commandPool, | 
 |         uint32_t commandBufferCount, | 
 |         const VkCommandBuffer* pCommandBuffers, | 
 |         uint32_t doLock); | 
 |     VkResult vkBeginCommandBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCommandBufferBeginInfo* pBeginInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkEndCommandBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 |     VkResult vkResetCommandBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkCommandBufferResetFlags flags, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindPipeline( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineBindPoint pipelineBindPoint, | 
 |         VkPipeline pipeline, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetViewport( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstViewport, | 
 |         uint32_t viewportCount, | 
 |         const VkViewport* pViewports, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetScissor( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstScissor, | 
 |         uint32_t scissorCount, | 
 |         const VkRect2D* pScissors, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetLineWidth( | 
 |     VkCommandBuffer commandBuffer, | 
 |         float lineWidth, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthBias( | 
 |     VkCommandBuffer commandBuffer, | 
 |         float depthBiasConstantFactor, | 
 |         float depthBiasClamp, | 
 |         float depthBiasSlopeFactor, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetBlendConstants( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const float blendConstants[4], | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthBounds( | 
 |     VkCommandBuffer commandBuffer, | 
 |         float minDepthBounds, | 
 |         float maxDepthBounds, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetStencilCompareMask( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkStencilFaceFlags faceMask, | 
 |         uint32_t compareMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetStencilWriteMask( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkStencilFaceFlags faceMask, | 
 |         uint32_t writeMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetStencilReference( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkStencilFaceFlags faceMask, | 
 |         uint32_t reference, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindDescriptorSets( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineBindPoint pipelineBindPoint, | 
 |         VkPipelineLayout layout, | 
 |         uint32_t firstSet, | 
 |         uint32_t descriptorSetCount, | 
 |         const VkDescriptorSet* pDescriptorSets, | 
 |         uint32_t dynamicOffsetCount, | 
 |         const uint32_t* pDynamicOffsets, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindIndexBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkIndexType indexType, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindVertexBuffers( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstBinding, | 
 |         uint32_t bindingCount, | 
 |         const VkBuffer* pBuffers, | 
 |         const VkDeviceSize* pOffsets, | 
 |         uint32_t doLock); | 
 |     void vkCmdDraw( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t vertexCount, | 
 |         uint32_t instanceCount, | 
 |         uint32_t firstVertex, | 
 |         uint32_t firstInstance, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndexed( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t indexCount, | 
 |         uint32_t instanceCount, | 
 |         uint32_t firstIndex, | 
 |         int32_t vertexOffset, | 
 |         uint32_t firstInstance, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndirect( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         uint32_t drawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndexedIndirect( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         uint32_t drawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDispatch( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t groupCountX, | 
 |         uint32_t groupCountY, | 
 |         uint32_t groupCountZ, | 
 |         uint32_t doLock); | 
 |     void vkCmdDispatchIndirect( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer srcBuffer, | 
 |         VkBuffer dstBuffer, | 
 |         uint32_t regionCount, | 
 |         const VkBufferCopy* pRegions, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage srcImage, | 
 |         VkImageLayout srcImageLayout, | 
 |         VkImage dstImage, | 
 |         VkImageLayout dstImageLayout, | 
 |         uint32_t regionCount, | 
 |         const VkImageCopy* pRegions, | 
 |         uint32_t doLock); | 
 |     void vkCmdBlitImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage srcImage, | 
 |         VkImageLayout srcImageLayout, | 
 |         VkImage dstImage, | 
 |         VkImageLayout dstImageLayout, | 
 |         uint32_t regionCount, | 
 |         const VkImageBlit* pRegions, | 
 |         VkFilter filter, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyBufferToImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer srcBuffer, | 
 |         VkImage dstImage, | 
 |         VkImageLayout dstImageLayout, | 
 |         uint32_t regionCount, | 
 |         const VkBufferImageCopy* pRegions, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyImageToBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage srcImage, | 
 |         VkImageLayout srcImageLayout, | 
 |         VkBuffer dstBuffer, | 
 |         uint32_t regionCount, | 
 |         const VkBufferImageCopy* pRegions, | 
 |         uint32_t doLock); | 
 |     void vkCmdUpdateBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer dstBuffer, | 
 |         VkDeviceSize dstOffset, | 
 |         VkDeviceSize dataSize, | 
 |         const void* pData, | 
 |         uint32_t doLock); | 
 |     void vkCmdFillBuffer( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer dstBuffer, | 
 |         VkDeviceSize dstOffset, | 
 |         VkDeviceSize size, | 
 |         uint32_t data, | 
 |         uint32_t doLock); | 
 |     void vkCmdClearColorImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage image, | 
 |         VkImageLayout imageLayout, | 
 |         const VkClearColorValue* pColor, | 
 |         uint32_t rangeCount, | 
 |         const VkImageSubresourceRange* pRanges, | 
 |         uint32_t doLock); | 
 |     void vkCmdClearDepthStencilImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage image, | 
 |         VkImageLayout imageLayout, | 
 |         const VkClearDepthStencilValue* pDepthStencil, | 
 |         uint32_t rangeCount, | 
 |         const VkImageSubresourceRange* pRanges, | 
 |         uint32_t doLock); | 
 |     void vkCmdClearAttachments( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t attachmentCount, | 
 |         const VkClearAttachment* pAttachments, | 
 |         uint32_t rectCount, | 
 |         const VkClearRect* pRects, | 
 |         uint32_t doLock); | 
 |     void vkCmdResolveImage( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImage srcImage, | 
 |         VkImageLayout srcImageLayout, | 
 |         VkImage dstImage, | 
 |         VkImageLayout dstImageLayout, | 
 |         uint32_t regionCount, | 
 |         const VkImageResolve* pRegions, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetEvent( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkEvent event, | 
 |         VkPipelineStageFlags stageMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdResetEvent( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkEvent event, | 
 |         VkPipelineStageFlags stageMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdWaitEvents( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t eventCount, | 
 |         const VkEvent* pEvents, | 
 |         VkPipelineStageFlags srcStageMask, | 
 |         VkPipelineStageFlags dstStageMask, | 
 |         uint32_t memoryBarrierCount, | 
 |         const VkMemoryBarrier* pMemoryBarriers, | 
 |         uint32_t bufferMemoryBarrierCount, | 
 |         const VkBufferMemoryBarrier* pBufferMemoryBarriers, | 
 |         uint32_t imageMemoryBarrierCount, | 
 |         const VkImageMemoryBarrier* pImageMemoryBarriers, | 
 |         uint32_t doLock); | 
 |     void vkCmdPipelineBarrier( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineStageFlags srcStageMask, | 
 |         VkPipelineStageFlags dstStageMask, | 
 |         VkDependencyFlags dependencyFlags, | 
 |         uint32_t memoryBarrierCount, | 
 |         const VkMemoryBarrier* pMemoryBarriers, | 
 |         uint32_t bufferMemoryBarrierCount, | 
 |         const VkBufferMemoryBarrier* pBufferMemoryBarriers, | 
 |         uint32_t imageMemoryBarrierCount, | 
 |         const VkImageMemoryBarrier* pImageMemoryBarriers, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginQuery( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t query, | 
 |         VkQueryControlFlags flags, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndQuery( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t query, | 
 |         uint32_t doLock); | 
 |     void vkCmdResetQueryPool( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t queryCount, | 
 |         uint32_t doLock); | 
 |     void vkCmdWriteTimestamp( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineStageFlagBits pipelineStage, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t query, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyQueryPoolResults( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t queryCount, | 
 |         VkBuffer dstBuffer, | 
 |         VkDeviceSize dstOffset, | 
 |         VkDeviceSize stride, | 
 |         VkQueryResultFlags flags, | 
 |         uint32_t doLock); | 
 |     void vkCmdPushConstants( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineLayout layout, | 
 |         VkShaderStageFlags stageFlags, | 
 |         uint32_t offset, | 
 |         uint32_t size, | 
 |         const void* pValues, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginRenderPass( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkRenderPassBeginInfo* pRenderPassBegin, | 
 |         VkSubpassContents contents, | 
 |         uint32_t doLock); | 
 |     void vkCmdNextSubpass( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkSubpassContents contents, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndRenderPass( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 |     void vkCmdExecuteCommands( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t commandBufferCount, | 
 |         const VkCommandBuffer* pCommandBuffers, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_VERSION_1_1 | 
 |     VkResult vkEnumerateInstanceVersion( | 
 |     uint32_t* pApiVersion, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindBufferMemory2( | 
 |     VkDevice device, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindBufferMemoryInfo* pBindInfos, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindImageMemory2( | 
 |     VkDevice device, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindImageMemoryInfo* pBindInfos, | 
 |         uint32_t doLock); | 
 |     void vkGetDeviceGroupPeerMemoryFeatures( | 
 |     VkDevice device, | 
 |         uint32_t heapIndex, | 
 |         uint32_t localDeviceIndex, | 
 |         uint32_t remoteDeviceIndex, | 
 |         VkPeerMemoryFeatureFlags* pPeerMemoryFeatures, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDeviceMask( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t deviceMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdDispatchBase( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t baseGroupX, | 
 |         uint32_t baseGroupY, | 
 |         uint32_t baseGroupZ, | 
 |         uint32_t groupCountX, | 
 |         uint32_t groupCountY, | 
 |         uint32_t groupCountZ, | 
 |         uint32_t doLock); | 
 |     VkResult vkEnumeratePhysicalDeviceGroups( | 
 |     VkInstance instance, | 
 |         uint32_t* pPhysicalDeviceGroupCount, | 
 |         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetImageMemoryRequirements2( | 
 |     VkDevice device, | 
 |         const VkImageMemoryRequirementsInfo2* pInfo, | 
 |         VkMemoryRequirements2* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetBufferMemoryRequirements2( | 
 |     VkDevice device, | 
 |         const VkBufferMemoryRequirementsInfo2* pInfo, | 
 |         VkMemoryRequirements2* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetImageSparseMemoryRequirements2( | 
 |     VkDevice device, | 
 |         const VkImageSparseMemoryRequirementsInfo2* pInfo, | 
 |         uint32_t* pSparseMemoryRequirementCount, | 
 |         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceFeatures2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceFeatures2* pFeatures, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceProperties2* pProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceFormatProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkFormatProperties2* pFormatProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceImageFormatProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, | 
 |         VkImageFormatProperties2* pImageFormatProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceQueueFamilyProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pQueueFamilyPropertyCount, | 
 |         VkQueueFamilyProperties2* pQueueFamilyProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceMemoryProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceMemoryProperties2* pMemoryProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceSparseImageFormatProperties2( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, | 
 |         uint32_t* pPropertyCount, | 
 |         VkSparseImageFormatProperties2* pProperties, | 
 |         uint32_t doLock); | 
 |     void vkTrimCommandPool( | 
 |     VkDevice device, | 
 |         VkCommandPool commandPool, | 
 |         VkCommandPoolTrimFlags flags, | 
 |         uint32_t doLock); | 
 |     void vkGetDeviceQueue2( | 
 |     VkDevice device, | 
 |         const VkDeviceQueueInfo2* pQueueInfo, | 
 |         VkQueue* pQueue, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateSamplerYcbcrConversion( | 
 |     VkDevice device, | 
 |         const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSamplerYcbcrConversion* pYcbcrConversion, | 
 |         uint32_t doLock); | 
 |     void vkDestroySamplerYcbcrConversion( | 
 |     VkDevice device, | 
 |         VkSamplerYcbcrConversion ycbcrConversion, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDescriptorUpdateTemplate( | 
 |     VkDevice device, | 
 |         const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDescriptorUpdateTemplate( | 
 |     VkDevice device, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkUpdateDescriptorSetWithTemplate( | 
 |     VkDevice device, | 
 |         VkDescriptorSet descriptorSet, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         const void* pData, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceExternalBufferProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, | 
 |         VkExternalBufferProperties* pExternalBufferProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceExternalFenceProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, | 
 |         VkExternalFenceProperties* pExternalFenceProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceExternalSemaphoreProperties( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, | 
 |         VkExternalSemaphoreProperties* pExternalSemaphoreProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetDescriptorSetLayoutSupport( | 
 |     VkDevice device, | 
 |         const VkDescriptorSetLayoutCreateInfo* pCreateInfo, | 
 |         VkDescriptorSetLayoutSupport* pSupport, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_VERSION_1_2 | 
 |     void vkCmdDrawIndirectCount( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndexedIndirectCount( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateRenderPass2( | 
 |     VkDevice device, | 
 |         const VkRenderPassCreateInfo2* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkRenderPass* pRenderPass, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginRenderPass2( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkRenderPassBeginInfo* pRenderPassBegin, | 
 |         const VkSubpassBeginInfo* pSubpassBeginInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdNextSubpass2( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkSubpassBeginInfo* pSubpassBeginInfo, | 
 |         const VkSubpassEndInfo* pSubpassEndInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndRenderPass2( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkSubpassEndInfo* pSubpassEndInfo, | 
 |         uint32_t doLock); | 
 |     void vkResetQueryPool( | 
 |     VkDevice device, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t queryCount, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetSemaphoreCounterValue( | 
 |     VkDevice device, | 
 |         VkSemaphore semaphore, | 
 |         uint64_t* pValue, | 
 |         uint32_t doLock); | 
 |     VkResult vkWaitSemaphores( | 
 |     VkDevice device, | 
 |         const VkSemaphoreWaitInfo* pWaitInfo, | 
 |         uint64_t timeout, | 
 |         uint32_t doLock); | 
 |     VkResult vkSignalSemaphore( | 
 |     VkDevice device, | 
 |         const VkSemaphoreSignalInfo* pSignalInfo, | 
 |         uint32_t doLock); | 
 |     VkDeviceAddress vkGetBufferDeviceAddress( | 
 |     VkDevice device, | 
 |         const VkBufferDeviceAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 |     uint64_t vkGetBufferOpaqueCaptureAddress( | 
 |     VkDevice device, | 
 |         const VkBufferDeviceAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 |     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( | 
 |     VkDevice device, | 
 |         const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_surface | 
 |     void vkDestroySurfaceKHR( | 
 |     VkInstance instance, | 
 |         VkSurfaceKHR surface, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         VkSurfaceKHR surface, | 
 |         VkBool32* pSupported, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSurfaceKHR surface, | 
 |         VkSurfaceCapabilitiesKHR* pSurfaceCapabilities, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSurfaceKHR surface, | 
 |         uint32_t* pSurfaceFormatCount, | 
 |         VkSurfaceFormatKHR* pSurfaceFormats, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSurfaceKHR surface, | 
 |         uint32_t* pPresentModeCount, | 
 |         VkPresentModeKHR* pPresentModes, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_swapchain | 
 |     VkResult vkCreateSwapchainKHR( | 
 |     VkDevice device, | 
 |         const VkSwapchainCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSwapchainKHR* pSwapchain, | 
 |         uint32_t doLock); | 
 |     void vkDestroySwapchainKHR( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetSwapchainImagesKHR( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint32_t* pSwapchainImageCount, | 
 |         VkImage* pSwapchainImages, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquireNextImageKHR( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint64_t timeout, | 
 |         VkSemaphore semaphore, | 
 |         VkFence fence, | 
 |         uint32_t* pImageIndex, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueuePresentKHR( | 
 |     VkQueue queue, | 
 |         const VkPresentInfoKHR* pPresentInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDeviceGroupPresentCapabilitiesKHR( | 
 |     VkDevice device, | 
 |         VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDeviceGroupSurfacePresentModesKHR( | 
 |     VkDevice device, | 
 |         VkSurfaceKHR surface, | 
 |         VkDeviceGroupPresentModeFlagsKHR* pModes, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDevicePresentRectanglesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSurfaceKHR surface, | 
 |         uint32_t* pRectCount, | 
 |         VkRect2D* pRects, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquireNextImage2KHR( | 
 |     VkDevice device, | 
 |         const VkAcquireNextImageInfoKHR* pAcquireInfo, | 
 |         uint32_t* pImageIndex, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_display | 
 |     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayPropertiesKHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayPlanePropertiesKHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t planeIndex, | 
 |         uint32_t* pDisplayCount, | 
 |         VkDisplayKHR* pDisplays, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDisplayModePropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkDisplayKHR display, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayModePropertiesKHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDisplayModeKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkDisplayKHR display, | 
 |         const VkDisplayModeCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDisplayModeKHR* pMode, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDisplayPlaneCapabilitiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkDisplayModeKHR mode, | 
 |         uint32_t planeIndex, | 
 |         VkDisplayPlaneCapabilitiesKHR* pCapabilities, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDisplayPlaneSurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkDisplaySurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_display_swapchain | 
 |     VkResult vkCreateSharedSwapchainsKHR( | 
 |     VkDevice device, | 
 |         uint32_t swapchainCount, | 
 |         const VkSwapchainCreateInfoKHR* pCreateInfos, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSwapchainKHR* pSwapchains, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_xlib_surface | 
 |     VkResult vkCreateXlibSurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkXlibSurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 |     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         Display* dpy, | 
 |         VisualID visualID, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_xcb_surface | 
 |     VkResult vkCreateXcbSurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkXcbSurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 |     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         xcb_connection_t* connection, | 
 |         xcb_visualid_t visual_id, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_wayland_surface | 
 |     VkResult vkCreateWaylandSurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 |     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         wl_display* display, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_android_surface | 
 |     VkResult vkCreateAndroidSurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_win32_surface | 
 |     VkResult vkCreateWin32SurfaceKHR( | 
 |     VkInstance instance, | 
 |         const VkWin32SurfaceCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 |     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_sampler_mirror_clamp_to_edge | 
 | #endif | 
 | #ifdef VK_KHR_multiview | 
 | #endif | 
 | #ifdef VK_KHR_get_physical_device_properties2 | 
 |     void vkGetPhysicalDeviceFeatures2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceFeatures2* pFeatures, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceProperties2* pProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceFormatProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkFormatProperties2* pFormatProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo, | 
 |         VkImageFormatProperties2* pImageFormatProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pQueueFamilyPropertyCount, | 
 |         VkQueueFamilyProperties2* pQueueFamilyProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceMemoryProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkPhysicalDeviceMemoryProperties2* pMemoryProperties, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo, | 
 |         uint32_t* pPropertyCount, | 
 |         VkSparseImageFormatProperties2* pProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_device_group | 
 |     void vkGetDeviceGroupPeerMemoryFeaturesKHR( | 
 |     VkDevice device, | 
 |         uint32_t heapIndex, | 
 |         uint32_t localDeviceIndex, | 
 |         uint32_t remoteDeviceIndex, | 
 |         VkPeerMemoryFeatureFlags* pPeerMemoryFeatures, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDeviceMaskKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t deviceMask, | 
 |         uint32_t doLock); | 
 |     void vkCmdDispatchBaseKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t baseGroupX, | 
 |         uint32_t baseGroupY, | 
 |         uint32_t baseGroupZ, | 
 |         uint32_t groupCountX, | 
 |         uint32_t groupCountY, | 
 |         uint32_t groupCountZ, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_shader_draw_parameters | 
 | #endif | 
 | #ifdef VK_KHR_maintenance1 | 
 |     void vkTrimCommandPoolKHR( | 
 |     VkDevice device, | 
 |         VkCommandPool commandPool, | 
 |         VkCommandPoolTrimFlags flags, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_device_group_creation | 
 |     VkResult vkEnumeratePhysicalDeviceGroupsKHR( | 
 |     VkInstance instance, | 
 |         uint32_t* pPhysicalDeviceGroupCount, | 
 |         VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_memory_capabilities | 
 |     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo, | 
 |         VkExternalBufferProperties* pExternalBufferProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_memory | 
 | #endif | 
 | #ifdef VK_KHR_external_memory_win32 | 
 |     VkResult vkGetMemoryWin32HandleKHR( | 
 |     VkDevice device, | 
 |         const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, | 
 |         HANDLE* pHandle, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetMemoryWin32HandlePropertiesKHR( | 
 |     VkDevice device, | 
 |         VkExternalMemoryHandleTypeFlagBits handleType, | 
 |         HANDLE handle, | 
 |         VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_memory_fd | 
 |     VkResult vkGetMemoryFdKHR( | 
 |     VkDevice device, | 
 |         const VkMemoryGetFdInfoKHR* pGetFdInfo, | 
 |         int* pFd, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetMemoryFdPropertiesKHR( | 
 |     VkDevice device, | 
 |         VkExternalMemoryHandleTypeFlagBits handleType, | 
 |         int fd, | 
 |         VkMemoryFdPropertiesKHR* pMemoryFdProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_win32_keyed_mutex | 
 | #endif | 
 | #ifdef VK_KHR_external_semaphore_capabilities | 
 |     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo, | 
 |         VkExternalSemaphoreProperties* pExternalSemaphoreProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_semaphore | 
 | #endif | 
 | #ifdef VK_KHR_external_semaphore_win32 | 
 |     VkResult vkImportSemaphoreWin32HandleKHR( | 
 |     VkDevice device, | 
 |         const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetSemaphoreWin32HandleKHR( | 
 |     VkDevice device, | 
 |         const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, | 
 |         HANDLE* pHandle, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_semaphore_fd | 
 |     VkResult vkImportSemaphoreFdKHR( | 
 |     VkDevice device, | 
 |         const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetSemaphoreFdKHR( | 
 |     VkDevice device, | 
 |         const VkSemaphoreGetFdInfoKHR* pGetFdInfo, | 
 |         int* pFd, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_push_descriptor | 
 |     void vkCmdPushDescriptorSetKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineBindPoint pipelineBindPoint, | 
 |         VkPipelineLayout layout, | 
 |         uint32_t set, | 
 |         uint32_t descriptorWriteCount, | 
 |         const VkWriteDescriptorSet* pDescriptorWrites, | 
 |         uint32_t doLock); | 
 |     void vkCmdPushDescriptorSetWithTemplateKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         VkPipelineLayout layout, | 
 |         uint32_t set, | 
 |         const void* pData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_shader_float16_int8 | 
 | #endif | 
 | #ifdef VK_KHR_16bit_storage | 
 | #endif | 
 | #ifdef VK_KHR_incremental_present | 
 | #endif | 
 | #ifdef VK_KHR_descriptor_update_template | 
 |     VkResult vkCreateDescriptorUpdateTemplateKHR( | 
 |     VkDevice device, | 
 |         const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDescriptorUpdateTemplateKHR( | 
 |     VkDevice device, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkUpdateDescriptorSetWithTemplateKHR( | 
 |     VkDevice device, | 
 |         VkDescriptorSet descriptorSet, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         const void* pData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_imageless_framebuffer | 
 | #endif | 
 | #ifdef VK_KHR_create_renderpass2 | 
 |     VkResult vkCreateRenderPass2KHR( | 
 |     VkDevice device, | 
 |         const VkRenderPassCreateInfo2* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkRenderPass* pRenderPass, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginRenderPass2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkRenderPassBeginInfo* pRenderPassBegin, | 
 |         const VkSubpassBeginInfo* pSubpassBeginInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdNextSubpass2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkSubpassBeginInfo* pSubpassBeginInfo, | 
 |         const VkSubpassEndInfo* pSubpassEndInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndRenderPass2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkSubpassEndInfo* pSubpassEndInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_shared_presentable_image | 
 |     VkResult vkGetSwapchainStatusKHR( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_fence_capabilities | 
 |     void vkGetPhysicalDeviceExternalFencePropertiesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo, | 
 |         VkExternalFenceProperties* pExternalFenceProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_fence | 
 | #endif | 
 | #ifdef VK_KHR_external_fence_win32 | 
 |     VkResult vkImportFenceWin32HandleKHR( | 
 |     VkDevice device, | 
 |         const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetFenceWin32HandleKHR( | 
 |     VkDevice device, | 
 |         const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, | 
 |         HANDLE* pHandle, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_external_fence_fd | 
 |     VkResult vkImportFenceFdKHR( | 
 |     VkDevice device, | 
 |         const VkImportFenceFdInfoKHR* pImportFenceFdInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetFenceFdKHR( | 
 |     VkDevice device, | 
 |         const VkFenceGetFdInfoKHR* pGetFdInfo, | 
 |         int* pFd, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_performance_query | 
 |     VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         uint32_t* pCounterCount, | 
 |         VkPerformanceCounterKHR* pCounters, | 
 |         VkPerformanceCounterDescriptionKHR* pCounterDescriptions, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkQueryPoolPerformanceCreateInfoKHR* pPerformanceQueryCreateInfo, | 
 |         uint32_t* pNumPasses, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquireProfilingLockKHR( | 
 |     VkDevice device, | 
 |         const VkAcquireProfilingLockInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     void vkReleaseProfilingLockKHR( | 
 |     VkDevice device, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_maintenance2 | 
 | #endif | 
 | #ifdef VK_KHR_get_surface_capabilities2 | 
 |     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | 
 |         VkSurfaceCapabilities2KHR* pSurfaceCapabilities, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | 
 |         uint32_t* pSurfaceFormatCount, | 
 |         VkSurfaceFormat2KHR* pSurfaceFormats, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_variable_pointers | 
 | #endif | 
 | #ifdef VK_KHR_get_display_properties2 | 
 |     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayProperties2KHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayPlaneProperties2KHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDisplayModeProperties2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkDisplayKHR display, | 
 |         uint32_t* pPropertyCount, | 
 |         VkDisplayModeProperties2KHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDisplayPlaneCapabilities2KHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkDisplayPlaneInfo2KHR* pDisplayPlaneInfo, | 
 |         VkDisplayPlaneCapabilities2KHR* pCapabilities, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_dedicated_allocation | 
 | #endif | 
 | #ifdef VK_KHR_storage_buffer_storage_class | 
 | #endif | 
 | #ifdef VK_KHR_relaxed_block_layout | 
 | #endif | 
 | #ifdef VK_KHR_get_memory_requirements2 | 
 |     void vkGetImageMemoryRequirements2KHR( | 
 |     VkDevice device, | 
 |         const VkImageMemoryRequirementsInfo2* pInfo, | 
 |         VkMemoryRequirements2* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetBufferMemoryRequirements2KHR( | 
 |     VkDevice device, | 
 |         const VkBufferMemoryRequirementsInfo2* pInfo, | 
 |         VkMemoryRequirements2* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkGetImageSparseMemoryRequirements2KHR( | 
 |     VkDevice device, | 
 |         const VkImageSparseMemoryRequirementsInfo2* pInfo, | 
 |         uint32_t* pSparseMemoryRequirementCount, | 
 |         VkSparseImageMemoryRequirements2* pSparseMemoryRequirements, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_image_format_list | 
 | #endif | 
 | #ifdef VK_KHR_sampler_ycbcr_conversion | 
 |     VkResult vkCreateSamplerYcbcrConversionKHR( | 
 |     VkDevice device, | 
 |         const VkSamplerYcbcrConversionCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSamplerYcbcrConversion* pYcbcrConversion, | 
 |         uint32_t doLock); | 
 |     void vkDestroySamplerYcbcrConversionKHR( | 
 |     VkDevice device, | 
 |         VkSamplerYcbcrConversion ycbcrConversion, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_bind_memory2 | 
 |     VkResult vkBindBufferMemory2KHR( | 
 |     VkDevice device, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindBufferMemoryInfo* pBindInfos, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindImageMemory2KHR( | 
 |     VkDevice device, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindImageMemoryInfo* pBindInfos, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_portability_subset | 
 | #endif | 
 | #ifdef VK_KHR_maintenance3 | 
 |     void vkGetDescriptorSetLayoutSupportKHR( | 
 |     VkDevice device, | 
 |         const VkDescriptorSetLayoutCreateInfo* pCreateInfo, | 
 |         VkDescriptorSetLayoutSupport* pSupport, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_draw_indirect_count | 
 |     void vkCmdDrawIndirectCountKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndexedIndirectCountKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_shader_subgroup_extended_types | 
 | #endif | 
 | #ifdef VK_KHR_8bit_storage | 
 | #endif | 
 | #ifdef VK_KHR_shader_atomic_int64 | 
 | #endif | 
 | #ifdef VK_KHR_shader_clock | 
 | #endif | 
 | #ifdef VK_KHR_driver_properties | 
 | #endif | 
 | #ifdef VK_KHR_shader_float_controls | 
 | #endif | 
 | #ifdef VK_KHR_depth_stencil_resolve | 
 | #endif | 
 | #ifdef VK_KHR_swapchain_mutable_format | 
 | #endif | 
 | #ifdef VK_KHR_timeline_semaphore | 
 |     VkResult vkGetSemaphoreCounterValueKHR( | 
 |     VkDevice device, | 
 |         VkSemaphore semaphore, | 
 |         uint64_t* pValue, | 
 |         uint32_t doLock); | 
 |     VkResult vkWaitSemaphoresKHR( | 
 |     VkDevice device, | 
 |         const VkSemaphoreWaitInfo* pWaitInfo, | 
 |         uint64_t timeout, | 
 |         uint32_t doLock); | 
 |     VkResult vkSignalSemaphoreKHR( | 
 |     VkDevice device, | 
 |         const VkSemaphoreSignalInfo* pSignalInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_vulkan_memory_model | 
 | #endif | 
 | #ifdef VK_KHR_shader_terminate_invocation | 
 | #endif | 
 | #ifdef VK_KHR_fragment_shading_rate | 
 |     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pFragmentShadingRateCount, | 
 |         VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetFragmentShadingRateKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkExtent2D* pFragmentSize, | 
 |         const VkFragmentShadingRateCombinerOpKHR combinerOps[2], | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_spirv_1_4 | 
 | #endif | 
 | #ifdef VK_KHR_surface_protected_capabilities | 
 | #endif | 
 | #ifdef VK_KHR_separate_depth_stencil_layouts | 
 | #endif | 
 | #ifdef VK_KHR_uniform_buffer_standard_layout | 
 | #endif | 
 | #ifdef VK_KHR_buffer_device_address | 
 |     VkDeviceAddress vkGetBufferDeviceAddressKHR( | 
 |     VkDevice device, | 
 |         const VkBufferDeviceAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 |     uint64_t vkGetBufferOpaqueCaptureAddressKHR( | 
 |     VkDevice device, | 
 |         const VkBufferDeviceAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 |     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( | 
 |     VkDevice device, | 
 |         const VkDeviceMemoryOpaqueCaptureAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_deferred_host_operations | 
 |     VkResult vkCreateDeferredOperationKHR( | 
 |     VkDevice device, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDeferredOperationKHR* pDeferredOperation, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDeferredOperationKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR operation, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR operation, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDeferredOperationResultKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR operation, | 
 |         uint32_t doLock); | 
 |     VkResult vkDeferredOperationJoinKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR operation, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_pipeline_executable_properties | 
 |     VkResult vkGetPipelineExecutablePropertiesKHR( | 
 |     VkDevice device, | 
 |         const VkPipelineInfoKHR* pPipelineInfo, | 
 |         uint32_t* pExecutableCount, | 
 |         VkPipelineExecutablePropertiesKHR* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPipelineExecutableStatisticsKHR( | 
 |     VkDevice device, | 
 |         const VkPipelineExecutableInfoKHR* pExecutableInfo, | 
 |         uint32_t* pStatisticCount, | 
 |         VkPipelineExecutableStatisticKHR* pStatistics, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPipelineExecutableInternalRepresentationsKHR( | 
 |     VkDevice device, | 
 |         const VkPipelineExecutableInfoKHR* pExecutableInfo, | 
 |         uint32_t* pInternalRepresentationCount, | 
 |         VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_pipeline_library | 
 | #endif | 
 | #ifdef VK_KHR_shader_non_semantic_info | 
 | #endif | 
 | #ifdef VK_KHR_copy_commands2 | 
 |     void vkCmdCopyBuffer2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyBufferInfo2KHR* pCopyBufferInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyImage2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyImageInfo2KHR* pCopyImageInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyBufferToImage2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyImageToBuffer2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdBlitImage2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkBlitImageInfo2KHR* pBlitImageInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdResolveImage2KHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkResolveImageInfo2KHR* pResolveImageInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_ANDROID_native_buffer | 
 |     VkResult vkGetSwapchainGrallocUsageANDROID( | 
 |     VkDevice device, | 
 |         VkFormat format, | 
 |         VkImageUsageFlags imageUsage, | 
 |         int* grallocUsage, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquireImageANDROID( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         int nativeFenceFd, | 
 |         VkSemaphore semaphore, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueueSignalReleaseImageANDROID( | 
 |     VkQueue queue, | 
 |         uint32_t waitSemaphoreCount, | 
 |         const VkSemaphore* pWaitSemaphores, | 
 |         VkImage image, | 
 |         int* pNativeFenceFd, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_debug_report | 
 |     VkResult vkCreateDebugReportCallbackEXT( | 
 |     VkInstance instance, | 
 |         const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDebugReportCallbackEXT* pCallback, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDebugReportCallbackEXT( | 
 |     VkInstance instance, | 
 |         VkDebugReportCallbackEXT callback, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkDebugReportMessageEXT( | 
 |     VkInstance instance, | 
 |         VkDebugReportFlagsEXT flags, | 
 |         VkDebugReportObjectTypeEXT objectType, | 
 |         uint64_t object, | 
 |         size_t location, | 
 |         int32_t messageCode, | 
 |         const char* pLayerPrefix, | 
 |         const char* pMessage, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_glsl_shader | 
 | #endif | 
 | #ifdef VK_EXT_depth_range_unrestricted | 
 | #endif | 
 | #ifdef VK_IMG_filter_cubic | 
 | #endif | 
 | #ifdef VK_AMD_rasterization_order | 
 | #endif | 
 | #ifdef VK_AMD_shader_trinary_minmax | 
 | #endif | 
 | #ifdef VK_AMD_shader_explicit_vertex_parameter | 
 | #endif | 
 | #ifdef VK_EXT_debug_marker | 
 |     VkResult vkDebugMarkerSetObjectTagEXT( | 
 |     VkDevice device, | 
 |         const VkDebugMarkerObjectTagInfoEXT* pTagInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkDebugMarkerSetObjectNameEXT( | 
 |     VkDevice device, | 
 |         const VkDebugMarkerObjectNameInfoEXT* pNameInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdDebugMarkerBeginEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkDebugMarkerMarkerInfoEXT* pMarkerInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdDebugMarkerEndEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 |     void vkCmdDebugMarkerInsertEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkDebugMarkerMarkerInfoEXT* pMarkerInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_gcn_shader | 
 | #endif | 
 | #ifdef VK_NV_dedicated_allocation | 
 | #endif | 
 | #ifdef VK_EXT_transform_feedback | 
 |     void vkCmdBindTransformFeedbackBuffersEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstBinding, | 
 |         uint32_t bindingCount, | 
 |         const VkBuffer* pBuffers, | 
 |         const VkDeviceSize* pOffsets, | 
 |         const VkDeviceSize* pSizes, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginTransformFeedbackEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstCounterBuffer, | 
 |         uint32_t counterBufferCount, | 
 |         const VkBuffer* pCounterBuffers, | 
 |         const VkDeviceSize* pCounterBufferOffsets, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndTransformFeedbackEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstCounterBuffer, | 
 |         uint32_t counterBufferCount, | 
 |         const VkBuffer* pCounterBuffers, | 
 |         const VkDeviceSize* pCounterBufferOffsets, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginQueryIndexedEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t query, | 
 |         VkQueryControlFlags flags, | 
 |         uint32_t index, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndQueryIndexedEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t query, | 
 |         uint32_t index, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndirectByteCountEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t instanceCount, | 
 |         uint32_t firstInstance, | 
 |         VkBuffer counterBuffer, | 
 |         VkDeviceSize counterBufferOffset, | 
 |         uint32_t counterOffset, | 
 |         uint32_t vertexStride, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NVX_image_view_handle | 
 |     uint32_t vkGetImageViewHandleNVX( | 
 |     VkDevice device, | 
 |         const VkImageViewHandleInfoNVX* pInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetImageViewAddressNVX( | 
 |     VkDevice device, | 
 |         VkImageView imageView, | 
 |         VkImageViewAddressPropertiesNVX* pProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_draw_indirect_count | 
 |     void vkCmdDrawIndirectCountAMD( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawIndexedIndirectCountAMD( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_negative_viewport_height | 
 | #endif | 
 | #ifdef VK_AMD_gpu_shader_half_float | 
 | #endif | 
 | #ifdef VK_AMD_shader_ballot | 
 | #endif | 
 | #ifdef VK_AMD_texture_gather_bias_lod | 
 | #endif | 
 | #ifdef VK_AMD_shader_info | 
 |     VkResult vkGetShaderInfoAMD( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         VkShaderStageFlagBits shaderStage, | 
 |         VkShaderInfoTypeAMD infoType, | 
 |         size_t* pInfoSize, | 
 |         void* pInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_shader_image_load_store_lod | 
 | #endif | 
 | #ifdef VK_GGP_stream_descriptor_surface | 
 |     VkResult vkCreateStreamDescriptorSurfaceGGP( | 
 |     VkInstance instance, | 
 |         const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_corner_sampled_image | 
 | #endif | 
 | #ifdef VK_IMG_format_pvrtc | 
 | #endif | 
 | #ifdef VK_NV_external_memory_capabilities | 
 |     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkFormat format, | 
 |         VkImageType type, | 
 |         VkImageTiling tiling, | 
 |         VkImageUsageFlags usage, | 
 |         VkImageCreateFlags flags, | 
 |         VkExternalMemoryHandleTypeFlagsNV externalHandleType, | 
 |         VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_external_memory | 
 | #endif | 
 | #ifdef VK_NV_external_memory_win32 | 
 |     VkResult vkGetMemoryWin32HandleNV( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         VkExternalMemoryHandleTypeFlagsNV handleType, | 
 |         HANDLE* pHandle, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_win32_keyed_mutex | 
 | #endif | 
 | #ifdef VK_EXT_validation_flags | 
 | #endif | 
 | #ifdef VK_NN_vi_surface | 
 |     VkResult vkCreateViSurfaceNN( | 
 |     VkInstance instance, | 
 |         const VkViSurfaceCreateInfoNN* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_shader_subgroup_ballot | 
 | #endif | 
 | #ifdef VK_EXT_shader_subgroup_vote | 
 | #endif | 
 | #ifdef VK_EXT_texture_compression_astc_hdr | 
 | #endif | 
 | #ifdef VK_EXT_astc_decode_mode | 
 | #endif | 
 | #ifdef VK_EXT_conditional_rendering | 
 |     void vkCmdBeginConditionalRenderingEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkConditionalRenderingBeginInfoEXT* pConditionalRenderingBegin, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndConditionalRenderingEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_clip_space_w_scaling | 
 |     void vkCmdSetViewportWScalingNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstViewport, | 
 |         uint32_t viewportCount, | 
 |         const VkViewportWScalingNV* pViewportWScalings, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_direct_mode_display | 
 |     VkResult vkReleaseDisplayEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkDisplayKHR display, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_acquire_xlib_display | 
 |     VkResult vkAcquireXlibDisplayEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         Display* dpy, | 
 |         VkDisplayKHR display, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetRandROutputDisplayEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         Display* dpy, | 
 |         RROutput rrOutput, | 
 |         VkDisplayKHR* pDisplay, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_display_surface_counter | 
 |     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSurfaceKHR surface, | 
 |         VkSurfaceCapabilities2EXT* pSurfaceCapabilities, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_display_control | 
 |     VkResult vkDisplayPowerControlEXT( | 
 |     VkDevice device, | 
 |         VkDisplayKHR display, | 
 |         const VkDisplayPowerInfoEXT* pDisplayPowerInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkRegisterDeviceEventEXT( | 
 |     VkDevice device, | 
 |         const VkDeviceEventInfoEXT* pDeviceEventInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkFence* pFence, | 
 |         uint32_t doLock); | 
 |     VkResult vkRegisterDisplayEventEXT( | 
 |     VkDevice device, | 
 |         VkDisplayKHR display, | 
 |         const VkDisplayEventInfoEXT* pDisplayEventInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkFence* pFence, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetSwapchainCounterEXT( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         VkSurfaceCounterFlagBitsEXT counter, | 
 |         uint64_t* pCounterValue, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_GOOGLE_display_timing | 
 |     VkResult vkGetRefreshCycleDurationGOOGLE( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPastPresentationTimingGOOGLE( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint32_t* pPresentationTimingCount, | 
 |         VkPastPresentationTimingGOOGLE* pPresentationTimings, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_sample_mask_override_coverage | 
 | #endif | 
 | #ifdef VK_NV_geometry_shader_passthrough | 
 | #endif | 
 | #ifdef VK_NV_viewport_array2 | 
 | #endif | 
 | #ifdef VK_NVX_multiview_per_view_attributes | 
 | #endif | 
 | #ifdef VK_NV_viewport_swizzle | 
 | #endif | 
 | #ifdef VK_EXT_discard_rectangles | 
 |     void vkCmdSetDiscardRectangleEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstDiscardRectangle, | 
 |         uint32_t discardRectangleCount, | 
 |         const VkRect2D* pDiscardRectangles, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_conservative_rasterization | 
 | #endif | 
 | #ifdef VK_EXT_depth_clip_enable | 
 | #endif | 
 | #ifdef VK_EXT_swapchain_colorspace | 
 | #endif | 
 | #ifdef VK_EXT_hdr_metadata | 
 |     void vkSetHdrMetadataEXT( | 
 |     VkDevice device, | 
 |         uint32_t swapchainCount, | 
 |         const VkSwapchainKHR* pSwapchains, | 
 |         const VkHdrMetadataEXT* pMetadata, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_MVK_ios_surface | 
 |     VkResult vkCreateIOSSurfaceMVK( | 
 |     VkInstance instance, | 
 |         const VkIOSSurfaceCreateInfoMVK* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_MVK_macos_surface | 
 |     VkResult vkCreateMacOSSurfaceMVK( | 
 |     VkInstance instance, | 
 |         const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_MVK_moltenvk | 
 |     void vkGetMTLDeviceMVK( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         void** pMTLDevice, | 
 |         uint32_t doLock); | 
 |     VkResult vkSetMTLTextureMVK( | 
 |     VkImage image, | 
 |         void* mtlTexture, | 
 |         uint32_t doLock); | 
 |     void vkGetMTLTextureMVK( | 
 |     VkImage image, | 
 |         void** pMTLTexture, | 
 |         uint32_t doLock); | 
 |     void vkGetMTLBufferMVK( | 
 |     VkBuffer buffer, | 
 |         void** pMTLBuffer, | 
 |         uint32_t doLock); | 
 |     VkResult vkUseIOSurfaceMVK( | 
 |     VkImage image, | 
 |         void* ioSurface, | 
 |         uint32_t doLock); | 
 |     void vkGetIOSurfaceMVK( | 
 |     VkImage image, | 
 |         void** pIOSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_external_memory_dma_buf | 
 | #endif | 
 | #ifdef VK_EXT_queue_family_foreign | 
 | #endif | 
 | #ifdef VK_EXT_debug_utils | 
 |     VkResult vkSetDebugUtilsObjectNameEXT( | 
 |     VkDevice device, | 
 |         const VkDebugUtilsObjectNameInfoEXT* pNameInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkSetDebugUtilsObjectTagEXT( | 
 |     VkDevice device, | 
 |         const VkDebugUtilsObjectTagInfoEXT* pTagInfo, | 
 |         uint32_t doLock); | 
 |     void vkQueueBeginDebugUtilsLabelEXT( | 
 |     VkQueue queue, | 
 |         const VkDebugUtilsLabelEXT* pLabelInfo, | 
 |         uint32_t doLock); | 
 |     void vkQueueEndDebugUtilsLabelEXT( | 
 |     VkQueue queue, | 
 |         uint32_t doLock); | 
 |     void vkQueueInsertDebugUtilsLabelEXT( | 
 |     VkQueue queue, | 
 |         const VkDebugUtilsLabelEXT* pLabelInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdBeginDebugUtilsLabelEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkDebugUtilsLabelEXT* pLabelInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdEndDebugUtilsLabelEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 |     void vkCmdInsertDebugUtilsLabelEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkDebugUtilsLabelEXT* pLabelInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateDebugUtilsMessengerEXT( | 
 |     VkInstance instance, | 
 |         const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkDebugUtilsMessengerEXT* pMessenger, | 
 |         uint32_t doLock); | 
 |     void vkDestroyDebugUtilsMessengerEXT( | 
 |     VkInstance instance, | 
 |         VkDebugUtilsMessengerEXT messenger, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkSubmitDebugUtilsMessageEXT( | 
 |     VkInstance instance, | 
 |         VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, | 
 |         VkDebugUtilsMessageTypeFlagsEXT messageTypes, | 
 |         const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_ANDROID_external_memory_android_hardware_buffer | 
 |     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( | 
 |     VkDevice device, | 
 |         const AHardwareBuffer* buffer, | 
 |         VkAndroidHardwareBufferPropertiesANDROID* pProperties, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetMemoryAndroidHardwareBufferANDROID( | 
 |     VkDevice device, | 
 |         const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, | 
 |         AHardwareBuffer** pBuffer, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_sampler_filter_minmax | 
 | #endif | 
 | #ifdef VK_AMD_gpu_shader_int16 | 
 | #endif | 
 | #ifdef VK_AMD_mixed_attachment_samples | 
 | #endif | 
 | #ifdef VK_AMD_shader_fragment_mask | 
 | #endif | 
 | #ifdef VK_EXT_inline_uniform_block | 
 | #endif | 
 | #ifdef VK_EXT_shader_stencil_export | 
 | #endif | 
 | #ifdef VK_EXT_sample_locations | 
 |     void vkCmdSetSampleLocationsEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkSampleLocationsInfoEXT* pSampleLocationsInfo, | 
 |         uint32_t doLock); | 
 |     void vkGetPhysicalDeviceMultisamplePropertiesEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         VkSampleCountFlagBits samples, | 
 |         VkMultisamplePropertiesEXT* pMultisampleProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_blend_operation_advanced | 
 | #endif | 
 | #ifdef VK_NV_fragment_coverage_to_color | 
 | #endif | 
 | #ifdef VK_NV_framebuffer_mixed_samples | 
 | #endif | 
 | #ifdef VK_NV_fill_rectangle | 
 | #endif | 
 | #ifdef VK_NV_shader_sm_builtins | 
 | #endif | 
 | #ifdef VK_EXT_post_depth_coverage | 
 | #endif | 
 | #ifdef VK_EXT_image_drm_format_modifier | 
 |     VkResult vkGetImageDrmFormatModifierPropertiesEXT( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         VkImageDrmFormatModifierPropertiesEXT* pProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_validation_cache | 
 |     VkResult vkCreateValidationCacheEXT( | 
 |     VkDevice device, | 
 |         const VkValidationCacheCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkValidationCacheEXT* pValidationCache, | 
 |         uint32_t doLock); | 
 |     void vkDestroyValidationCacheEXT( | 
 |     VkDevice device, | 
 |         VkValidationCacheEXT validationCache, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkMergeValidationCachesEXT( | 
 |     VkDevice device, | 
 |         VkValidationCacheEXT dstCache, | 
 |         uint32_t srcCacheCount, | 
 |         const VkValidationCacheEXT* pSrcCaches, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetValidationCacheDataEXT( | 
 |     VkDevice device, | 
 |         VkValidationCacheEXT validationCache, | 
 |         size_t* pDataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_descriptor_indexing | 
 | #endif | 
 | #ifdef VK_EXT_shader_viewport_index_layer | 
 | #endif | 
 | #ifdef VK_NV_shading_rate_image | 
 |     void vkCmdBindShadingRateImageNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkImageView imageView, | 
 |         VkImageLayout imageLayout, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetViewportShadingRatePaletteNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstViewport, | 
 |         uint32_t viewportCount, | 
 |         const VkShadingRatePaletteNV* pShadingRatePalettes, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetCoarseSampleOrderNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkCoarseSampleOrderTypeNV sampleOrderType, | 
 |         uint32_t customSampleOrderCount, | 
 |         const VkCoarseSampleOrderCustomNV* pCustomSampleOrders, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_ray_tracing | 
 |     VkResult vkCreateAccelerationStructureNV( | 
 |     VkDevice device, | 
 |         const VkAccelerationStructureCreateInfoNV* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkAccelerationStructureNV* pAccelerationStructure, | 
 |         uint32_t doLock); | 
 |     void vkDestroyAccelerationStructureNV( | 
 |     VkDevice device, | 
 |         VkAccelerationStructureNV accelerationStructure, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkGetAccelerationStructureMemoryRequirementsNV( | 
 |     VkDevice device, | 
 |         const VkAccelerationStructureMemoryRequirementsInfoNV* pInfo, | 
 |         VkMemoryRequirements2KHR* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     VkResult vkBindAccelerationStructureMemoryNV( | 
 |     VkDevice device, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindAccelerationStructureMemoryInfoNV* pBindInfos, | 
 |         uint32_t doLock); | 
 |     void vkCmdBuildAccelerationStructureNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkAccelerationStructureInfoNV* pInfo, | 
 |         VkBuffer instanceData, | 
 |         VkDeviceSize instanceOffset, | 
 |         VkBool32 update, | 
 |         VkAccelerationStructureNV dst, | 
 |         VkAccelerationStructureNV src, | 
 |         VkBuffer scratch, | 
 |         VkDeviceSize scratchOffset, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyAccelerationStructureNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkAccelerationStructureNV dst, | 
 |         VkAccelerationStructureNV src, | 
 |         VkCopyAccelerationStructureModeKHR mode, | 
 |         uint32_t doLock); | 
 |     void vkCmdTraceRaysNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer raygenShaderBindingTableBuffer, | 
 |         VkDeviceSize raygenShaderBindingOffset, | 
 |         VkBuffer missShaderBindingTableBuffer, | 
 |         VkDeviceSize missShaderBindingOffset, | 
 |         VkDeviceSize missShaderBindingStride, | 
 |         VkBuffer hitShaderBindingTableBuffer, | 
 |         VkDeviceSize hitShaderBindingOffset, | 
 |         VkDeviceSize hitShaderBindingStride, | 
 |         VkBuffer callableShaderBindingTableBuffer, | 
 |         VkDeviceSize callableShaderBindingOffset, | 
 |         VkDeviceSize callableShaderBindingStride, | 
 |         uint32_t width, | 
 |         uint32_t height, | 
 |         uint32_t depth, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateRayTracingPipelinesNV( | 
 |     VkDevice device, | 
 |         VkPipelineCache pipelineCache, | 
 |         uint32_t createInfoCount, | 
 |         const VkRayTracingPipelineCreateInfoNV* pCreateInfos, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipeline* pPipelines, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetRayTracingShaderGroupHandlesKHR( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         uint32_t firstGroup, | 
 |         uint32_t groupCount, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetRayTracingShaderGroupHandlesNV( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         uint32_t firstGroup, | 
 |         uint32_t groupCount, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetAccelerationStructureHandleNV( | 
 |     VkDevice device, | 
 |         VkAccelerationStructureNV accelerationStructure, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 |     void vkCmdWriteAccelerationStructuresPropertiesNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t accelerationStructureCount, | 
 |         const VkAccelerationStructureNV* pAccelerationStructures, | 
 |         VkQueryType queryType, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t doLock); | 
 |     VkResult vkCompileDeferredNV( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         uint32_t shader, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_representative_fragment_test | 
 | #endif | 
 | #ifdef VK_EXT_filter_cubic | 
 | #endif | 
 | #ifdef VK_QCOM_render_pass_shader_resolve | 
 | #endif | 
 | #ifdef VK_EXT_global_priority | 
 | #endif | 
 | #ifdef VK_EXT_external_memory_host | 
 |     VkResult vkGetMemoryHostPointerPropertiesEXT( | 
 |     VkDevice device, | 
 |         VkExternalMemoryHandleTypeFlagBits handleType, | 
 |         const void* pHostPointer, | 
 |         VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_buffer_marker | 
 |     void vkCmdWriteBufferMarkerAMD( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineStageFlagBits pipelineStage, | 
 |         VkBuffer dstBuffer, | 
 |         VkDeviceSize dstOffset, | 
 |         uint32_t marker, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_pipeline_compiler_control | 
 | #endif | 
 | #ifdef VK_EXT_calibrated_timestamps | 
 |     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pTimeDomainCount, | 
 |         VkTimeDomainEXT* pTimeDomains, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetCalibratedTimestampsEXT( | 
 |     VkDevice device, | 
 |         uint32_t timestampCount, | 
 |         const VkCalibratedTimestampInfoEXT* pTimestampInfos, | 
 |         uint64_t* pTimestamps, | 
 |         uint64_t* pMaxDeviation, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_AMD_shader_core_properties | 
 | #endif | 
 | #ifdef VK_AMD_memory_overallocation_behavior | 
 | #endif | 
 | #ifdef VK_EXT_vertex_attribute_divisor | 
 | #endif | 
 | #ifdef VK_GGP_frame_token | 
 | #endif | 
 | #ifdef VK_EXT_pipeline_creation_feedback | 
 | #endif | 
 | #ifdef VK_NV_shader_subgroup_partitioned | 
 | #endif | 
 | #ifdef VK_NV_compute_shader_derivatives | 
 | #endif | 
 | #ifdef VK_NV_mesh_shader | 
 |     void vkCmdDrawMeshTasksNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t taskCount, | 
 |         uint32_t firstTask, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawMeshTasksIndirectNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         uint32_t drawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdDrawMeshTasksIndirectCountNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBuffer buffer, | 
 |         VkDeviceSize offset, | 
 |         VkBuffer countBuffer, | 
 |         VkDeviceSize countBufferOffset, | 
 |         uint32_t maxDrawCount, | 
 |         uint32_t stride, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_fragment_shader_barycentric | 
 | #endif | 
 | #ifdef VK_NV_shader_image_footprint | 
 | #endif | 
 | #ifdef VK_NV_scissor_exclusive | 
 |     void vkCmdSetExclusiveScissorNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstExclusiveScissor, | 
 |         uint32_t exclusiveScissorCount, | 
 |         const VkRect2D* pExclusiveScissors, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_device_diagnostic_checkpoints | 
 |     void vkCmdSetCheckpointNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const void* pCheckpointMarker, | 
 |         uint32_t doLock); | 
 |     void vkGetQueueCheckpointDataNV( | 
 |     VkQueue queue, | 
 |         uint32_t* pCheckpointDataCount, | 
 |         VkCheckpointDataNV* pCheckpointData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_INTEL_shader_integer_functions2 | 
 | #endif | 
 | #ifdef VK_INTEL_performance_query | 
 |     VkResult vkInitializePerformanceApiINTEL( | 
 |     VkDevice device, | 
 |         const VkInitializePerformanceApiInfoINTEL* pInitializeInfo, | 
 |         uint32_t doLock); | 
 |     void vkUninitializePerformanceApiINTEL( | 
 |     VkDevice device, | 
 |         uint32_t doLock); | 
 |     VkResult vkCmdSetPerformanceMarkerINTEL( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkPerformanceMarkerInfoINTEL* pMarkerInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkCmdSetPerformanceStreamMarkerINTEL( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkPerformanceStreamMarkerInfoINTEL* pMarkerInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkCmdSetPerformanceOverrideINTEL( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkPerformanceOverrideInfoINTEL* pOverrideInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquirePerformanceConfigurationINTEL( | 
 |     VkDevice device, | 
 |         const VkPerformanceConfigurationAcquireInfoINTEL* pAcquireInfo, | 
 |         VkPerformanceConfigurationINTEL* pConfiguration, | 
 |         uint32_t doLock); | 
 |     VkResult vkReleasePerformanceConfigurationINTEL( | 
 |     VkDevice device, | 
 |         VkPerformanceConfigurationINTEL configuration, | 
 |         uint32_t doLock); | 
 |     VkResult vkQueueSetPerformanceConfigurationINTEL( | 
 |     VkQueue queue, | 
 |         VkPerformanceConfigurationINTEL configuration, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetPerformanceParameterINTEL( | 
 |     VkDevice device, | 
 |         VkPerformanceParameterTypeINTEL parameter, | 
 |         VkPerformanceValueINTEL* pValue, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_pci_bus_info | 
 | #endif | 
 | #ifdef VK_AMD_display_native_hdr | 
 |     void vkSetLocalDimmingAMD( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapChain, | 
 |         VkBool32 localDimmingEnable, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_FUCHSIA_imagepipe_surface | 
 |     VkResult vkCreateImagePipeSurfaceFUCHSIA( | 
 |     VkInstance instance, | 
 |         const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_metal_surface | 
 |     VkResult vkCreateMetalSurfaceEXT( | 
 |     VkInstance instance, | 
 |         const VkMetalSurfaceCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_GOOGLE_color_buffer | 
 |     VkResult vkRegisterImageColorBufferGOOGLE( | 
 |     VkDevice device, | 
 |         VkImage image, | 
 |         uint32_t colorBuffer, | 
 |         uint32_t doLock); | 
 |     VkResult vkRegisterBufferColorBufferGOOGLE( | 
 |     VkDevice device, | 
 |         VkBuffer buffer, | 
 |         uint32_t colorBuffer, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_scalar_block_layout | 
 | #endif | 
 | #ifdef VK_GOOGLE_hlsl_functionality1 | 
 | #endif | 
 | #ifdef VK_GOOGLE_decorate_string | 
 | #endif | 
 | #ifdef VK_EXT_subgroup_size_control | 
 | #endif | 
 | #ifdef VK_AMD_shader_core_properties2 | 
 | #endif | 
 | #ifdef VK_AMD_device_coherent_memory | 
 | #endif | 
 | #ifdef VK_EXT_shader_image_atomic_int64 | 
 | #endif | 
 | #ifdef VK_EXT_memory_budget | 
 | #endif | 
 | #ifdef VK_EXT_memory_priority | 
 | #endif | 
 | #ifdef VK_NV_dedicated_allocation_image_aliasing | 
 | #endif | 
 | #ifdef VK_EXT_buffer_device_address | 
 |     VkDeviceAddress vkGetBufferDeviceAddressEXT( | 
 |     VkDevice device, | 
 |         const VkBufferDeviceAddressInfo* pInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_tooling_info | 
 |     VkResult vkGetPhysicalDeviceToolPropertiesEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pToolCount, | 
 |         VkPhysicalDeviceToolPropertiesEXT* pToolProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_separate_stencil_usage | 
 | #endif | 
 | #ifdef VK_EXT_validation_features | 
 | #endif | 
 | #ifdef VK_NV_cooperative_matrix | 
 |     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pPropertyCount, | 
 |         VkCooperativeMatrixPropertiesNV* pProperties, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_NV_coverage_reduction_mode | 
 |     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t* pCombinationCount, | 
 |         VkFramebufferMixedSamplesCombinationNV* pCombinations, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_fragment_shader_interlock | 
 | #endif | 
 | #ifdef VK_EXT_ycbcr_image_arrays | 
 | #endif | 
 | #ifdef VK_EXT_full_screen_exclusive | 
 |     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | 
 |         uint32_t* pPresentModeCount, | 
 |         VkPresentModeKHR* pPresentModes, | 
 |         uint32_t doLock); | 
 |     VkResult vkAcquireFullScreenExclusiveModeEXT( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint32_t doLock); | 
 |     VkResult vkReleaseFullScreenExclusiveModeEXT( | 
 |     VkDevice device, | 
 |         VkSwapchainKHR swapchain, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetDeviceGroupSurfacePresentModes2EXT( | 
 |     VkDevice device, | 
 |         const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, | 
 |         VkDeviceGroupPresentModeFlagsKHR* pModes, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_headless_surface | 
 |     VkResult vkCreateHeadlessSurfaceEXT( | 
 |     VkInstance instance, | 
 |         const VkHeadlessSurfaceCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_line_rasterization | 
 |     void vkCmdSetLineStippleEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t lineStippleFactor, | 
 |         uint16_t lineStipplePattern, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_shader_atomic_float | 
 | #endif | 
 | #ifdef VK_EXT_host_query_reset | 
 |     void vkResetQueryPoolEXT( | 
 |     VkDevice device, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t queryCount, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_index_type_uint8 | 
 | #endif | 
 | #ifdef VK_EXT_extended_dynamic_state | 
 |     void vkCmdSetCullModeEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkCullModeFlags cullMode, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetFrontFaceEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkFrontFace frontFace, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetPrimitiveTopologyEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPrimitiveTopology primitiveTopology, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetViewportWithCountEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t viewportCount, | 
 |         const VkViewport* pViewports, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetScissorWithCountEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t scissorCount, | 
 |         const VkRect2D* pScissors, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindVertexBuffers2EXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t firstBinding, | 
 |         uint32_t bindingCount, | 
 |         const VkBuffer* pBuffers, | 
 |         const VkDeviceSize* pOffsets, | 
 |         const VkDeviceSize* pSizes, | 
 |         const VkDeviceSize* pStrides, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthTestEnableEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBool32 depthTestEnable, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthWriteEnableEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBool32 depthWriteEnable, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthCompareOpEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkCompareOp depthCompareOp, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetDepthBoundsTestEnableEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBool32 depthBoundsTestEnable, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetStencilTestEnableEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBool32 stencilTestEnable, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetStencilOpEXT( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkStencilFaceFlags faceMask, | 
 |         VkStencilOp failOp, | 
 |         VkStencilOp passOp, | 
 |         VkStencilOp depthFailOp, | 
 |         VkCompareOp compareOp, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_shader_demote_to_helper_invocation | 
 | #endif | 
 | #ifdef VK_NV_device_generated_commands | 
 |     void vkGetGeneratedCommandsMemoryRequirementsNV( | 
 |     VkDevice device, | 
 |         const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, | 
 |         VkMemoryRequirements2* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     void vkCmdPreprocessGeneratedCommandsNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdExecuteGeneratedCommandsNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkBool32 isPreprocessed, | 
 |         const VkGeneratedCommandsInfoNV* pGeneratedCommandsInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdBindPipelineShaderGroupNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkPipelineBindPoint pipelineBindPoint, | 
 |         VkPipeline pipeline, | 
 |         uint32_t groupIndex, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateIndirectCommandsLayoutNV( | 
 |     VkDevice device, | 
 |         const VkIndirectCommandsLayoutCreateInfoNV* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkIndirectCommandsLayoutNV* pIndirectCommandsLayout, | 
 |         uint32_t doLock); | 
 |     void vkDestroyIndirectCommandsLayoutNV( | 
 |     VkDevice device, | 
 |         VkIndirectCommandsLayoutNV indirectCommandsLayout, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_texel_buffer_alignment | 
 | #endif | 
 | #ifdef VK_QCOM_render_pass_transform | 
 | #endif | 
 | #ifdef VK_EXT_device_memory_report | 
 | #endif | 
 | #ifdef VK_EXT_robustness2 | 
 | #endif | 
 | #ifdef VK_EXT_custom_border_color | 
 | #endif | 
 | #ifdef VK_GOOGLE_user_type | 
 | #endif | 
 | #ifdef VK_EXT_private_data | 
 |     VkResult vkCreatePrivateDataSlotEXT( | 
 |     VkDevice device, | 
 |         const VkPrivateDataSlotCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPrivateDataSlotEXT* pPrivateDataSlot, | 
 |         uint32_t doLock); | 
 |     void vkDestroyPrivateDataSlotEXT( | 
 |     VkDevice device, | 
 |         VkPrivateDataSlotEXT privateDataSlot, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     VkResult vkSetPrivateDataEXT( | 
 |     VkDevice device, | 
 |         VkObjectType objectType, | 
 |         uint64_t objectHandle, | 
 |         VkPrivateDataSlotEXT privateDataSlot, | 
 |         uint64_t data, | 
 |         uint32_t doLock); | 
 |     void vkGetPrivateDataEXT( | 
 |     VkDevice device, | 
 |         VkObjectType objectType, | 
 |         uint64_t objectHandle, | 
 |         VkPrivateDataSlotEXT privateDataSlot, | 
 |         uint64_t* pData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_pipeline_creation_cache_control | 
 | #endif | 
 | #ifdef VK_NV_device_diagnostics_config | 
 | #endif | 
 | #ifdef VK_QCOM_render_pass_store_ops | 
 | #endif | 
 | #ifdef VK_NV_fragment_shading_rate_enums | 
 |     void vkCmdSetFragmentShadingRateEnumNV( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkFragmentShadingRateNV shadingRate, | 
 |         const VkFragmentShadingRateCombinerOpKHR combinerOps[2], | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_EXT_fragment_density_map2 | 
 | #endif | 
 | #ifdef VK_QCOM_rotated_copy_commands | 
 | #endif | 
 | #ifdef VK_EXT_image_robustness | 
 | #endif | 
 | #ifdef VK_EXT_4444_formats | 
 | #endif | 
 | #ifdef VK_EXT_directfb_surface | 
 |     VkResult vkCreateDirectFBSurfaceEXT( | 
 |     VkInstance instance, | 
 |         const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkSurfaceKHR* pSurface, | 
 |         uint32_t doLock); | 
 |     VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( | 
 |     VkPhysicalDevice physicalDevice, | 
 |         uint32_t queueFamilyIndex, | 
 |         IDirectFB* dfb, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_GOOGLE_gfxstream | 
 |     VkResult vkMapMemoryIntoAddressSpaceGOOGLE( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         uint64_t* pAddress, | 
 |         uint32_t doLock); | 
 |     void vkUpdateDescriptorSetWithTemplateSizedGOOGLE( | 
 |     VkDevice device, | 
 |         VkDescriptorSet descriptorSet, | 
 |         VkDescriptorUpdateTemplate descriptorUpdateTemplate, | 
 |         uint32_t imageInfoCount, | 
 |         uint32_t bufferInfoCount, | 
 |         uint32_t bufferViewCount, | 
 |         const uint32_t* pImageInfoEntryIndices, | 
 |         const uint32_t* pBufferInfoEntryIndices, | 
 |         const uint32_t* pBufferViewEntryIndices, | 
 |         const VkDescriptorImageInfo* pImageInfos, | 
 |         const VkDescriptorBufferInfo* pBufferInfos, | 
 |         const VkBufferView* pBufferViews, | 
 |         uint32_t doLock); | 
 |     void vkBeginCommandBufferAsyncGOOGLE( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCommandBufferBeginInfo* pBeginInfo, | 
 |         uint32_t doLock); | 
 |     void vkEndCommandBufferAsyncGOOGLE( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t doLock); | 
 |     void vkResetCommandBufferAsyncGOOGLE( | 
 |     VkCommandBuffer commandBuffer, | 
 |         VkCommandBufferResetFlags flags, | 
 |         uint32_t doLock); | 
 |     void vkCommandBufferHostSyncGOOGLE( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t needHostSync, | 
 |         uint32_t sequenceNumber, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateImageWithRequirementsGOOGLE( | 
 |     VkDevice device, | 
 |         const VkImageCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkImage* pImage, | 
 |         VkMemoryRequirements* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateBufferWithRequirementsGOOGLE( | 
 |     VkDevice device, | 
 |         const VkBufferCreateInfo* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkBuffer* pBuffer, | 
 |         VkMemoryRequirements* pMemoryRequirements, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetMemoryHostAddressInfoGOOGLE( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         uint64_t* pAddress, | 
 |         uint64_t* pSize, | 
 |         uint64_t* pHostmemId, | 
 |         uint32_t doLock); | 
 |     VkResult vkFreeMemorySyncGOOGLE( | 
 |     VkDevice device, | 
 |         VkDeviceMemory memory, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkQueueHostSyncGOOGLE( | 
 |     VkQueue queue, | 
 |         uint32_t needHostSync, | 
 |         uint32_t sequenceNumber, | 
 |         uint32_t doLock); | 
 |     void vkQueueSubmitAsyncGOOGLE( | 
 |     VkQueue queue, | 
 |         uint32_t submitCount, | 
 |         const VkSubmitInfo* pSubmits, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     void vkQueueWaitIdleAsyncGOOGLE( | 
 |     VkQueue queue, | 
 |         uint32_t doLock); | 
 |     void vkQueueBindSparseAsyncGOOGLE( | 
 |     VkQueue queue, | 
 |         uint32_t bindInfoCount, | 
 |         const VkBindSparseInfo* pBindInfo, | 
 |         VkFence fence, | 
 |         uint32_t doLock); | 
 |     void vkGetLinearImageLayoutGOOGLE( | 
 |     VkDevice device, | 
 |         VkFormat format, | 
 |         VkDeviceSize* pOffset, | 
 |         VkDeviceSize* pRowPitchAlignment, | 
 |         uint32_t doLock); | 
 |     void vkQueueFlushCommandsGOOGLE( | 
 |     VkQueue queue, | 
 |         VkCommandBuffer commandBuffer, | 
 |         VkDeviceSize dataSize, | 
 |         const void* pData, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_acceleration_structure | 
 |     VkResult vkCreateAccelerationStructureKHR( | 
 |     VkDevice device, | 
 |         const VkAccelerationStructureCreateInfoKHR* pCreateInfo, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkAccelerationStructureKHR* pAccelerationStructure, | 
 |         uint32_t doLock); | 
 |     void vkDestroyAccelerationStructureKHR( | 
 |     VkDevice device, | 
 |         VkAccelerationStructureKHR accelerationStructure, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         uint32_t doLock); | 
 |     void vkCmdBuildAccelerationStructuresKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t infoCount, | 
 |         const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, | 
 |         const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos, | 
 |         uint32_t doLock); | 
 |     void vkCmdBuildAccelerationStructuresIndirectKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t infoCount, | 
 |         const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, | 
 |         const VkDeviceAddress* pIndirectDeviceAddresses, | 
 |         const uint32_t* pIndirectStrides, | 
 |         const uint32_t* const* ppMaxPrimitiveCounts, | 
 |         uint32_t doLock); | 
 |     VkResult vkBuildAccelerationStructuresKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR deferredOperation, | 
 |         uint32_t infoCount, | 
 |         const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, | 
 |         const VkAccelerationStructureBuildRangeInfoKHR* const* ppBuildRangeInfos, | 
 |         uint32_t doLock); | 
 |     VkResult vkCopyAccelerationStructureKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR deferredOperation, | 
 |         const VkCopyAccelerationStructureInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkCopyAccelerationStructureToMemoryKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR deferredOperation, | 
 |         const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkCopyMemoryToAccelerationStructureKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR deferredOperation, | 
 |         const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     VkResult vkWriteAccelerationStructuresPropertiesKHR( | 
 |     VkDevice device, | 
 |         uint32_t accelerationStructureCount, | 
 |         const VkAccelerationStructureKHR* pAccelerationStructures, | 
 |         VkQueryType queryType, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         size_t stride, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyAccelerationStructureKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyAccelerationStructureInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyAccelerationStructureToMemoryKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdCopyMemoryToAccelerationStructureKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( | 
 |     VkDevice device, | 
 |         const VkAccelerationStructureDeviceAddressInfoKHR* pInfo, | 
 |         uint32_t doLock); | 
 |     void vkCmdWriteAccelerationStructuresPropertiesKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t accelerationStructureCount, | 
 |         const VkAccelerationStructureKHR* pAccelerationStructures, | 
 |         VkQueryType queryType, | 
 |         VkQueryPool queryPool, | 
 |         uint32_t firstQuery, | 
 |         uint32_t doLock); | 
 |     void vkGetDeviceAccelerationStructureCompatibilityKHR( | 
 |     VkDevice device, | 
 |         const VkAccelerationStructureVersionInfoKHR* pVersionInfo, | 
 |         VkAccelerationStructureCompatibilityKHR* pCompatibility, | 
 |         uint32_t doLock); | 
 |     void vkGetAccelerationStructureBuildSizesKHR( | 
 |     VkDevice device, | 
 |         VkAccelerationStructureBuildTypeKHR buildType, | 
 |         const VkAccelerationStructureBuildGeometryInfoKHR* pBuildInfo, | 
 |         const uint32_t* pMaxPrimitiveCounts, | 
 |         VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_ray_tracing_pipeline | 
 |     void vkCmdTraceRaysKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, | 
 |         uint32_t width, | 
 |         uint32_t height, | 
 |         uint32_t depth, | 
 |         uint32_t doLock); | 
 |     VkResult vkCreateRayTracingPipelinesKHR( | 
 |     VkDevice device, | 
 |         VkDeferredOperationKHR deferredOperation, | 
 |         VkPipelineCache pipelineCache, | 
 |         uint32_t createInfoCount, | 
 |         const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, | 
 |         const VkAllocationCallbacks* pAllocator, | 
 |         VkPipeline* pPipelines, | 
 |         uint32_t doLock); | 
 |     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         uint32_t firstGroup, | 
 |         uint32_t groupCount, | 
 |         size_t dataSize, | 
 |         void* pData, | 
 |         uint32_t doLock); | 
 |     void vkCmdTraceRaysIndirectKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         const VkStridedDeviceAddressRegionKHR* pRaygenShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pMissShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pHitShaderBindingTable, | 
 |         const VkStridedDeviceAddressRegionKHR* pCallableShaderBindingTable, | 
 |         VkDeviceAddress indirectDeviceAddress, | 
 |         uint32_t doLock); | 
 |     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( | 
 |     VkDevice device, | 
 |         VkPipeline pipeline, | 
 |         uint32_t group, | 
 |         VkShaderGroupShaderKHR groupShader, | 
 |         uint32_t doLock); | 
 |     void vkCmdSetRayTracingPipelineStackSizeKHR( | 
 |     VkCommandBuffer commandBuffer, | 
 |         uint32_t pipelineStackSize, | 
 |         uint32_t doLock); | 
 | #endif | 
 | #ifdef VK_KHR_ray_query | 
 | #endif | 
 |  | 
 | private: | 
 |     class Impl; | 
 |     std::unique_ptr<Impl> mImpl; | 
 | }; | 
 |  | 
 | } // namespace goldfish_vk |