[gobject-introspection] Add Vulkan gir



commit 2d87a1e2522629e15a26093e970246b66237ddfd
Author: Matthew Waters <matthew centricular com>
Date:   Fri May 3 15:37:46 2019 +1000

    Add Vulkan gir

 gir/Vulkan-1.0.gir        | 799 ++++++++++++++++++++++++++++++++++++++++++++++
 gir/meson.build           |   1 +
 misc/update-vulkan-gir.py |  52 +++
 3 files changed, 852 insertions(+)
---
diff --git a/gir/Vulkan-1.0.gir b/gir/Vulkan-1.0.gir
new file mode 100644
index 00000000..268a32fa
--- /dev/null
+++ b/gir/Vulkan-1.0.gir
@@ -0,0 +1,799 @@
+<?xml version="1.0"?>
+<repository version="1.2"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="Vulkan" version="1.0"
+            c:identifier-prefixes="VK"
+            c:symbol-prefixes="vk">
+<record name="Flags" c:type="VkFlags"/>
+<record name="Bool32" c:type="VkBool32"/>
+<record name="DeviceSize" c:type="VkDeviceSize"/>
+<record name="SampleMask" c:type="VkSampleMask"/>
+<record name="Instance" c:type="VkInstance"/>
+<record name="PhysicalDevice" c:type="VkPhysicalDevice"/>
+<record name="Device" c:type="VkDevice"/>
+<record name="Queue" c:type="VkQueue"/>
+<record name="Semaphore" c:type="VkSemaphore"/>
+<record name="CommandBuffer" c:type="VkCommandBuffer"/>
+<record name="Fence" c:type="VkFence"/>
+<record name="DeviceMemory" c:type="VkDeviceMemory"/>
+<record name="Buffer" c:type="VkBuffer"/>
+<record name="Image" c:type="VkImage"/>
+<record name="Event" c:type="VkEvent"/>
+<record name="QueryPool" c:type="VkQueryPool"/>
+<record name="BufferView" c:type="VkBufferView"/>
+<record name="ImageView" c:type="VkImageView"/>
+<record name="ShaderModule" c:type="VkShaderModule"/>
+<record name="PipelineCache" c:type="VkPipelineCache"/>
+<record name="PipelineLayout" c:type="VkPipelineLayout"/>
+<record name="RenderPass" c:type="VkRenderPass"/>
+<record name="Pipeline" c:type="VkPipeline"/>
+<record name="DescriptorSetLayout" c:type="VkDescriptorSetLayout"/>
+<record name="Sampler" c:type="VkSampler"/>
+<record name="DescriptorPool" c:type="VkDescriptorPool"/>
+<record name="DescriptorSet" c:type="VkDescriptorSet"/>
+<record name="Framebuffer" c:type="VkFramebuffer"/>
+<record name="CommandPool" c:type="VkCommandPool"/>
+<record name="PipelineCacheHeaderVersion" c:type="VkPipelineCacheHeaderVersion"/>
+<record name="Result" c:type="VkResult"/>
+<record name="StructureType" c:type="VkStructureType"/>
+<record name="SystemAllocationScope" c:type="VkSystemAllocationScope"/>
+<record name="InternalAllocationType" c:type="VkInternalAllocationType"/>
+<record name="Format" c:type="VkFormat"/>
+<record name="ImageType" c:type="VkImageType"/>
+<record name="ImageTiling" c:type="VkImageTiling"/>
+<record name="PhysicalDeviceType" c:type="VkPhysicalDeviceType"/>
+<record name="QueryType" c:type="VkQueryType"/>
+<record name="SharingMode" c:type="VkSharingMode"/>
+<record name="ImageLayout" c:type="VkImageLayout"/>
+<record name="ImageViewType" c:type="VkImageViewType"/>
+<record name="ComponentSwizzle" c:type="VkComponentSwizzle"/>
+<record name="VertexInputRate" c:type="VkVertexInputRate"/>
+<record name="PrimitiveTopology" c:type="VkPrimitiveTopology"/>
+<record name="PolygonMode" c:type="VkPolygonMode"/>
+<record name="FrontFace" c:type="VkFrontFace"/>
+<record name="CompareOp" c:type="VkCompareOp"/>
+<record name="StencilOp" c:type="VkStencilOp"/>
+<record name="LogicOp" c:type="VkLogicOp"/>
+<record name="BlendFactor" c:type="VkBlendFactor"/>
+<record name="BlendOp" c:type="VkBlendOp"/>
+<record name="DynamicState" c:type="VkDynamicState"/>
+<record name="Filter" c:type="VkFilter"/>
+<record name="SamplerMipmapMode" c:type="VkSamplerMipmapMode"/>
+<record name="SamplerAddressMode" c:type="VkSamplerAddressMode"/>
+<record name="BorderColor" c:type="VkBorderColor"/>
+<record name="DescriptorType" c:type="VkDescriptorType"/>
+<record name="AttachmentLoadOp" c:type="VkAttachmentLoadOp"/>
+<record name="AttachmentStoreOp" c:type="VkAttachmentStoreOp"/>
+<record name="PipelineBindPoint" c:type="VkPipelineBindPoint"/>
+<record name="CommandBufferLevel" c:type="VkCommandBufferLevel"/>
+<record name="IndexType" c:type="VkIndexType"/>
+<record name="SubpassContents" c:type="VkSubpassContents"/>
+<record name="ObjectType" c:type="VkObjectType"/>
+<record name="VendorId" c:type="VkVendorId"/>
+<record name="InstanceCreateFlags" c:type="VkInstanceCreateFlags"/>
+<record name="FormatFeatureFlagBits" c:type="VkFormatFeatureFlagBits"/>
+<record name="FormatFeatureFlags" c:type="VkFormatFeatureFlags"/>
+<record name="ImageUsageFlagBits" c:type="VkImageUsageFlagBits"/>
+<record name="ImageUsageFlags" c:type="VkImageUsageFlags"/>
+<record name="ImageCreateFlagBits" c:type="VkImageCreateFlagBits"/>
+<record name="ImageCreateFlags" c:type="VkImageCreateFlags"/>
+<record name="SampleCountFlagBits" c:type="VkSampleCountFlagBits"/>
+<record name="SampleCountFlags" c:type="VkSampleCountFlags"/>
+<record name="QueueFlagBits" c:type="VkQueueFlagBits"/>
+<record name="QueueFlags" c:type="VkQueueFlags"/>
+<record name="MemoryPropertyFlagBits" c:type="VkMemoryPropertyFlagBits"/>
+<record name="MemoryPropertyFlags" c:type="VkMemoryPropertyFlags"/>
+<record name="MemoryHeapFlagBits" c:type="VkMemoryHeapFlagBits"/>
+<record name="MemoryHeapFlags" c:type="VkMemoryHeapFlags"/>
+<record name="DeviceCreateFlags" c:type="VkDeviceCreateFlags"/>
+<record name="DeviceQueueCreateFlagBits" c:type="VkDeviceQueueCreateFlagBits"/>
+<record name="DeviceQueueCreateFlags" c:type="VkDeviceQueueCreateFlags"/>
+<record name="PipelineStageFlagBits" c:type="VkPipelineStageFlagBits"/>
+<record name="PipelineStageFlags" c:type="VkPipelineStageFlags"/>
+<record name="MemoryMapFlags" c:type="VkMemoryMapFlags"/>
+<record name="ImageAspectFlagBits" c:type="VkImageAspectFlagBits"/>
+<record name="ImageAspectFlags" c:type="VkImageAspectFlags"/>
+<record name="SparseImageFormatFlagBits" c:type="VkSparseImageFormatFlagBits"/>
+<record name="SparseImageFormatFlags" c:type="VkSparseImageFormatFlags"/>
+<record name="SparseMemoryBindFlagBits" c:type="VkSparseMemoryBindFlagBits"/>
+<record name="SparseMemoryBindFlags" c:type="VkSparseMemoryBindFlags"/>
+<record name="FenceCreateFlagBits" c:type="VkFenceCreateFlagBits"/>
+<record name="FenceCreateFlags" c:type="VkFenceCreateFlags"/>
+<record name="SemaphoreCreateFlags" c:type="VkSemaphoreCreateFlags"/>
+<record name="EventCreateFlags" c:type="VkEventCreateFlags"/>
+<record name="QueryPoolCreateFlags" c:type="VkQueryPoolCreateFlags"/>
+<record name="QueryPipelineStatisticFlagBits" c:type="VkQueryPipelineStatisticFlagBits"/>
+<record name="QueryPipelineStatisticFlags" c:type="VkQueryPipelineStatisticFlags"/>
+<record name="QueryResultFlagBits" c:type="VkQueryResultFlagBits"/>
+<record name="QueryResultFlags" c:type="VkQueryResultFlags"/>
+<record name="BufferCreateFlagBits" c:type="VkBufferCreateFlagBits"/>
+<record name="BufferCreateFlags" c:type="VkBufferCreateFlags"/>
+<record name="BufferUsageFlagBits" c:type="VkBufferUsageFlagBits"/>
+<record name="BufferUsageFlags" c:type="VkBufferUsageFlags"/>
+<record name="BufferViewCreateFlags" c:type="VkBufferViewCreateFlags"/>
+<record name="ImageViewCreateFlagBits" c:type="VkImageViewCreateFlagBits"/>
+<record name="ImageViewCreateFlags" c:type="VkImageViewCreateFlags"/>
+<record name="ShaderModuleCreateFlags" c:type="VkShaderModuleCreateFlags"/>
+<record name="PipelineCacheCreateFlags" c:type="VkPipelineCacheCreateFlags"/>
+<record name="PipelineCreateFlagBits" c:type="VkPipelineCreateFlagBits"/>
+<record name="PipelineCreateFlags" c:type="VkPipelineCreateFlags"/>
+<record name="PipelineShaderStageCreateFlags" c:type="VkPipelineShaderStageCreateFlags"/>
+<record name="ShaderStageFlagBits" c:type="VkShaderStageFlagBits"/>
+<record name="PipelineVertexInputStateCreateFlags" c:type="VkPipelineVertexInputStateCreateFlags"/>
+<record name="PipelineInputAssemblyStateCreateFlags" c:type="VkPipelineInputAssemblyStateCreateFlags"/>
+<record name="PipelineTessellationStateCreateFlags" c:type="VkPipelineTessellationStateCreateFlags"/>
+<record name="PipelineViewportStateCreateFlags" c:type="VkPipelineViewportStateCreateFlags"/>
+<record name="PipelineRasterizationStateCreateFlags" c:type="VkPipelineRasterizationStateCreateFlags"/>
+<record name="CullModeFlagBits" c:type="VkCullModeFlagBits"/>
+<record name="CullModeFlags" c:type="VkCullModeFlags"/>
+<record name="PipelineMultisampleStateCreateFlags" c:type="VkPipelineMultisampleStateCreateFlags"/>
+<record name="PipelineDepthStencilStateCreateFlags" c:type="VkPipelineDepthStencilStateCreateFlags"/>
+<record name="PipelineColorBlendStateCreateFlags" c:type="VkPipelineColorBlendStateCreateFlags"/>
+<record name="ColorComponentFlagBits" c:type="VkColorComponentFlagBits"/>
+<record name="ColorComponentFlags" c:type="VkColorComponentFlags"/>
+<record name="PipelineDynamicStateCreateFlags" c:type="VkPipelineDynamicStateCreateFlags"/>
+<record name="PipelineLayoutCreateFlags" c:type="VkPipelineLayoutCreateFlags"/>
+<record name="ShaderStageFlags" c:type="VkShaderStageFlags"/>
+<record name="SamplerCreateFlagBits" c:type="VkSamplerCreateFlagBits"/>
+<record name="SamplerCreateFlags" c:type="VkSamplerCreateFlags"/>
+<record name="DescriptorSetLayoutCreateFlagBits" c:type="VkDescriptorSetLayoutCreateFlagBits"/>
+<record name="DescriptorSetLayoutCreateFlags" c:type="VkDescriptorSetLayoutCreateFlags"/>
+<record name="DescriptorPoolCreateFlagBits" c:type="VkDescriptorPoolCreateFlagBits"/>
+<record name="DescriptorPoolCreateFlags" c:type="VkDescriptorPoolCreateFlags"/>
+<record name="DescriptorPoolResetFlags" c:type="VkDescriptorPoolResetFlags"/>
+<record name="FramebufferCreateFlags" c:type="VkFramebufferCreateFlags"/>
+<record name="RenderPassCreateFlags" c:type="VkRenderPassCreateFlags"/>
+<record name="AttachmentDescriptionFlagBits" c:type="VkAttachmentDescriptionFlagBits"/>
+<record name="AttachmentDescriptionFlags" c:type="VkAttachmentDescriptionFlags"/>
+<record name="SubpassDescriptionFlagBits" c:type="VkSubpassDescriptionFlagBits"/>
+<record name="SubpassDescriptionFlags" c:type="VkSubpassDescriptionFlags"/>
+<record name="AccessFlagBits" c:type="VkAccessFlagBits"/>
+<record name="AccessFlags" c:type="VkAccessFlags"/>
+<record name="DependencyFlagBits" c:type="VkDependencyFlagBits"/>
+<record name="DependencyFlags" c:type="VkDependencyFlags"/>
+<record name="CommandPoolCreateFlagBits" c:type="VkCommandPoolCreateFlagBits"/>
+<record name="CommandPoolCreateFlags" c:type="VkCommandPoolCreateFlags"/>
+<record name="CommandPoolResetFlagBits" c:type="VkCommandPoolResetFlagBits"/>
+<record name="CommandPoolResetFlags" c:type="VkCommandPoolResetFlags"/>
+<record name="CommandBufferUsageFlagBits" c:type="VkCommandBufferUsageFlagBits"/>
+<record name="CommandBufferUsageFlags" c:type="VkCommandBufferUsageFlags"/>
+<record name="QueryControlFlagBits" c:type="VkQueryControlFlagBits"/>
+<record name="QueryControlFlags" c:type="VkQueryControlFlags"/>
+<record name="CommandBufferResetFlagBits" c:type="VkCommandBufferResetFlagBits"/>
+<record name="CommandBufferResetFlags" c:type="VkCommandBufferResetFlags"/>
+<record name="StencilFaceFlagBits" c:type="VkStencilFaceFlagBits"/>
+<record name="StencilFaceFlags" c:type="VkStencilFaceFlags"/>
+<record name="ApplicationInfo" c:type="VkApplicationInfo"/>
+<record name="InstanceCreateInfo" c:type="VkInstanceCreateInfo"/>
+<record name="AllocationCallbacks" c:type="VkAllocationCallbacks"/>
+<record name="PhysicalDeviceFeatures" c:type="VkPhysicalDeviceFeatures"/>
+<record name="FormatProperties" c:type="VkFormatProperties"/>
+<record name="Extent3D" c:type="VkExtent3D"/>
+<record name="ImageFormatProperties" c:type="VkImageFormatProperties"/>
+<record name="PhysicalDeviceLimits" c:type="VkPhysicalDeviceLimits"/>
+<record name="PhysicalDeviceSparseProperties" c:type="VkPhysicalDeviceSparseProperties"/>
+<record name="PhysicalDeviceProperties" c:type="VkPhysicalDeviceProperties"/>
+<record name="QueueFamilyProperties" c:type="VkQueueFamilyProperties"/>
+<record name="MemoryType" c:type="VkMemoryType"/>
+<record name="MemoryHeap" c:type="VkMemoryHeap"/>
+<record name="PhysicalDeviceMemoryProperties" c:type="VkPhysicalDeviceMemoryProperties"/>
+<record name="DeviceQueueCreateInfo" c:type="VkDeviceQueueCreateInfo"/>
+<record name="DeviceCreateInfo" c:type="VkDeviceCreateInfo"/>
+<record name="ExtensionProperties" c:type="VkExtensionProperties"/>
+<record name="LayerProperties" c:type="VkLayerProperties"/>
+<record name="SubmitInfo" c:type="VkSubmitInfo"/>
+<record name="MemoryAllocateInfo" c:type="VkMemoryAllocateInfo"/>
+<record name="MappedMemoryRange" c:type="VkMappedMemoryRange"/>
+<record name="MemoryRequirements" c:type="VkMemoryRequirements"/>
+<record name="SparseImageFormatProperties" c:type="VkSparseImageFormatProperties"/>
+<record name="SparseImageMemoryRequirements" c:type="VkSparseImageMemoryRequirements"/>
+<record name="SparseMemoryBind" c:type="VkSparseMemoryBind"/>
+<record name="SparseBufferMemoryBindInfo" c:type="VkSparseBufferMemoryBindInfo"/>
+<record name="SparseImageOpaqueMemoryBindInfo" c:type="VkSparseImageOpaqueMemoryBindInfo"/>
+<record name="ImageSubresource" c:type="VkImageSubresource"/>
+<record name="Offset3D" c:type="VkOffset3D"/>
+<record name="SparseImageMemoryBind" c:type="VkSparseImageMemoryBind"/>
+<record name="SparseImageMemoryBindInfo" c:type="VkSparseImageMemoryBindInfo"/>
+<record name="BindSparseInfo" c:type="VkBindSparseInfo"/>
+<record name="FenceCreateInfo" c:type="VkFenceCreateInfo"/>
+<record name="SemaphoreCreateInfo" c:type="VkSemaphoreCreateInfo"/>
+<record name="EventCreateInfo" c:type="VkEventCreateInfo"/>
+<record name="QueryPoolCreateInfo" c:type="VkQueryPoolCreateInfo"/>
+<record name="BufferCreateInfo" c:type="VkBufferCreateInfo"/>
+<record name="BufferViewCreateInfo" c:type="VkBufferViewCreateInfo"/>
+<record name="ImageCreateInfo" c:type="VkImageCreateInfo"/>
+<record name="SubresourceLayout" c:type="VkSubresourceLayout"/>
+<record name="ComponentMapping" c:type="VkComponentMapping"/>
+<record name="ImageSubresourceRange" c:type="VkImageSubresourceRange"/>
+<record name="ImageViewCreateInfo" c:type="VkImageViewCreateInfo"/>
+<record name="ShaderModuleCreateInfo" c:type="VkShaderModuleCreateInfo"/>
+<record name="PipelineCacheCreateInfo" c:type="VkPipelineCacheCreateInfo"/>
+<record name="SpecializationMapEntry" c:type="VkSpecializationMapEntry"/>
+<record name="SpecializationInfo" c:type="VkSpecializationInfo"/>
+<record name="PipelineShaderStageCreateInfo" c:type="VkPipelineShaderStageCreateInfo"/>
+<record name="VertexInputBindingDescription" c:type="VkVertexInputBindingDescription"/>
+<record name="VertexInputAttributeDescription" c:type="VkVertexInputAttributeDescription"/>
+<record name="PipelineVertexInputStateCreateInfo" c:type="VkPipelineVertexInputStateCreateInfo"/>
+<record name="PipelineInputAssemblyStateCreateInfo" c:type="VkPipelineInputAssemblyStateCreateInfo"/>
+<record name="PipelineTessellationStateCreateInfo" c:type="VkPipelineTessellationStateCreateInfo"/>
+<record name="Viewport" c:type="VkViewport"/>
+<record name="Offset2D" c:type="VkOffset2D"/>
+<record name="Extent2D" c:type="VkExtent2D"/>
+<record name="Rect2D" c:type="VkRect2D"/>
+<record name="PipelineViewportStateCreateInfo" c:type="VkPipelineViewportStateCreateInfo"/>
+<record name="PipelineRasterizationStateCreateInfo" c:type="VkPipelineRasterizationStateCreateInfo"/>
+<record name="PipelineMultisampleStateCreateInfo" c:type="VkPipelineMultisampleStateCreateInfo"/>
+<record name="StencilOpState" c:type="VkStencilOpState"/>
+<record name="PipelineDepthStencilStateCreateInfo" c:type="VkPipelineDepthStencilStateCreateInfo"/>
+<record name="PipelineColorBlendAttachmentState" c:type="VkPipelineColorBlendAttachmentState"/>
+<record name="PipelineColorBlendStateCreateInfo" c:type="VkPipelineColorBlendStateCreateInfo"/>
+<record name="PipelineDynamicStateCreateInfo" c:type="VkPipelineDynamicStateCreateInfo"/>
+<record name="GraphicsPipelineCreateInfo" c:type="VkGraphicsPipelineCreateInfo"/>
+<record name="ComputePipelineCreateInfo" c:type="VkComputePipelineCreateInfo"/>
+<record name="PushConstantRange" c:type="VkPushConstantRange"/>
+<record name="PipelineLayoutCreateInfo" c:type="VkPipelineLayoutCreateInfo"/>
+<record name="SamplerCreateInfo" c:type="VkSamplerCreateInfo"/>
+<record name="DescriptorSetLayoutBinding" c:type="VkDescriptorSetLayoutBinding"/>
+<record name="DescriptorSetLayoutCreateInfo" c:type="VkDescriptorSetLayoutCreateInfo"/>
+<record name="DescriptorPoolSize" c:type="VkDescriptorPoolSize"/>
+<record name="DescriptorPoolCreateInfo" c:type="VkDescriptorPoolCreateInfo"/>
+<record name="DescriptorSetAllocateInfo" c:type="VkDescriptorSetAllocateInfo"/>
+<record name="DescriptorImageInfo" c:type="VkDescriptorImageInfo"/>
+<record name="DescriptorBufferInfo" c:type="VkDescriptorBufferInfo"/>
+<record name="WriteDescriptorSet" c:type="VkWriteDescriptorSet"/>
+<record name="CopyDescriptorSet" c:type="VkCopyDescriptorSet"/>
+<record name="FramebufferCreateInfo" c:type="VkFramebufferCreateInfo"/>
+<record name="AttachmentDescription" c:type="VkAttachmentDescription"/>
+<record name="AttachmentReference" c:type="VkAttachmentReference"/>
+<record name="SubpassDescription" c:type="VkSubpassDescription"/>
+<record name="SubpassDependency" c:type="VkSubpassDependency"/>
+<record name="RenderPassCreateInfo" c:type="VkRenderPassCreateInfo"/>
+<record name="CommandPoolCreateInfo" c:type="VkCommandPoolCreateInfo"/>
+<record name="CommandBufferAllocateInfo" c:type="VkCommandBufferAllocateInfo"/>
+<record name="CommandBufferInheritanceInfo" c:type="VkCommandBufferInheritanceInfo"/>
+<record name="CommandBufferBeginInfo" c:type="VkCommandBufferBeginInfo"/>
+<record name="BufferCopy" c:type="VkBufferCopy"/>
+<record name="ImageSubresourceLayers" c:type="VkImageSubresourceLayers"/>
+<record name="ImageCopy" c:type="VkImageCopy"/>
+<record name="ImageBlit" c:type="VkImageBlit"/>
+<record name="BufferImageCopy" c:type="VkBufferImageCopy"/>
+<record name="ClearColorValue" c:type="VkClearColorValue"/>
+<record name="ClearDepthStencilValue" c:type="VkClearDepthStencilValue"/>
+<record name="ClearValue" c:type="VkClearValue"/>
+<record name="ClearAttachment" c:type="VkClearAttachment"/>
+<record name="ClearRect" c:type="VkClearRect"/>
+<record name="ImageResolve" c:type="VkImageResolve"/>
+<record name="MemoryBarrier" c:type="VkMemoryBarrier"/>
+<record name="BufferMemoryBarrier" c:type="VkBufferMemoryBarrier"/>
+<record name="ImageMemoryBarrier" c:type="VkImageMemoryBarrier"/>
+<record name="RenderPassBeginInfo" c:type="VkRenderPassBeginInfo"/>
+<record name="DispatchIndirectCommand" c:type="VkDispatchIndirectCommand"/>
+<record name="DrawIndexedIndirectCommand" c:type="VkDrawIndexedIndirectCommand"/>
+<record name="DrawIndirectCommand" c:type="VkDrawIndirectCommand"/>
+<record name="BaseOutStructure" c:type="VkBaseOutStructure"/>
+<record name="BaseInStructure" c:type="VkBaseInStructure"/>
+<record name="SamplerYcbcrConversion" c:type="VkSamplerYcbcrConversion"/>
+<record name="DescriptorUpdateTemplate" c:type="VkDescriptorUpdateTemplate"/>
+<record name="PointClippingBehavior" c:type="VkPointClippingBehavior"/>
+<record name="TessellationDomainOrigin" c:type="VkTessellationDomainOrigin"/>
+<record name="SamplerYcbcrModelConversion" c:type="VkSamplerYcbcrModelConversion"/>
+<record name="SamplerYcbcrRange" c:type="VkSamplerYcbcrRange"/>
+<record name="ChromaLocation" c:type="VkChromaLocation"/>
+<record name="DescriptorUpdateTemplateType" c:type="VkDescriptorUpdateTemplateType"/>
+<record name="SubgroupFeatureFlagBits" c:type="VkSubgroupFeatureFlagBits"/>
+<record name="SubgroupFeatureFlags" c:type="VkSubgroupFeatureFlags"/>
+<record name="PeerMemoryFeatureFlagBits" c:type="VkPeerMemoryFeatureFlagBits"/>
+<record name="PeerMemoryFeatureFlags" c:type="VkPeerMemoryFeatureFlags"/>
+<record name="MemoryAllocateFlagBits" c:type="VkMemoryAllocateFlagBits"/>
+<record name="MemoryAllocateFlags" c:type="VkMemoryAllocateFlags"/>
+<record name="CommandPoolTrimFlags" c:type="VkCommandPoolTrimFlags"/>
+<record name="DescriptorUpdateTemplateCreateFlags" c:type="VkDescriptorUpdateTemplateCreateFlags"/>
+<record name="ExternalMemoryHandleTypeFlagBits" c:type="VkExternalMemoryHandleTypeFlagBits"/>
+<record name="ExternalMemoryHandleTypeFlags" c:type="VkExternalMemoryHandleTypeFlags"/>
+<record name="ExternalMemoryFeatureFlagBits" c:type="VkExternalMemoryFeatureFlagBits"/>
+<record name="ExternalMemoryFeatureFlags" c:type="VkExternalMemoryFeatureFlags"/>
+<record name="ExternalFenceHandleTypeFlagBits" c:type="VkExternalFenceHandleTypeFlagBits"/>
+<record name="ExternalFenceHandleTypeFlags" c:type="VkExternalFenceHandleTypeFlags"/>
+<record name="ExternalFenceFeatureFlagBits" c:type="VkExternalFenceFeatureFlagBits"/>
+<record name="ExternalFenceFeatureFlags" c:type="VkExternalFenceFeatureFlags"/>
+<record name="FenceImportFlagBits" c:type="VkFenceImportFlagBits"/>
+<record name="FenceImportFlags" c:type="VkFenceImportFlags"/>
+<record name="SemaphoreImportFlagBits" c:type="VkSemaphoreImportFlagBits"/>
+<record name="SemaphoreImportFlags" c:type="VkSemaphoreImportFlags"/>
+<record name="ExternalSemaphoreHandleTypeFlagBits" c:type="VkExternalSemaphoreHandleTypeFlagBits"/>
+<record name="ExternalSemaphoreHandleTypeFlags" c:type="VkExternalSemaphoreHandleTypeFlags"/>
+<record name="ExternalSemaphoreFeatureFlagBits" c:type="VkExternalSemaphoreFeatureFlagBits"/>
+<record name="ExternalSemaphoreFeatureFlags" c:type="VkExternalSemaphoreFeatureFlags"/>
+<record name="PhysicalDeviceSubgroupProperties" c:type="VkPhysicalDeviceSubgroupProperties"/>
+<record name="BindBufferMemoryInfo" c:type="VkBindBufferMemoryInfo"/>
+<record name="BindImageMemoryInfo" c:type="VkBindImageMemoryInfo"/>
+<record name="PhysicalDevice16BitStorageFeatures" c:type="VkPhysicalDevice16BitStorageFeatures"/>
+<record name="MemoryDedicatedRequirements" c:type="VkMemoryDedicatedRequirements"/>
+<record name="MemoryDedicatedAllocateInfo" c:type="VkMemoryDedicatedAllocateInfo"/>
+<record name="MemoryAllocateFlagsInfo" c:type="VkMemoryAllocateFlagsInfo"/>
+<record name="DeviceGroupRenderPassBeginInfo" c:type="VkDeviceGroupRenderPassBeginInfo"/>
+<record name="DeviceGroupCommandBufferBeginInfo" c:type="VkDeviceGroupCommandBufferBeginInfo"/>
+<record name="DeviceGroupSubmitInfo" c:type="VkDeviceGroupSubmitInfo"/>
+<record name="DeviceGroupBindSparseInfo" c:type="VkDeviceGroupBindSparseInfo"/>
+<record name="BindBufferMemoryDeviceGroupInfo" c:type="VkBindBufferMemoryDeviceGroupInfo"/>
+<record name="BindImageMemoryDeviceGroupInfo" c:type="VkBindImageMemoryDeviceGroupInfo"/>
+<record name="PhysicalDeviceGroupProperties" c:type="VkPhysicalDeviceGroupProperties"/>
+<record name="DeviceGroupDeviceCreateInfo" c:type="VkDeviceGroupDeviceCreateInfo"/>
+<record name="BufferMemoryRequirementsInfo2" c:type="VkBufferMemoryRequirementsInfo2"/>
+<record name="ImageMemoryRequirementsInfo2" c:type="VkImageMemoryRequirementsInfo2"/>
+<record name="ImageSparseMemoryRequirementsInfo2" c:type="VkImageSparseMemoryRequirementsInfo2"/>
+<record name="MemoryRequirements2" c:type="VkMemoryRequirements2"/>
+<record name="MemoryRequirements2KHR" c:type="VkMemoryRequirements2KHR"/>
+<record name="SparseImageMemoryRequirements2" c:type="VkSparseImageMemoryRequirements2"/>
+<record name="PhysicalDeviceFeatures2" c:type="VkPhysicalDeviceFeatures2"/>
+<record name="PhysicalDeviceProperties2" c:type="VkPhysicalDeviceProperties2"/>
+<record name="FormatProperties2" c:type="VkFormatProperties2"/>
+<record name="ImageFormatProperties2" c:type="VkImageFormatProperties2"/>
+<record name="PhysicalDeviceImageFormatInfo2" c:type="VkPhysicalDeviceImageFormatInfo2"/>
+<record name="QueueFamilyProperties2" c:type="VkQueueFamilyProperties2"/>
+<record name="PhysicalDeviceMemoryProperties2" c:type="VkPhysicalDeviceMemoryProperties2"/>
+<record name="SparseImageFormatProperties2" c:type="VkSparseImageFormatProperties2"/>
+<record name="PhysicalDeviceSparseImageFormatInfo2" c:type="VkPhysicalDeviceSparseImageFormatInfo2"/>
+<record name="PhysicalDevicePointClippingProperties" c:type="VkPhysicalDevicePointClippingProperties"/>
+<record name="InputAttachmentAspectReference" c:type="VkInputAttachmentAspectReference"/>
+<record name="RenderPassInputAttachmentAspectCreateInfo" 
c:type="VkRenderPassInputAttachmentAspectCreateInfo"/>
+<record name="ImageViewUsageCreateInfo" c:type="VkImageViewUsageCreateInfo"/>
+<record name="PipelineTessellationDomainOriginStateCreateInfo" 
c:type="VkPipelineTessellationDomainOriginStateCreateInfo"/>
+<record name="RenderPassMultiviewCreateInfo" c:type="VkRenderPassMultiviewCreateInfo"/>
+<record name="PhysicalDeviceMultiviewFeatures" c:type="VkPhysicalDeviceMultiviewFeatures"/>
+<record name="PhysicalDeviceMultiviewProperties" c:type="VkPhysicalDeviceMultiviewProperties"/>
+<record name="PhysicalDeviceVariablePointersFeatures" c:type="VkPhysicalDeviceVariablePointersFeatures"/>
+<record name="PhysicalDeviceVariablePointerFeatures" c:type="VkPhysicalDeviceVariablePointerFeatures"/>
+<record name="PhysicalDeviceProtectedMemoryFeatures" c:type="VkPhysicalDeviceProtectedMemoryFeatures"/>
+<record name="PhysicalDeviceProtectedMemoryProperties" c:type="VkPhysicalDeviceProtectedMemoryProperties"/>
+<record name="DeviceQueueInfo2" c:type="VkDeviceQueueInfo2"/>
+<record name="ProtectedSubmitInfo" c:type="VkProtectedSubmitInfo"/>
+<record name="SamplerYcbcrConversionCreateInfo" c:type="VkSamplerYcbcrConversionCreateInfo"/>
+<record name="SamplerYcbcrConversionInfo" c:type="VkSamplerYcbcrConversionInfo"/>
+<record name="BindImagePlaneMemoryInfo" c:type="VkBindImagePlaneMemoryInfo"/>
+<record name="ImagePlaneMemoryRequirementsInfo" c:type="VkImagePlaneMemoryRequirementsInfo"/>
+<record name="PhysicalDeviceSamplerYcbcrConversionFeatures" 
c:type="VkPhysicalDeviceSamplerYcbcrConversionFeatures"/>
+<record name="SamplerYcbcrConversionImageFormatProperties" 
c:type="VkSamplerYcbcrConversionImageFormatProperties"/>
+<record name="DescriptorUpdateTemplateEntry" c:type="VkDescriptorUpdateTemplateEntry"/>
+<record name="DescriptorUpdateTemplateCreateInfo" c:type="VkDescriptorUpdateTemplateCreateInfo"/>
+<record name="ExternalMemoryProperties" c:type="VkExternalMemoryProperties"/>
+<record name="PhysicalDeviceExternalImageFormatInfo" c:type="VkPhysicalDeviceExternalImageFormatInfo"/>
+<record name="ExternalImageFormatProperties" c:type="VkExternalImageFormatProperties"/>
+<record name="PhysicalDeviceExternalBufferInfo" c:type="VkPhysicalDeviceExternalBufferInfo"/>
+<record name="ExternalBufferProperties" c:type="VkExternalBufferProperties"/>
+<record name="PhysicalDeviceIDProperties" c:type="VkPhysicalDeviceIDProperties"/>
+<record name="ExternalMemoryImageCreateInfo" c:type="VkExternalMemoryImageCreateInfo"/>
+<record name="ExternalMemoryBufferCreateInfo" c:type="VkExternalMemoryBufferCreateInfo"/>
+<record name="ExportMemoryAllocateInfo" c:type="VkExportMemoryAllocateInfo"/>
+<record name="PhysicalDeviceExternalFenceInfo" c:type="VkPhysicalDeviceExternalFenceInfo"/>
+<record name="ExternalFenceProperties" c:type="VkExternalFenceProperties"/>
+<record name="ExportFenceCreateInfo" c:type="VkExportFenceCreateInfo"/>
+<record name="ExportSemaphoreCreateInfo" c:type="VkExportSemaphoreCreateInfo"/>
+<record name="PhysicalDeviceExternalSemaphoreInfo" c:type="VkPhysicalDeviceExternalSemaphoreInfo"/>
+<record name="ExternalSemaphoreProperties" c:type="VkExternalSemaphoreProperties"/>
+<record name="PhysicalDeviceMaintenance3Properties" c:type="VkPhysicalDeviceMaintenance3Properties"/>
+<record name="DescriptorSetLayoutSupport" c:type="VkDescriptorSetLayoutSupport"/>
+<record name="PhysicalDeviceShaderDrawParametersFeatures" 
c:type="VkPhysicalDeviceShaderDrawParametersFeatures"/>
+<record name="PhysicalDeviceShaderDrawParameterFeatures" 
c:type="VkPhysicalDeviceShaderDrawParameterFeatures"/>
+<record name="SurfaceKHR" c:type="VkSurfaceKHR"/>
+<record name="ColorSpaceKHR" c:type="VkColorSpaceKHR"/>
+<record name="PresentModeKHR" c:type="VkPresentModeKHR"/>
+<record name="SurfaceTransformFlagBitsKHR" c:type="VkSurfaceTransformFlagBitsKHR"/>
+<record name="SurfaceTransformFlagsKHR" c:type="VkSurfaceTransformFlagsKHR"/>
+<record name="CompositeAlphaFlagBitsKHR" c:type="VkCompositeAlphaFlagBitsKHR"/>
+<record name="CompositeAlphaFlagsKHR" c:type="VkCompositeAlphaFlagsKHR"/>
+<record name="SurfaceCapabilitiesKHR" c:type="VkSurfaceCapabilitiesKHR"/>
+<record name="SurfaceFormatKHR" c:type="VkSurfaceFormatKHR"/>
+<record name="SwapchainKHR" c:type="VkSwapchainKHR"/>
+<record name="SwapchainCreateFlagBitsKHR" c:type="VkSwapchainCreateFlagBitsKHR"/>
+<record name="SwapchainCreateFlagsKHR" c:type="VkSwapchainCreateFlagsKHR"/>
+<record name="DeviceGroupPresentModeFlagBitsKHR" c:type="VkDeviceGroupPresentModeFlagBitsKHR"/>
+<record name="DeviceGroupPresentModeFlagsKHR" c:type="VkDeviceGroupPresentModeFlagsKHR"/>
+<record name="SwapchainCreateInfoKHR" c:type="VkSwapchainCreateInfoKHR"/>
+<record name="PresentInfoKHR" c:type="VkPresentInfoKHR"/>
+<record name="ImageSwapchainCreateInfoKHR" c:type="VkImageSwapchainCreateInfoKHR"/>
+<record name="BindImageMemorySwapchainInfoKHR" c:type="VkBindImageMemorySwapchainInfoKHR"/>
+<record name="AcquireNextImageInfoKHR" c:type="VkAcquireNextImageInfoKHR"/>
+<record name="DeviceGroupPresentCapabilitiesKHR" c:type="VkDeviceGroupPresentCapabilitiesKHR"/>
+<record name="DeviceGroupPresentInfoKHR" c:type="VkDeviceGroupPresentInfoKHR"/>
+<record name="DeviceGroupSwapchainCreateInfoKHR" c:type="VkDeviceGroupSwapchainCreateInfoKHR"/>
+<record name="DisplayKHR" c:type="VkDisplayKHR"/>
+<record name="DisplayModeKHR" c:type="VkDisplayModeKHR"/>
+<record name="DisplayPlaneAlphaFlagBitsKHR" c:type="VkDisplayPlaneAlphaFlagBitsKHR"/>
+<record name="DisplayPlaneAlphaFlagsKHR" c:type="VkDisplayPlaneAlphaFlagsKHR"/>
+<record name="DisplayModeCreateFlagsKHR" c:type="VkDisplayModeCreateFlagsKHR"/>
+<record name="DisplaySurfaceCreateFlagsKHR" c:type="VkDisplaySurfaceCreateFlagsKHR"/>
+<record name="DisplayPropertiesKHR" c:type="VkDisplayPropertiesKHR"/>
+<record name="DisplayModeParametersKHR" c:type="VkDisplayModeParametersKHR"/>
+<record name="DisplayModePropertiesKHR" c:type="VkDisplayModePropertiesKHR"/>
+<record name="DisplayModeCreateInfoKHR" c:type="VkDisplayModeCreateInfoKHR"/>
+<record name="DisplayPlaneCapabilitiesKHR" c:type="VkDisplayPlaneCapabilitiesKHR"/>
+<record name="DisplayPlanePropertiesKHR" c:type="VkDisplayPlanePropertiesKHR"/>
+<record name="DisplaySurfaceCreateInfoKHR" c:type="VkDisplaySurfaceCreateInfoKHR"/>
+<record name="DisplayPresentInfoKHR" c:type="VkDisplayPresentInfoKHR"/>
+<record name="RenderPassMultiviewCreateInfoKHR" c:type="VkRenderPassMultiviewCreateInfoKHR"/>
+<record name="PhysicalDeviceMultiviewFeaturesKHR" c:type="VkPhysicalDeviceMultiviewFeaturesKHR"/>
+<record name="PhysicalDeviceMultiviewPropertiesKHR" c:type="VkPhysicalDeviceMultiviewPropertiesKHR"/>
+<record name="PhysicalDeviceFeatures2KHR" c:type="VkPhysicalDeviceFeatures2KHR"/>
+<record name="PhysicalDeviceProperties2KHR" c:type="VkPhysicalDeviceProperties2KHR"/>
+<record name="FormatProperties2KHR" c:type="VkFormatProperties2KHR"/>
+<record name="ImageFormatProperties2KHR" c:type="VkImageFormatProperties2KHR"/>
+<record name="PhysicalDeviceImageFormatInfo2KHR" c:type="VkPhysicalDeviceImageFormatInfo2KHR"/>
+<record name="QueueFamilyProperties2KHR" c:type="VkQueueFamilyProperties2KHR"/>
+<record name="PhysicalDeviceMemoryProperties2KHR" c:type="VkPhysicalDeviceMemoryProperties2KHR"/>
+<record name="SparseImageFormatProperties2KHR" c:type="VkSparseImageFormatProperties2KHR"/>
+<record name="PhysicalDeviceSparseImageFormatInfo2KHR" c:type="VkPhysicalDeviceSparseImageFormatInfo2KHR"/>
+<record name="PeerMemoryFeatureFlagsKHR" c:type="VkPeerMemoryFeatureFlagsKHR"/>
+<record name="PeerMemoryFeatureFlagBitsKHR" c:type="VkPeerMemoryFeatureFlagBitsKHR"/>
+<record name="MemoryAllocateFlagsKHR" c:type="VkMemoryAllocateFlagsKHR"/>
+<record name="MemoryAllocateFlagBitsKHR" c:type="VkMemoryAllocateFlagBitsKHR"/>
+<record name="MemoryAllocateFlagsInfoKHR" c:type="VkMemoryAllocateFlagsInfoKHR"/>
+<record name="DeviceGroupRenderPassBeginInfoKHR" c:type="VkDeviceGroupRenderPassBeginInfoKHR"/>
+<record name="DeviceGroupCommandBufferBeginInfoKHR" c:type="VkDeviceGroupCommandBufferBeginInfoKHR"/>
+<record name="DeviceGroupSubmitInfoKHR" c:type="VkDeviceGroupSubmitInfoKHR"/>
+<record name="DeviceGroupBindSparseInfoKHR" c:type="VkDeviceGroupBindSparseInfoKHR"/>
+<record name="BindBufferMemoryDeviceGroupInfoKHR" c:type="VkBindBufferMemoryDeviceGroupInfoKHR"/>
+<record name="BindImageMemoryDeviceGroupInfoKHR" c:type="VkBindImageMemoryDeviceGroupInfoKHR"/>
+<record name="CommandPoolTrimFlagsKHR" c:type="VkCommandPoolTrimFlagsKHR"/>
+<record name="PhysicalDeviceGroupPropertiesKHR" c:type="VkPhysicalDeviceGroupPropertiesKHR"/>
+<record name="DeviceGroupDeviceCreateInfoKHR" c:type="VkDeviceGroupDeviceCreateInfoKHR"/>
+<record name="ExternalMemoryHandleTypeFlagsKHR" c:type="VkExternalMemoryHandleTypeFlagsKHR"/>
+<record name="ExternalMemoryHandleTypeFlagBitsKHR" c:type="VkExternalMemoryHandleTypeFlagBitsKHR"/>
+<record name="ExternalMemoryFeatureFlagsKHR" c:type="VkExternalMemoryFeatureFlagsKHR"/>
+<record name="ExternalMemoryFeatureFlagBitsKHR" c:type="VkExternalMemoryFeatureFlagBitsKHR"/>
+<record name="ExternalMemoryPropertiesKHR" c:type="VkExternalMemoryPropertiesKHR"/>
+<record name="PhysicalDeviceExternalImageFormatInfoKHR" c:type="VkPhysicalDeviceExternalImageFormatInfoKHR"/>
+<record name="ExternalImageFormatPropertiesKHR" c:type="VkExternalImageFormatPropertiesKHR"/>
+<record name="PhysicalDeviceExternalBufferInfoKHR" c:type="VkPhysicalDeviceExternalBufferInfoKHR"/>
+<record name="ExternalBufferPropertiesKHR" c:type="VkExternalBufferPropertiesKHR"/>
+<record name="PhysicalDeviceIDPropertiesKHR" c:type="VkPhysicalDeviceIDPropertiesKHR"/>
+<record name="ExternalMemoryImageCreateInfoKHR" c:type="VkExternalMemoryImageCreateInfoKHR"/>
+<record name="ExternalMemoryBufferCreateInfoKHR" c:type="VkExternalMemoryBufferCreateInfoKHR"/>
+<record name="ExportMemoryAllocateInfoKHR" c:type="VkExportMemoryAllocateInfoKHR"/>
+<record name="ImportMemoryFdInfoKHR" c:type="VkImportMemoryFdInfoKHR"/>
+<record name="MemoryFdPropertiesKHR" c:type="VkMemoryFdPropertiesKHR"/>
+<record name="MemoryGetFdInfoKHR" c:type="VkMemoryGetFdInfoKHR"/>
+<record name="ExternalSemaphoreHandleTypeFlagsKHR" c:type="VkExternalSemaphoreHandleTypeFlagsKHR"/>
+<record name="ExternalSemaphoreHandleTypeFlagBitsKHR" c:type="VkExternalSemaphoreHandleTypeFlagBitsKHR"/>
+<record name="ExternalSemaphoreFeatureFlagsKHR" c:type="VkExternalSemaphoreFeatureFlagsKHR"/>
+<record name="ExternalSemaphoreFeatureFlagBitsKHR" c:type="VkExternalSemaphoreFeatureFlagBitsKHR"/>
+<record name="PhysicalDeviceExternalSemaphoreInfoKHR" c:type="VkPhysicalDeviceExternalSemaphoreInfoKHR"/>
+<record name="ExternalSemaphorePropertiesKHR" c:type="VkExternalSemaphorePropertiesKHR"/>
+<record name="SemaphoreImportFlagsKHR" c:type="VkSemaphoreImportFlagsKHR"/>
+<record name="SemaphoreImportFlagBitsKHR" c:type="VkSemaphoreImportFlagBitsKHR"/>
+<record name="ExportSemaphoreCreateInfoKHR" c:type="VkExportSemaphoreCreateInfoKHR"/>
+<record name="ImportSemaphoreFdInfoKHR" c:type="VkImportSemaphoreFdInfoKHR"/>
+<record name="SemaphoreGetFdInfoKHR" c:type="VkSemaphoreGetFdInfoKHR"/>
+<record name="PhysicalDevicePushDescriptorPropertiesKHR" 
c:type="VkPhysicalDevicePushDescriptorPropertiesKHR"/>
+<record name="PhysicalDeviceFloat16Int8FeaturesKHR" c:type="VkPhysicalDeviceFloat16Int8FeaturesKHR"/>
+<record name="PhysicalDevice16BitStorageFeaturesKHR" c:type="VkPhysicalDevice16BitStorageFeaturesKHR"/>
+<record name="RectLayerKHR" c:type="VkRectLayerKHR"/>
+<record name="PresentRegionKHR" c:type="VkPresentRegionKHR"/>
+<record name="PresentRegionsKHR" c:type="VkPresentRegionsKHR"/>
+<record name="DescriptorUpdateTemplateKHR" c:type="VkDescriptorUpdateTemplateKHR"/>
+<record name="DescriptorUpdateTemplateTypeKHR" c:type="VkDescriptorUpdateTemplateTypeKHR"/>
+<record name="DescriptorUpdateTemplateCreateFlagsKHR" c:type="VkDescriptorUpdateTemplateCreateFlagsKHR"/>
+<record name="DescriptorUpdateTemplateEntryKHR" c:type="VkDescriptorUpdateTemplateEntryKHR"/>
+<record name="DescriptorUpdateTemplateCreateInfoKHR" c:type="VkDescriptorUpdateTemplateCreateInfoKHR"/>
+<record name="AttachmentDescription2KHR" c:type="VkAttachmentDescription2KHR"/>
+<record name="AttachmentReference2KHR" c:type="VkAttachmentReference2KHR"/>
+<record name="SubpassDescription2KHR" c:type="VkSubpassDescription2KHR"/>
+<record name="SubpassDependency2KHR" c:type="VkSubpassDependency2KHR"/>
+<record name="RenderPassCreateInfo2KHR" c:type="VkRenderPassCreateInfo2KHR"/>
+<record name="SubpassBeginInfoKHR" c:type="VkSubpassBeginInfoKHR"/>
+<record name="SubpassEndInfoKHR" c:type="VkSubpassEndInfoKHR"/>
+<record name="SharedPresentSurfaceCapabilitiesKHR" c:type="VkSharedPresentSurfaceCapabilitiesKHR"/>
+<record name="ExternalFenceHandleTypeFlagsKHR" c:type="VkExternalFenceHandleTypeFlagsKHR"/>
+<record name="ExternalFenceHandleTypeFlagBitsKHR" c:type="VkExternalFenceHandleTypeFlagBitsKHR"/>
+<record name="ExternalFenceFeatureFlagsKHR" c:type="VkExternalFenceFeatureFlagsKHR"/>
+<record name="ExternalFenceFeatureFlagBitsKHR" c:type="VkExternalFenceFeatureFlagBitsKHR"/>
+<record name="PhysicalDeviceExternalFenceInfoKHR" c:type="VkPhysicalDeviceExternalFenceInfoKHR"/>
+<record name="ExternalFencePropertiesKHR" c:type="VkExternalFencePropertiesKHR"/>
+<record name="FenceImportFlagsKHR" c:type="VkFenceImportFlagsKHR"/>
+<record name="FenceImportFlagBitsKHR" c:type="VkFenceImportFlagBitsKHR"/>
+<record name="ExportFenceCreateInfoKHR" c:type="VkExportFenceCreateInfoKHR"/>
+<record name="ImportFenceFdInfoKHR" c:type="VkImportFenceFdInfoKHR"/>
+<record name="FenceGetFdInfoKHR" c:type="VkFenceGetFdInfoKHR"/>
+<record name="PointClippingBehaviorKHR" c:type="VkPointClippingBehaviorKHR"/>
+<record name="TessellationDomainOriginKHR" c:type="VkTessellationDomainOriginKHR"/>
+<record name="PhysicalDevicePointClippingPropertiesKHR" c:type="VkPhysicalDevicePointClippingPropertiesKHR"/>
+<record name="RenderPassInputAttachmentAspectCreateInfoKHR" 
c:type="VkRenderPassInputAttachmentAspectCreateInfoKHR"/>
+<record name="InputAttachmentAspectReferenceKHR" c:type="VkInputAttachmentAspectReferenceKHR"/>
+<record name="ImageViewUsageCreateInfoKHR" c:type="VkImageViewUsageCreateInfoKHR"/>
+<record name="PipelineTessellationDomainOriginStateCreateInfoKHR" 
c:type="VkPipelineTessellationDomainOriginStateCreateInfoKHR"/>
+<record name="PhysicalDeviceSurfaceInfo2KHR" c:type="VkPhysicalDeviceSurfaceInfo2KHR"/>
+<record name="SurfaceCapabilities2KHR" c:type="VkSurfaceCapabilities2KHR"/>
+<record name="SurfaceFormat2KHR" c:type="VkSurfaceFormat2KHR"/>
+<record name="PhysicalDeviceVariablePointerFeaturesKHR" c:type="VkPhysicalDeviceVariablePointerFeaturesKHR"/>
+<record name="PhysicalDeviceVariablePointersFeaturesKHR" 
c:type="VkPhysicalDeviceVariablePointersFeaturesKHR"/>
+<record name="DisplayProperties2KHR" c:type="VkDisplayProperties2KHR"/>
+<record name="DisplayPlaneProperties2KHR" c:type="VkDisplayPlaneProperties2KHR"/>
+<record name="DisplayModeProperties2KHR" c:type="VkDisplayModeProperties2KHR"/>
+<record name="DisplayPlaneInfo2KHR" c:type="VkDisplayPlaneInfo2KHR"/>
+<record name="DisplayPlaneCapabilities2KHR" c:type="VkDisplayPlaneCapabilities2KHR"/>
+<record name="MemoryDedicatedRequirementsKHR" c:type="VkMemoryDedicatedRequirementsKHR"/>
+<record name="MemoryDedicatedAllocateInfoKHR" c:type="VkMemoryDedicatedAllocateInfoKHR"/>
+<record name="BufferMemoryRequirementsInfo2KHR" c:type="VkBufferMemoryRequirementsInfo2KHR"/>
+<record name="ImageMemoryRequirementsInfo2KHR" c:type="VkImageMemoryRequirementsInfo2KHR"/>
+<record name="ImageSparseMemoryRequirementsInfo2KHR" c:type="VkImageSparseMemoryRequirementsInfo2KHR"/>
+<record name="SparseImageMemoryRequirements2KHR" c:type="VkSparseImageMemoryRequirements2KHR"/>
+<record name="ImageFormatListCreateInfoKHR" c:type="VkImageFormatListCreateInfoKHR"/>
+<record name="SamplerYcbcrConversionKHR" c:type="VkSamplerYcbcrConversionKHR"/>
+<record name="SamplerYcbcrModelConversionKHR" c:type="VkSamplerYcbcrModelConversionKHR"/>
+<record name="SamplerYcbcrRangeKHR" c:type="VkSamplerYcbcrRangeKHR"/>
+<record name="ChromaLocationKHR" c:type="VkChromaLocationKHR"/>
+<record name="SamplerYcbcrConversionCreateInfoKHR" c:type="VkSamplerYcbcrConversionCreateInfoKHR"/>
+<record name="SamplerYcbcrConversionInfoKHR" c:type="VkSamplerYcbcrConversionInfoKHR"/>
+<record name="BindImagePlaneMemoryInfoKHR" c:type="VkBindImagePlaneMemoryInfoKHR"/>
+<record name="ImagePlaneMemoryRequirementsInfoKHR" c:type="VkImagePlaneMemoryRequirementsInfoKHR"/>
+<record name="PhysicalDeviceSamplerYcbcrConversionFeaturesKHR" 
c:type="VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR"/>
+<record name="SamplerYcbcrConversionImageFormatPropertiesKHR" 
c:type="VkSamplerYcbcrConversionImageFormatPropertiesKHR"/>
+<record name="BindBufferMemoryInfoKHR" c:type="VkBindBufferMemoryInfoKHR"/>
+<record name="BindImageMemoryInfoKHR" c:type="VkBindImageMemoryInfoKHR"/>
+<record name="PhysicalDeviceMaintenance3PropertiesKHR" c:type="VkPhysicalDeviceMaintenance3PropertiesKHR"/>
+<record name="DescriptorSetLayoutSupportKHR" c:type="VkDescriptorSetLayoutSupportKHR"/>
+<record name="PhysicalDevice8BitStorageFeaturesKHR" c:type="VkPhysicalDevice8BitStorageFeaturesKHR"/>
+<record name="PhysicalDeviceShaderAtomicInt64FeaturesKHR" 
c:type="VkPhysicalDeviceShaderAtomicInt64FeaturesKHR"/>
+<record name="DriverIdKHR" c:type="VkDriverIdKHR"/>
+<record name="ConformanceVersionKHR" c:type="VkConformanceVersionKHR"/>
+<record name="PhysicalDeviceDriverPropertiesKHR" c:type="VkPhysicalDeviceDriverPropertiesKHR"/>
+<record name="PhysicalDeviceFloatControlsPropertiesKHR" c:type="VkPhysicalDeviceFloatControlsPropertiesKHR"/>
+<record name="ResolveModeFlagBitsKHR" c:type="VkResolveModeFlagBitsKHR"/>
+<record name="ResolveModeFlagsKHR" c:type="VkResolveModeFlagsKHR"/>
+<record name="SubpassDescriptionDepthStencilResolveKHR" c:type="VkSubpassDescriptionDepthStencilResolveKHR"/>
+<record name="PhysicalDeviceDepthStencilResolvePropertiesKHR" 
c:type="VkPhysicalDeviceDepthStencilResolvePropertiesKHR"/>
+<record name="PhysicalDeviceVulkanMemoryModelFeaturesKHR" 
c:type="VkPhysicalDeviceVulkanMemoryModelFeaturesKHR"/>
+<record name="SurfaceProtectedCapabilitiesKHR" c:type="VkSurfaceProtectedCapabilitiesKHR"/>
+<record name="PhysicalDeviceUniformBufferStandardLayoutFeaturesKHR" 
c:type="VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR"/>
+<record name="DebugReportCallbackEXT" c:type="VkDebugReportCallbackEXT"/>
+<record name="DebugReportObjectTypeEXT" c:type="VkDebugReportObjectTypeEXT"/>
+<record name="DebugReportFlagBitsEXT" c:type="VkDebugReportFlagBitsEXT"/>
+<record name="DebugReportFlagsEXT" c:type="VkDebugReportFlagsEXT"/>
+<record name="DebugReportCallbackCreateInfoEXT" c:type="VkDebugReportCallbackCreateInfoEXT"/>
+<record name="RasterizationOrderAMD" c:type="VkRasterizationOrderAMD"/>
+<record name="PipelineRasterizationStateRasterizationOrderAMD" 
c:type="VkPipelineRasterizationStateRasterizationOrderAMD"/>
+<record name="DebugMarkerObjectNameInfoEXT" c:type="VkDebugMarkerObjectNameInfoEXT"/>
+<record name="DebugMarkerObjectTagInfoEXT" c:type="VkDebugMarkerObjectTagInfoEXT"/>
+<record name="DebugMarkerMarkerInfoEXT" c:type="VkDebugMarkerMarkerInfoEXT"/>
+<record name="DedicatedAllocationImageCreateInfoNV" c:type="VkDedicatedAllocationImageCreateInfoNV"/>
+<record name="DedicatedAllocationBufferCreateInfoNV" c:type="VkDedicatedAllocationBufferCreateInfoNV"/>
+<record name="DedicatedAllocationMemoryAllocateInfoNV" c:type="VkDedicatedAllocationMemoryAllocateInfoNV"/>
+<record name="PipelineRasterizationStateStreamCreateFlagsEXT" 
c:type="VkPipelineRasterizationStateStreamCreateFlagsEXT"/>
+<record name="PhysicalDeviceTransformFeedbackFeaturesEXT" 
c:type="VkPhysicalDeviceTransformFeedbackFeaturesEXT"/>
+<record name="PhysicalDeviceTransformFeedbackPropertiesEXT" 
c:type="VkPhysicalDeviceTransformFeedbackPropertiesEXT"/>
+<record name="PipelineRasterizationStateStreamCreateInfoEXT" 
c:type="VkPipelineRasterizationStateStreamCreateInfoEXT"/>
+<record name="ImageViewHandleInfoNVX" c:type="VkImageViewHandleInfoNVX"/>
+<record name="TextureLODGatherFormatPropertiesAMD" c:type="VkTextureLODGatherFormatPropertiesAMD"/>
+<record name="ShaderInfoTypeAMD" c:type="VkShaderInfoTypeAMD"/>
+<record name="ShaderResourceUsageAMD" c:type="VkShaderResourceUsageAMD"/>
+<record name="ShaderStatisticsInfoAMD" c:type="VkShaderStatisticsInfoAMD"/>
+<record name="PhysicalDeviceCornerSampledImageFeaturesNV" 
c:type="VkPhysicalDeviceCornerSampledImageFeaturesNV"/>
+<record name="ExternalMemoryHandleTypeFlagBitsNV" c:type="VkExternalMemoryHandleTypeFlagBitsNV"/>
+<record name="ExternalMemoryHandleTypeFlagsNV" c:type="VkExternalMemoryHandleTypeFlagsNV"/>
+<record name="ExternalMemoryFeatureFlagBitsNV" c:type="VkExternalMemoryFeatureFlagBitsNV"/>
+<record name="ExternalMemoryFeatureFlagsNV" c:type="VkExternalMemoryFeatureFlagsNV"/>
+<record name="ExternalImageFormatPropertiesNV" c:type="VkExternalImageFormatPropertiesNV"/>
+<record name="ExternalMemoryImageCreateInfoNV" c:type="VkExternalMemoryImageCreateInfoNV"/>
+<record name="ExportMemoryAllocateInfoNV" c:type="VkExportMemoryAllocateInfoNV"/>
+<record name="ValidationCheckEXT" c:type="VkValidationCheckEXT"/>
+<record name="ValidationFlagsEXT" c:type="VkValidationFlagsEXT"/>
+<record name="ImageViewASTCDecodeModeEXT" c:type="VkImageViewASTCDecodeModeEXT"/>
+<record name="PhysicalDeviceASTCDecodeFeaturesEXT" c:type="VkPhysicalDeviceASTCDecodeFeaturesEXT"/>
+<record name="ConditionalRenderingFlagBitsEXT" c:type="VkConditionalRenderingFlagBitsEXT"/>
+<record name="ConditionalRenderingFlagsEXT" c:type="VkConditionalRenderingFlagsEXT"/>
+<record name="ConditionalRenderingBeginInfoEXT" c:type="VkConditionalRenderingBeginInfoEXT"/>
+<record name="PhysicalDeviceConditionalRenderingFeaturesEXT" 
c:type="VkPhysicalDeviceConditionalRenderingFeaturesEXT"/>
+<record name="CommandBufferInheritanceConditionalRenderingInfoEXT" 
c:type="VkCommandBufferInheritanceConditionalRenderingInfoEXT"/>
+<record name="ObjectTableNVX" c:type="VkObjectTableNVX"/>
+<record name="IndirectCommandsLayoutNVX" c:type="VkIndirectCommandsLayoutNVX"/>
+<record name="IndirectCommandsTokenTypeNVX" c:type="VkIndirectCommandsTokenTypeNVX"/>
+<record name="ObjectEntryTypeNVX" c:type="VkObjectEntryTypeNVX"/>
+<record name="IndirectCommandsLayoutUsageFlagBitsNVX" c:type="VkIndirectCommandsLayoutUsageFlagBitsNVX"/>
+<record name="IndirectCommandsLayoutUsageFlagsNVX" c:type="VkIndirectCommandsLayoutUsageFlagsNVX"/>
+<record name="ObjectEntryUsageFlagBitsNVX" c:type="VkObjectEntryUsageFlagBitsNVX"/>
+<record name="ObjectEntryUsageFlagsNVX" c:type="VkObjectEntryUsageFlagsNVX"/>
+<record name="DeviceGeneratedCommandsFeaturesNVX" c:type="VkDeviceGeneratedCommandsFeaturesNVX"/>
+<record name="DeviceGeneratedCommandsLimitsNVX" c:type="VkDeviceGeneratedCommandsLimitsNVX"/>
+<record name="IndirectCommandsTokenNVX" c:type="VkIndirectCommandsTokenNVX"/>
+<record name="IndirectCommandsLayoutTokenNVX" c:type="VkIndirectCommandsLayoutTokenNVX"/>
+<record name="IndirectCommandsLayoutCreateInfoNVX" c:type="VkIndirectCommandsLayoutCreateInfoNVX"/>
+<record name="CmdProcessCommandsInfoNVX" c:type="VkCmdProcessCommandsInfoNVX"/>
+<record name="CmdReserveSpaceForCommandsInfoNVX" c:type="VkCmdReserveSpaceForCommandsInfoNVX"/>
+<record name="ObjectTableCreateInfoNVX" c:type="VkObjectTableCreateInfoNVX"/>
+<record name="ObjectTableEntryNVX" c:type="VkObjectTableEntryNVX"/>
+<record name="ObjectTablePipelineEntryNVX" c:type="VkObjectTablePipelineEntryNVX"/>
+<record name="ObjectTableDescriptorSetEntryNVX" c:type="VkObjectTableDescriptorSetEntryNVX"/>
+<record name="ObjectTableVertexBufferEntryNVX" c:type="VkObjectTableVertexBufferEntryNVX"/>
+<record name="ObjectTableIndexBufferEntryNVX" c:type="VkObjectTableIndexBufferEntryNVX"/>
+<record name="ObjectTablePushConstantEntryNVX" c:type="VkObjectTablePushConstantEntryNVX"/>
+<record name="ViewportWScalingNV" c:type="VkViewportWScalingNV"/>
+<record name="PipelineViewportWScalingStateCreateInfoNV" 
c:type="VkPipelineViewportWScalingStateCreateInfoNV"/>
+<record name="SurfaceCounterFlagBitsEXT" c:type="VkSurfaceCounterFlagBitsEXT"/>
+<record name="SurfaceCounterFlagsEXT" c:type="VkSurfaceCounterFlagsEXT"/>
+<record name="SurfaceCapabilities2EXT" c:type="VkSurfaceCapabilities2EXT"/>
+<record name="DisplayPowerStateEXT" c:type="VkDisplayPowerStateEXT"/>
+<record name="DeviceEventTypeEXT" c:type="VkDeviceEventTypeEXT"/>
+<record name="DisplayEventTypeEXT" c:type="VkDisplayEventTypeEXT"/>
+<record name="DisplayPowerInfoEXT" c:type="VkDisplayPowerInfoEXT"/>
+<record name="DeviceEventInfoEXT" c:type="VkDeviceEventInfoEXT"/>
+<record name="DisplayEventInfoEXT" c:type="VkDisplayEventInfoEXT"/>
+<record name="SwapchainCounterCreateInfoEXT" c:type="VkSwapchainCounterCreateInfoEXT"/>
+<record name="RefreshCycleDurationGOOGLE" c:type="VkRefreshCycleDurationGOOGLE"/>
+<record name="PastPresentationTimingGOOGLE" c:type="VkPastPresentationTimingGOOGLE"/>
+<record name="PresentTimeGOOGLE" c:type="VkPresentTimeGOOGLE"/>
+<record name="PresentTimesInfoGOOGLE" c:type="VkPresentTimesInfoGOOGLE"/>
+<record name="PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX" 
c:type="VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"/>
+<record name="ViewportCoordinateSwizzleNV" c:type="VkViewportCoordinateSwizzleNV"/>
+<record name="PipelineViewportSwizzleStateCreateFlagsNV" 
c:type="VkPipelineViewportSwizzleStateCreateFlagsNV"/>
+<record name="ViewportSwizzleNV" c:type="VkViewportSwizzleNV"/>
+<record name="PipelineViewportSwizzleStateCreateInfoNV" c:type="VkPipelineViewportSwizzleStateCreateInfoNV"/>
+<record name="DiscardRectangleModeEXT" c:type="VkDiscardRectangleModeEXT"/>
+<record name="PipelineDiscardRectangleStateCreateFlagsEXT" 
c:type="VkPipelineDiscardRectangleStateCreateFlagsEXT"/>
+<record name="PhysicalDeviceDiscardRectanglePropertiesEXT" 
c:type="VkPhysicalDeviceDiscardRectanglePropertiesEXT"/>
+<record name="PipelineDiscardRectangleStateCreateInfoEXT" 
c:type="VkPipelineDiscardRectangleStateCreateInfoEXT"/>
+<record name="ConservativeRasterizationModeEXT" c:type="VkConservativeRasterizationModeEXT"/>
+<record name="PipelineRasterizationConservativeStateCreateFlagsEXT" 
c:type="VkPipelineRasterizationConservativeStateCreateFlagsEXT"/>
+<record name="PhysicalDeviceConservativeRasterizationPropertiesEXT" 
c:type="VkPhysicalDeviceConservativeRasterizationPropertiesEXT"/>
+<record name="PipelineRasterizationConservativeStateCreateInfoEXT" 
c:type="VkPipelineRasterizationConservativeStateCreateInfoEXT"/>
+<record name="PipelineRasterizationDepthClipStateCreateFlagsEXT" 
c:type="VkPipelineRasterizationDepthClipStateCreateFlagsEXT"/>
+<record name="PhysicalDeviceDepthClipEnableFeaturesEXT" c:type="VkPhysicalDeviceDepthClipEnableFeaturesEXT"/>
+<record name="PipelineRasterizationDepthClipStateCreateInfoEXT" 
c:type="VkPipelineRasterizationDepthClipStateCreateInfoEXT"/>
+<record name="XYColorEXT" c:type="VkXYColorEXT"/>
+<record name="HdrMetadataEXT" c:type="VkHdrMetadataEXT"/>
+<record name="DebugUtilsMessengerEXT" c:type="VkDebugUtilsMessengerEXT"/>
+<record name="DebugUtilsMessengerCallbackDataFlagsEXT" c:type="VkDebugUtilsMessengerCallbackDataFlagsEXT"/>
+<record name="DebugUtilsMessengerCreateFlagsEXT" c:type="VkDebugUtilsMessengerCreateFlagsEXT"/>
+<record name="DebugUtilsMessageSeverityFlagBitsEXT" c:type="VkDebugUtilsMessageSeverityFlagBitsEXT"/>
+<record name="DebugUtilsMessageSeverityFlagsEXT" c:type="VkDebugUtilsMessageSeverityFlagsEXT"/>
+<record name="DebugUtilsMessageTypeFlagBitsEXT" c:type="VkDebugUtilsMessageTypeFlagBitsEXT"/>
+<record name="DebugUtilsMessageTypeFlagsEXT" c:type="VkDebugUtilsMessageTypeFlagsEXT"/>
+<record name="DebugUtilsObjectNameInfoEXT" c:type="VkDebugUtilsObjectNameInfoEXT"/>
+<record name="DebugUtilsObjectTagInfoEXT" c:type="VkDebugUtilsObjectTagInfoEXT"/>
+<record name="DebugUtilsLabelEXT" c:type="VkDebugUtilsLabelEXT"/>
+<record name="DebugUtilsMessengerCallbackDataEXT" c:type="VkDebugUtilsMessengerCallbackDataEXT"/>
+<record name="DebugUtilsMessengerCreateInfoEXT" c:type="VkDebugUtilsMessengerCreateInfoEXT"/>
+<record name="SamplerReductionModeEXT" c:type="VkSamplerReductionModeEXT"/>
+<record name="SamplerReductionModeCreateInfoEXT" c:type="VkSamplerReductionModeCreateInfoEXT"/>
+<record name="PhysicalDeviceSamplerFilterMinmaxPropertiesEXT" 
c:type="VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT"/>
+<record name="PhysicalDeviceInlineUniformBlockFeaturesEXT" 
c:type="VkPhysicalDeviceInlineUniformBlockFeaturesEXT"/>
+<record name="PhysicalDeviceInlineUniformBlockPropertiesEXT" 
c:type="VkPhysicalDeviceInlineUniformBlockPropertiesEXT"/>
+<record name="WriteDescriptorSetInlineUniformBlockEXT" c:type="VkWriteDescriptorSetInlineUniformBlockEXT"/>
+<record name="DescriptorPoolInlineUniformBlockCreateInfoEXT" 
c:type="VkDescriptorPoolInlineUniformBlockCreateInfoEXT"/>
+<record name="SampleLocationEXT" c:type="VkSampleLocationEXT"/>
+<record name="SampleLocationsInfoEXT" c:type="VkSampleLocationsInfoEXT"/>
+<record name="AttachmentSampleLocationsEXT" c:type="VkAttachmentSampleLocationsEXT"/>
+<record name="SubpassSampleLocationsEXT" c:type="VkSubpassSampleLocationsEXT"/>
+<record name="RenderPassSampleLocationsBeginInfoEXT" c:type="VkRenderPassSampleLocationsBeginInfoEXT"/>
+<record name="PipelineSampleLocationsStateCreateInfoEXT" 
c:type="VkPipelineSampleLocationsStateCreateInfoEXT"/>
+<record name="PhysicalDeviceSampleLocationsPropertiesEXT" 
c:type="VkPhysicalDeviceSampleLocationsPropertiesEXT"/>
+<record name="MultisamplePropertiesEXT" c:type="VkMultisamplePropertiesEXT"/>
+<record name="BlendOverlapEXT" c:type="VkBlendOverlapEXT"/>
+<record name="PhysicalDeviceBlendOperationAdvancedFeaturesEXT" 
c:type="VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"/>
+<record name="PhysicalDeviceBlendOperationAdvancedPropertiesEXT" 
c:type="VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"/>
+<record name="PipelineColorBlendAdvancedStateCreateInfoEXT" 
c:type="VkPipelineColorBlendAdvancedStateCreateInfoEXT"/>
+<record name="PipelineCoverageToColorStateCreateFlagsNV" 
c:type="VkPipelineCoverageToColorStateCreateFlagsNV"/>
+<record name="PipelineCoverageToColorStateCreateInfoNV" c:type="VkPipelineCoverageToColorStateCreateInfoNV"/>
+<record name="CoverageModulationModeNV" c:type="VkCoverageModulationModeNV"/>
+<record name="PipelineCoverageModulationStateCreateFlagsNV" 
c:type="VkPipelineCoverageModulationStateCreateFlagsNV"/>
+<record name="PipelineCoverageModulationStateCreateInfoNV" 
c:type="VkPipelineCoverageModulationStateCreateInfoNV"/>
+<record name="DrmFormatModifierPropertiesEXT" c:type="VkDrmFormatModifierPropertiesEXT"/>
+<record name="DrmFormatModifierPropertiesListEXT" c:type="VkDrmFormatModifierPropertiesListEXT"/>
+<record name="PhysicalDeviceImageDrmFormatModifierInfoEXT" 
c:type="VkPhysicalDeviceImageDrmFormatModifierInfoEXT"/>
+<record name="ImageDrmFormatModifierListCreateInfoEXT" c:type="VkImageDrmFormatModifierListCreateInfoEXT"/>
+<record name="ImageDrmFormatModifierExplicitCreateInfoEXT" 
c:type="VkImageDrmFormatModifierExplicitCreateInfoEXT"/>
+<record name="ImageDrmFormatModifierPropertiesEXT" c:type="VkImageDrmFormatModifierPropertiesEXT"/>
+<record name="ValidationCacheEXT" c:type="VkValidationCacheEXT"/>
+<record name="ValidationCacheHeaderVersionEXT" c:type="VkValidationCacheHeaderVersionEXT"/>
+<record name="ValidationCacheCreateFlagsEXT" c:type="VkValidationCacheCreateFlagsEXT"/>
+<record name="ValidationCacheCreateInfoEXT" c:type="VkValidationCacheCreateInfoEXT"/>
+<record name="ShaderModuleValidationCacheCreateInfoEXT" c:type="VkShaderModuleValidationCacheCreateInfoEXT"/>
+<record name="DescriptorBindingFlagBitsEXT" c:type="VkDescriptorBindingFlagBitsEXT"/>
+<record name="DescriptorBindingFlagsEXT" c:type="VkDescriptorBindingFlagsEXT"/>
+<record name="DescriptorSetLayoutBindingFlagsCreateInfoEXT" 
c:type="VkDescriptorSetLayoutBindingFlagsCreateInfoEXT"/>
+<record name="PhysicalDeviceDescriptorIndexingFeaturesEXT" 
c:type="VkPhysicalDeviceDescriptorIndexingFeaturesEXT"/>
+<record name="PhysicalDeviceDescriptorIndexingPropertiesEXT" 
c:type="VkPhysicalDeviceDescriptorIndexingPropertiesEXT"/>
+<record name="DescriptorSetVariableDescriptorCountAllocateInfoEXT" 
c:type="VkDescriptorSetVariableDescriptorCountAllocateInfoEXT"/>
+<record name="DescriptorSetVariableDescriptorCountLayoutSupportEXT" 
c:type="VkDescriptorSetVariableDescriptorCountLayoutSupportEXT"/>
+<record name="ShadingRatePaletteEntryNV" c:type="VkShadingRatePaletteEntryNV"/>
+<record name="CoarseSampleOrderTypeNV" c:type="VkCoarseSampleOrderTypeNV"/>
+<record name="ShadingRatePaletteNV" c:type="VkShadingRatePaletteNV"/>
+<record name="PipelineViewportShadingRateImageStateCreateInfoNV" 
c:type="VkPipelineViewportShadingRateImageStateCreateInfoNV"/>
+<record name="PhysicalDeviceShadingRateImageFeaturesNV" c:type="VkPhysicalDeviceShadingRateImageFeaturesNV"/>
+<record name="PhysicalDeviceShadingRateImagePropertiesNV" 
c:type="VkPhysicalDeviceShadingRateImagePropertiesNV"/>
+<record name="CoarseSampleLocationNV" c:type="VkCoarseSampleLocationNV"/>
+<record name="CoarseSampleOrderCustomNV" c:type="VkCoarseSampleOrderCustomNV"/>
+<record name="PipelineViewportCoarseSampleOrderStateCreateInfoNV" 
c:type="VkPipelineViewportCoarseSampleOrderStateCreateInfoNV"/>
+<record name="AccelerationStructureNV" c:type="VkAccelerationStructureNV"/>
+<record name="RayTracingShaderGroupTypeNV" c:type="VkRayTracingShaderGroupTypeNV"/>
+<record name="GeometryTypeNV" c:type="VkGeometryTypeNV"/>
+<record name="AccelerationStructureTypeNV" c:type="VkAccelerationStructureTypeNV"/>
+<record name="CopyAccelerationStructureModeNV" c:type="VkCopyAccelerationStructureModeNV"/>
+<record name="AccelerationStructureMemoryRequirementsTypeNV" 
c:type="VkAccelerationStructureMemoryRequirementsTypeNV"/>
+<record name="GeometryFlagBitsNV" c:type="VkGeometryFlagBitsNV"/>
+<record name="GeometryFlagsNV" c:type="VkGeometryFlagsNV"/>
+<record name="GeometryInstanceFlagBitsNV" c:type="VkGeometryInstanceFlagBitsNV"/>
+<record name="GeometryInstanceFlagsNV" c:type="VkGeometryInstanceFlagsNV"/>
+<record name="BuildAccelerationStructureFlagBitsNV" c:type="VkBuildAccelerationStructureFlagBitsNV"/>
+<record name="BuildAccelerationStructureFlagsNV" c:type="VkBuildAccelerationStructureFlagsNV"/>
+<record name="RayTracingShaderGroupCreateInfoNV" c:type="VkRayTracingShaderGroupCreateInfoNV"/>
+<record name="RayTracingPipelineCreateInfoNV" c:type="VkRayTracingPipelineCreateInfoNV"/>
+<record name="GeometryTrianglesNV" c:type="VkGeometryTrianglesNV"/>
+<record name="GeometryAABBNV" c:type="VkGeometryAABBNV"/>
+<record name="GeometryDataNV" c:type="VkGeometryDataNV"/>
+<record name="GeometryNV" c:type="VkGeometryNV"/>
+<record name="AccelerationStructureInfoNV" c:type="VkAccelerationStructureInfoNV"/>
+<record name="AccelerationStructureCreateInfoNV" c:type="VkAccelerationStructureCreateInfoNV"/>
+<record name="BindAccelerationStructureMemoryInfoNV" c:type="VkBindAccelerationStructureMemoryInfoNV"/>
+<record name="WriteDescriptorSetAccelerationStructureNV" 
c:type="VkWriteDescriptorSetAccelerationStructureNV"/>
+<record name="AccelerationStructureMemoryRequirementsInfoNV" 
c:type="VkAccelerationStructureMemoryRequirementsInfoNV"/>
+<record name="PhysicalDeviceRayTracingPropertiesNV" c:type="VkPhysicalDeviceRayTracingPropertiesNV"/>
+<record name="PhysicalDeviceRepresentativeFragmentTestFeaturesNV" 
c:type="VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV"/>
+<record name="PipelineRepresentativeFragmentTestStateCreateInfoNV" 
c:type="VkPipelineRepresentativeFragmentTestStateCreateInfoNV"/>
+<record name="PhysicalDeviceImageViewImageFormatInfoEXT" 
c:type="VkPhysicalDeviceImageViewImageFormatInfoEXT"/>
+<record name="FilterCubicImageViewImageFormatPropertiesEXT" 
c:type="VkFilterCubicImageViewImageFormatPropertiesEXT"/>
+<record name="QueueGlobalPriorityEXT" c:type="VkQueueGlobalPriorityEXT"/>
+<record name="DeviceQueueGlobalPriorityCreateInfoEXT" c:type="VkDeviceQueueGlobalPriorityCreateInfoEXT"/>
+<record name="ImportMemoryHostPointerInfoEXT" c:type="VkImportMemoryHostPointerInfoEXT"/>
+<record name="MemoryHostPointerPropertiesEXT" c:type="VkMemoryHostPointerPropertiesEXT"/>
+<record name="PhysicalDeviceExternalMemoryHostPropertiesEXT" 
c:type="VkPhysicalDeviceExternalMemoryHostPropertiesEXT"/>
+<record name="TimeDomainEXT" c:type="VkTimeDomainEXT"/>
+<record name="CalibratedTimestampInfoEXT" c:type="VkCalibratedTimestampInfoEXT"/>
+<record name="PhysicalDeviceShaderCorePropertiesAMD" c:type="VkPhysicalDeviceShaderCorePropertiesAMD"/>
+<record name="MemoryOverallocationBehaviorAMD" c:type="VkMemoryOverallocationBehaviorAMD"/>
+<record name="DeviceMemoryOverallocationCreateInfoAMD" c:type="VkDeviceMemoryOverallocationCreateInfoAMD"/>
+<record name="PhysicalDeviceVertexAttributeDivisorPropertiesEXT" 
c:type="VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT"/>
+<record name="VertexInputBindingDivisorDescriptionEXT" c:type="VkVertexInputBindingDivisorDescriptionEXT"/>
+<record name="PipelineVertexInputDivisorStateCreateInfoEXT" 
c:type="VkPipelineVertexInputDivisorStateCreateInfoEXT"/>
+<record name="PhysicalDeviceVertexAttributeDivisorFeaturesEXT" 
c:type="VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT"/>
+<record name="PipelineCreationFeedbackFlagBitsEXT" c:type="VkPipelineCreationFeedbackFlagBitsEXT"/>
+<record name="PipelineCreationFeedbackFlagsEXT" c:type="VkPipelineCreationFeedbackFlagsEXT"/>
+<record name="PipelineCreationFeedbackEXT" c:type="VkPipelineCreationFeedbackEXT"/>
+<record name="PipelineCreationFeedbackCreateInfoEXT" c:type="VkPipelineCreationFeedbackCreateInfoEXT"/>
+<record name="PhysicalDeviceComputeShaderDerivativesFeaturesNV" 
c:type="VkPhysicalDeviceComputeShaderDerivativesFeaturesNV"/>
+<record name="PhysicalDeviceMeshShaderFeaturesNV" c:type="VkPhysicalDeviceMeshShaderFeaturesNV"/>
+<record name="PhysicalDeviceMeshShaderPropertiesNV" c:type="VkPhysicalDeviceMeshShaderPropertiesNV"/>
+<record name="DrawMeshTasksIndirectCommandNV" c:type="VkDrawMeshTasksIndirectCommandNV"/>
+<record name="PhysicalDeviceFragmentShaderBarycentricFeaturesNV" 
c:type="VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV"/>
+<record name="PhysicalDeviceShaderImageFootprintFeaturesNV" 
c:type="VkPhysicalDeviceShaderImageFootprintFeaturesNV"/>
+<record name="PipelineViewportExclusiveScissorStateCreateInfoNV" 
c:type="VkPipelineViewportExclusiveScissorStateCreateInfoNV"/>
+<record name="PhysicalDeviceExclusiveScissorFeaturesNV" c:type="VkPhysicalDeviceExclusiveScissorFeaturesNV"/>
+<record name="QueueFamilyCheckpointPropertiesNV" c:type="VkQueueFamilyCheckpointPropertiesNV"/>
+<record name="CheckpointDataNV" c:type="VkCheckpointDataNV"/>
+<record name="PhysicalDevicePCIBusInfoPropertiesEXT" c:type="VkPhysicalDevicePCIBusInfoPropertiesEXT"/>
+<record name="DisplayNativeHdrSurfaceCapabilitiesAMD" c:type="VkDisplayNativeHdrSurfaceCapabilitiesAMD"/>
+<record name="SwapchainDisplayNativeHdrCreateInfoAMD" c:type="VkSwapchainDisplayNativeHdrCreateInfoAMD"/>
+<record name="PhysicalDeviceFragmentDensityMapFeaturesEXT" 
c:type="VkPhysicalDeviceFragmentDensityMapFeaturesEXT"/>
+<record name="PhysicalDeviceFragmentDensityMapPropertiesEXT" 
c:type="VkPhysicalDeviceFragmentDensityMapPropertiesEXT"/>
+<record name="RenderPassFragmentDensityMapCreateInfoEXT" 
c:type="VkRenderPassFragmentDensityMapCreateInfoEXT"/>
+<record name="PhysicalDeviceScalarBlockLayoutFeaturesEXT" 
c:type="VkPhysicalDeviceScalarBlockLayoutFeaturesEXT"/>
+<record name="PhysicalDeviceMemoryBudgetPropertiesEXT" c:type="VkPhysicalDeviceMemoryBudgetPropertiesEXT"/>
+<record name="PhysicalDeviceMemoryPriorityFeaturesEXT" c:type="VkPhysicalDeviceMemoryPriorityFeaturesEXT"/>
+<record name="MemoryPriorityAllocateInfoEXT" c:type="VkMemoryPriorityAllocateInfoEXT"/>
+<record name="PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV" 
c:type="VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV"/>
+<record name="DeviceAddress" c:type="VkDeviceAddress"/>
+<record name="PhysicalDeviceBufferDeviceAddressFeaturesEXT" 
c:type="VkPhysicalDeviceBufferDeviceAddressFeaturesEXT"/>
+<record name="PhysicalDeviceBufferAddressFeaturesEXT" c:type="VkPhysicalDeviceBufferAddressFeaturesEXT"/>
+<record name="BufferDeviceAddressInfoEXT" c:type="VkBufferDeviceAddressInfoEXT"/>
+<record name="BufferDeviceAddressCreateInfoEXT" c:type="VkBufferDeviceAddressCreateInfoEXT"/>
+<record name="ImageStencilUsageCreateInfoEXT" c:type="VkImageStencilUsageCreateInfoEXT"/>
+<record name="ValidationFeatureEnableEXT" c:type="VkValidationFeatureEnableEXT"/>
+<record name="ValidationFeatureDisableEXT" c:type="VkValidationFeatureDisableEXT"/>
+<record name="ValidationFeaturesEXT" c:type="VkValidationFeaturesEXT"/>
+<record name="ComponentTypeNV" c:type="VkComponentTypeNV"/>
+<record name="ScopeNV" c:type="VkScopeNV"/>
+<record name="CooperativeMatrixPropertiesNV" c:type="VkCooperativeMatrixPropertiesNV"/>
+<record name="PhysicalDeviceCooperativeMatrixFeaturesNV" 
c:type="VkPhysicalDeviceCooperativeMatrixFeaturesNV"/>
+<record name="PhysicalDeviceCooperativeMatrixPropertiesNV" 
c:type="VkPhysicalDeviceCooperativeMatrixPropertiesNV"/>
+<record name="CoverageReductionModeNV" c:type="VkCoverageReductionModeNV"/>
+<record name="PipelineCoverageReductionStateCreateFlagsNV" 
c:type="VkPipelineCoverageReductionStateCreateFlagsNV"/>
+<record name="PhysicalDeviceCoverageReductionModeFeaturesNV" 
c:type="VkPhysicalDeviceCoverageReductionModeFeaturesNV"/>
+<record name="PipelineCoverageReductionStateCreateInfoNV" 
c:type="VkPipelineCoverageReductionStateCreateInfoNV"/>
+<record name="FramebufferMixedSamplesCombinationNV" c:type="VkFramebufferMixedSamplesCombinationNV"/>
+<record name="PhysicalDeviceYcbcrImageArraysFeaturesEXT" 
c:type="VkPhysicalDeviceYcbcrImageArraysFeaturesEXT"/>
+<record name="HeadlessSurfaceCreateFlagsEXT" c:type="VkHeadlessSurfaceCreateFlagsEXT"/>
+<record name="HeadlessSurfaceCreateInfoEXT" c:type="VkHeadlessSurfaceCreateInfoEXT"/>
+<record name="PhysicalDeviceHostQueryResetFeaturesEXT" c:type="VkPhysicalDeviceHostQueryResetFeaturesEXT"/>
+
+  </namespace>
+</repository>
\ No newline at end of file
diff --git a/gir/meson.build b/gir/meson.build
index c77ee6dd..dda1173b 100644
--- a/gir/meson.build
+++ b/gir/meson.build
@@ -26,6 +26,7 @@ gir_files = [
   'freetype2-2.0.gir',
   'GL-1.0.gir',
   'libxml2-2.0.gir',
+  'Vulkan-1.0.gir',
   'xft-2.0.gir',
   'xlib-2.0.gir',
   'xfixes-4.0.gir',
diff --git a/misc/update-vulkan-gir.py b/misc/update-vulkan-gir.py
new file mode 100644
index 00000000..89792c12
--- /dev/null
+++ b/misc/update-vulkan-gir.py
@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+
+# Example invocation
+# cd /path/to/gobject-introspection
+# python3 misc/update-vulkan-gir.py -i /usr/include/vulkan/vulkan.h -o gir/Vulkan-1.0.gir 
--extra-cpp-args='-I/path/to/pycparser/utils/fake_libc_include/'
+
+import sys
+import argparse
+
+from pycparser import c_parser, c_ast, parse_file
+
+class TypedefVisitor(c_ast.NodeVisitor):
+    def __init__ (self, f):
+        super().__init__()
+        self.f = f
+
+    def visit_Typedef(self, node):
+        if node.name.startswith("Vk"):
+            self.f.write("<record name=\"" + str(node.name)[2:] + "\" c:type=\"" + str(node.name) + "\"/>\n")
+
+def show_func_defs(filename, output, extra_cpp_args=None):
+    # Note that cpp is used. Provide a path to your own cpp or
+    # make sure one exists in PATH.
+    ast = parse_file(filename, use_cpp=True,
+                     cpp_args=extra_cpp_args)
+
+    with open(output, 'w') as f:
+        f.write("""<?xml version="1.0"?>
+<repository version="1.2"
+            xmlns="http://www.gtk.org/introspection/core/1.0";
+            xmlns:c="http://www.gtk.org/introspection/c/1.0";>
+  <namespace name="Vulkan" version="1.0"
+            c:identifier-prefixes="VK"
+            c:symbol-prefixes="vk">
+""")
+        v = TypedefVisitor(f)
+        v.visit(ast)
+        f.write("""
+  </namespace>
+</repository>
+""")
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(description="Parse Vulkan header files to produce Vulkan-1.0.gir")
+    parser.add_argument('-i', '--input', type=str,
+        help='The input vulkan header to process')
+    parser.add_argument('--extra-cpp-args', type=str, default=None,
+        help='Extra arguments to parse to the C Preprocesser.  e.g. the location pycparser\'s fake libc 
includes')
+    parser.add_argument('-o', '--output', type=str, default='Vulkan-1.0.gir',
+        help='The output Vulkan-1.0.gir location')
+    args = parser.parse_args(sys.argv[1:])
+    show_func_defs(args.input, args.output, args.extra_cpp_args)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]