1#!/usr/bin/python3 2# 3# Copyright 2016-2022 The Khronos Group Inc. 4# 5# SPDX-License-Identifier: Apache-2.0 6 7refDesc = {} 8 9# These are extracted from the original handwritten ref pages 10# This is a one-time measure to inject // refBegin markup into the spec. 11 12refDesc['vkAcquireNextImageKHR'] = 'Retrieve the index of the next available presentable image' 13refDesc['vkAllocateCommandBuffers'] = 'Allocate command buffers from an existing command pool' 14refDesc['vkAllocateDescriptorSets'] = 'Allocate one or more descriptor sets' 15refDesc['vkAllocateMemory'] = 'Allocate GPU memory' 16refDesc['VkAllocationCallbacks'] = 'Structure containing callback function pointers for memory allocation' 17refDesc['vkBeginCommandBuffer'] = 'Start recording a command buffer' 18refDesc['vkBindBufferMemory'] = 'Bind device memory to a buffer object' 19refDesc['vkBindImageMemory'] = 'Bind device memory to an image object' 20refDesc['VkBufferCreateFlags'] = 'Buffer object creation flags' 21refDesc['VkBufferCreateInfo'] = 'Structure specifying the parameters of a newly created buffer object' 22refDesc['VkBufferMemoryBarrier'] = 'Structure specifying the parameters of a buffer memory barrier' 23refDesc['VkBufferUsageFlags'] = 'Buffer object usage flags' 24refDesc['vkCmdBeginQuery'] = 'Begin a query' 25refDesc['vkCmdBeginRenderPass'] = 'Begin a new render pass' 26refDesc['vkCmdBindDescriptorSets'] = 'Binds descriptor sets to a command buffer' 27refDesc['vkCmdBindIndexBuffer'] = 'Bind an index buffer to a command buffer' 28refDesc['vkCmdBindPipeline'] = 'Bind a pipeline object to a command buffer' 29refDesc['vkCmdBindVertexBuffers'] = 'Bind vertex buffers to a command buffer' 30refDesc['vkCmdBlitImage'] = 'Copy regions of an image, potentially performing format conversion,' 31refDesc['vkCmdClearAttachments'] = 'Clear regions within currently bound framebuffer attachments' 32refDesc['vkCmdClearColorImage'] = 'Clear regions of a color image' 33refDesc['vkCmdClearDepthStencilImage'] = 'Fill regions of a combined depth-stencil image' 34refDesc['vkCmdCopyBufferToImage'] = 'Copy data from a buffer into an image' 35refDesc['vkCmdCopyBuffer'] = 'Copy data between buffer regions' 36refDesc['vkCmdCopyImageToBuffer'] = 'Copy image data into a buffer' 37refDesc['vkCmdCopyImage'] = 'Copy data between images' 38refDesc['vkCmdCopyQueryPoolResults'] = 'Copy the results of queries in a query pool to a buffer object' 39refDesc['vkCmdDispatchIndirect'] = 'Dispatch compute work items using indirect parameters' 40refDesc['vkCmdDispatch'] = 'Dispatch compute work items' 41refDesc['vkCmdDrawIndexedIndirect'] = 'Perform an indexed indirect draw' 42refDesc['vkCmdDrawIndexed'] = 'Issue an indexed draw into a command buffer' 43refDesc['vkCmdDrawIndirect'] = 'Issue an indirect draw into a command buffer' 44refDesc['vkCmdDraw'] = 'Draw primitives' 45refDesc['vkCmdEndQuery'] = 'Ends a query' 46refDesc['vkCmdEndRenderPass'] = 'End the current render pass' 47refDesc['vkCmdExecuteCommands'] = 'Execute a secondary command buffer from a primary command buffer' 48refDesc['vkCmdFillBuffer'] = 'Fill a region of a buffer with a fixed value' 49refDesc['vkCmdNextSubpass'] = 'Transition to the next subpass of a render pass' 50refDesc['vkCmdPipelineBarrier'] = 'Insert a set of execution and memory barriers' 51refDesc['vkCmdPushConstants'] = 'Update the values of push constants' 52refDesc['vkCmdResetEvent'] = 'Reset an event object to non-signaled state' 53refDesc['vkCmdResetQueryPool'] = 'Reset queries in a query pool' 54refDesc['vkCmdResolveImage'] = 'Resolve regions of an image' 55refDesc['vkCmdSetBlendConstants'] = 'Set the values of blend constants' 56refDesc['vkCmdSetDepthBias'] = 'Set the depth bias dynamic state' 57refDesc['vkCmdSetDepthBounds'] = 'Set the depth bounds test values for a command buffer' 58refDesc['vkCmdSetEvent'] = 'Set an event object to signaled state' 59refDesc['vkCmdSetLineWidth'] = 'Set the dynamic line width state' 60refDesc['vkCmdSetScissor'] = 'Set the dynamic scissor rectangles on a command buffer' 61refDesc['vkCmdSetStencilCompareMask'] = 'Set the stencil compare mask dynamic state' 62refDesc['vkCmdSetStencilReference'] = 'Set the stencil reference dynamic state' 63refDesc['vkCmdSetStencilWriteMask'] = 'Set the stencil write mask dynamic state' 64refDesc['vkCmdSetViewport'] = 'Set the viewport on a command buffer' 65refDesc['vkCmdUpdateBuffer'] = 'Update a buffer\'s contents from host memory' 66refDesc['vkCmdWaitEvents'] = 'Wait for one or more events and insert a set of memory' 67refDesc['vkCmdWriteTimestamp'] = 'Write a device timestamp into a query object' 68refDesc['VkCommandBufferAllocateInfo'] = 'Structure specifying the allocation parameters for command buffer object' 69refDesc['vkCreateAndroidSurfaceKHR'] = 'Create a slink:VkSurfaceKHR object for an Android native window' 70refDesc['vkCreateBuffer'] = 'Create a new buffer object' 71refDesc['vkCreateBufferView'] = 'Create a new buffer view object' 72refDesc['vkCreateCommandPool'] = 'Create a new command pool object' 73refDesc['vkCreateComputePipelines'] = 'Creates a new compute pipeline object' 74refDesc['vkCreateDescriptorPool'] = 'Creates a descriptor pool object' 75refDesc['vkCreateDescriptorSetLayout'] = 'Create a new descriptor set layout' 76refDesc['vkCreateDevice'] = 'Create a new device instance' 77refDesc['vkCreateDisplayModeKHR'] = 'Create a display mode' 78refDesc['vkCreateDisplayPlaneSurfaceKHR'] = 'Create a slink:VkSurfaceKHR structure representing a display plane and mode' 79refDesc['vkCreateEvent'] = 'Create a new event object' 80refDesc['vkCreateFence'] = 'Create a new fence object' 81refDesc['vkCreateFramebuffer'] = 'Create a new framebuffer object' 82refDesc['vkCreateGraphicsPipelines'] = 'Create graphics pipelines' 83refDesc['vkCreateImage'] = 'Create a new image object' 84refDesc['vkCreateImageView'] = 'Create an image view from an existing image' 85refDesc['vkCreateInstance'] = 'Create a new Vulkan instance' 86refDesc['vkCreateMirSurfaceKHR'] = 'Create a slink:VkSurfaceKHR object for a Mir window' 87refDesc['vkCreatePipelineCache'] = 'Creates a new pipeline cache' 88refDesc['vkCreatePipelineLayout'] = 'Creates a new pipeline layout object' 89refDesc['vkCreateQueryPool'] = 'Create a new query pool object' 90refDesc['vkCreateRenderPass'] = 'Create a new render pass object' 91refDesc['vkCreateSampler'] = 'Create a new sampler object' 92refDesc['vkCreateSemaphore'] = 'Create a new queue semaphore object' 93refDesc['vkCreateShaderModule'] = 'Creates a new shader module object' 94refDesc['vkCreateSharedSwapchainsKHR'] = 'Create multiple swapchains that share presentable images' 95refDesc['vkCreateSwapchainKHR'] = 'Create a swapchain' 96refDesc['vkCreateWaylandSurfaceKHR'] = 'Create a slink:VkSurfaceKHR object for a Wayland window' 97refDesc['vkCreateXcbSurfaceKHR'] = 'Create a slink:VkSurfaceKHR object for a X11 window, using the XCB client-side library' 98refDesc['vkCreateXlibSurfaceKHR'] = 'Create a slink:VkSurfaceKHR object for an X11 window, using the Xlib client-side library' 99refDesc['VkDescriptorSetAllocateInfo'] = 'Structure specifying the allocation parameters for descriptor sets' 100refDesc['VkDescriptorType'] = 'Specifies the type of a descriptor in a descriptor set' 101refDesc['vkDestroyBuffer'] = 'Destroy a buffer object' 102refDesc['vkDestroyBufferView'] = 'Destroy a buffer view object' 103refDesc['vkDestroyCommandPool'] = 'Destroy a command pool object' 104refDesc['vkDestroyDescriptorPool'] = 'Destroy a descriptor pool object' 105refDesc['vkDestroyDescriptorSetLayout'] = 'Destroy a descriptor set layout object' 106refDesc['vkDestroyDevice'] = 'Destroy a logical device' 107refDesc['vkDestroyEvent'] = 'Destroy an event object' 108refDesc['vkDestroyFence'] = 'Destroy a fence object' 109refDesc['vkDestroyFramebuffer'] = 'Destroy a framebuffer object' 110refDesc['vkDestroyImage'] = 'Destroy an image object' 111refDesc['vkDestroyImageView'] = 'Destroy an image view object' 112refDesc['vkDestroyInstance'] = 'Destroy an instance of Vulkan' 113refDesc['vkDestroyPipelineCache'] = 'Destroy a pipeline cache object' 114refDesc['vkDestroyPipelineLayout'] = 'Destroy a pipeline layout object' 115refDesc['vkDestroyPipeline'] = 'Destroy a pipeline object' 116refDesc['vkDestroyQueryPool'] = 'Destroy a query pool object' 117refDesc['vkDestroyRenderPass'] = 'Destroy a render pass object' 118refDesc['vkDestroySampler'] = 'Destroy a sampler object' 119refDesc['vkDestroySemaphore'] = 'Destroy a semaphore object' 120refDesc['vkDestroyShaderModule'] = 'Destroy a shader module' 121refDesc['vkDestroySurfaceKHR'] = 'Destroy a VkSurfaceKHR object' 122refDesc['vkDestroySwapchainKHR'] = 'Destroy a swapchain object' 123refDesc['vkDeviceWaitIdle'] = 'Wait for a device to become idle' 124refDesc['vkEndCommandBuffer'] = 'Finish recording a command buffer' 125refDesc['vkEnumerateDeviceExtensionProperties'] = 'Returns properties of available physical device extensions' 126refDesc['vkEnumerateDeviceLayerProperties'] = 'Returns properties of available physical device layers' 127refDesc['vkEnumerateInstanceExtensionProperties'] = 'Returns up to requested number of global extension properties' 128refDesc['vkEnumerateInstanceLayerProperties'] = 'Returns up to requested number of global layer properties' 129refDesc['vkEnumeratePhysicalDevices'] = 'Enumerates the physical devices accessible to a Vulkan instance' 130refDesc['vkFlushMappedMemoryRanges'] = 'Flush mapped memory ranges' 131refDesc['VkFormatFeatureFlags'] = 'Capability flags of a particular format' 132refDesc['vkFreeCommandBuffers'] = 'Free command buffers' 133refDesc['vkFreeDescriptorSets'] = 'Free one or more descriptor sets' 134refDesc['vkFreeMemory'] = 'Free GPU memory' 135refDesc['vkGetBufferMemoryRequirements'] = 'Returns the memory requirements for specified Vulkan object' 136refDesc['vkGetDeviceMemoryCommitment'] = 'Query the current commitment for a VkDeviceMemory' 137refDesc['vkGetDeviceProcAddr'] = 'Return a function pointer for a command' 138refDesc['vkGetDeviceQueue'] = 'Get a queue handle from a device' 139refDesc['vkGetDisplayModePropertiesKHR'] = 'Query the set of mode properties supported by the display' 140refDesc['vkGetDisplayPlaneCapabilitiesKHR'] = 'Query capabilities of a mode and plane combination' 141refDesc['vkGetDisplayPlaneSupportedDisplaysKHR'] = 'Query the list of displays a plane supports' 142refDesc['vkGetEventStatus'] = 'Retrieve the status of an event object' 143refDesc['vkGetFenceStatus'] = 'Return the status of a fence' 144refDesc['vkGetImageMemoryRequirements'] = 'Returns the memory requirements for specified Vulkan object' 145refDesc['vkGetImageSparseMemoryRequirements'] = 'Query the memory requirements for a sparse image' 146refDesc['vkGetImageSubresourceLayout'] = 'Retrieve information about an image subresource' 147refDesc['vkGetInstanceProcAddr'] = 'Return a function pointer for a command' 148refDesc['vkGetPhysicalDeviceDisplayPlanePropertiesKHR'] = 'Query the plane properties' 149refDesc['vkGetPhysicalDeviceDisplayPropertiesKHR'] = 'Query information about the available displays' 150refDesc['vkGetPhysicalDeviceFeatures'] = 'Reports capabilities of a physical device' 151refDesc['vkGetPhysicalDeviceFormatProperties'] = 'Lists physical device\'s format capabilities' 152refDesc['vkGetPhysicalDeviceImageFormatProperties'] = 'Lists physical device\'s image format capabilities' 153refDesc['vkGetPhysicalDeviceMemoryProperties'] = 'Reports memory information for the specified physical device' 154refDesc['vkGetPhysicalDeviceMirPresentationSupportKHR'] = 'Query physical device for presentation to Mir' 155refDesc['vkGetPhysicalDeviceProperties'] = 'Returns properties of a physical device' 156refDesc['vkGetPhysicalDeviceQueueFamilyProperties'] = 'Reports properties of the queues of the specified physical device' 157refDesc['vkGetPhysicalDeviceSparseImageFormatProperties'] = 'Retrieve properties of an image format applied to sparse images' 158refDesc['vkGetPhysicalDeviceSurfaceCapabilitiesKHR'] = 'Query surface capabilities' 159refDesc['vkGetPhysicalDeviceSurfaceFormatsKHR'] = 'Query color formats supported by surface' 160refDesc['vkGetPhysicalDeviceSurfacePresentModesKHR'] = 'Query supported presentation modes' 161refDesc['vkGetPhysicalDeviceSurfaceSupportKHR'] = 'Query if presentation is supported' 162refDesc['vkGetPhysicalDeviceWaylandPresentationSupportKHR'] = 'Query physical device for presentation to Wayland' 163refDesc['vkGetPhysicalDeviceXcbPresentationSupportKHR'] = 'Query physical device for presentation to X11 server using XCB' 164refDesc['vkGetPhysicalDeviceXlibPresentationSupportKHR'] = 'Query physical device for presentation to X11 server using Xlib' 165refDesc['vkGetPipelineCacheData'] = 'Get the data store from a pipeline cache' 166refDesc['vkGetQueryPoolResults'] = 'Copy results of queries in a query pool to a host memory region' 167refDesc['vkGetRenderAreaGranularity'] = 'Returns the granularity for optimal render area' 168refDesc['vkGetSwapchainImagesKHR'] = 'Obtain the array of presentable images associated with a swapchain' 169refDesc['VkImageCreateFlags'] = 'Image object creation flags' 170refDesc['VkImageCreateInfo'] = 'Structure specifying the parameters of a newly created image object' 171refDesc['VkImageLayout'] = 'Layout of image and image subresources' 172refDesc['VkImageMemoryBarrier'] = 'Structure specifying the parameters of an image memory barrier' 173refDesc['VkImageType'] = 'Specifies the type of an image object' 174refDesc['VkImageUsageFlags'] = 'Image object usage flags' 175refDesc['VkImageViewType'] = 'Image view types' 176refDesc['vkInvalidateMappedMemoryRanges'] = 'Invalidate ranges of mapped memory objects' 177refDesc['vkMapMemory'] = 'Map a memory object into application address space' 178refDesc['VkMemoryAllocateInfo'] = 'Structure containing parameters of a memory allocation' 179refDesc['VkMemoryPropertyFlags'] = 'Memory pool properties' 180refDesc['vkMergePipelineCaches'] = 'Combine the data stores of pipeline caches' 181refDesc['VkPhysicalDeviceFeatures'] = 'Structure describing the fine-grained features that can be supported by an implementation' 182refDesc['VkPhysicalDeviceLimits'] = 'Structure' 183refDesc['VkPipelineLayoutCreateInfo'] = 'Structure specifying the parameters of a newly created pipeline layout object' 184refDesc['VkPipelineStageFlags'] = 'Pipeline stage identifiers' 185refDesc['VkQueryControlFlags'] = 'Query control flags' 186refDesc['VkQueryResultFlags'] = 'Query result flags' 187refDesc['vkQueueBindSparse'] = 'Bind device memory to a sparse resource object' 188refDesc['VkQueueFamilyProperties'] = 'Structure providing information about a queue family' 189refDesc['VkQueueFlags'] = 'Queue capability flags' 190refDesc['vkQueuePresentKHR'] = 'Queue an image for presentation' 191refDesc['vkQueueSubmit'] = 'Submits a sequence of semaphores or command buffers to a queue' 192refDesc['vkQueueWaitIdle'] = 'Wait for a queue to become idle' 193refDesc['vkResetCommandBuffer'] = 'Reset a command buffer' 194refDesc['vkResetCommandPool'] = 'Reset a command pool' 195refDesc['vkResetDescriptorPool'] = 'Resets a descriptor pool object' 196refDesc['vkResetEvent'] = 'Reset an event to non-signaled state' 197refDesc['vkResetFences'] = 'Resets one or more fence objects' 198refDesc['vkSetEvent'] = 'Set an event to signaled state' 199refDesc['VkSharingMode'] = 'Buffer and image sharing modes' 200refDesc['vkUnmapMemory'] = 'Unmap a previously mapped memory object' 201refDesc['vkUpdateDescriptorSets'] = 'Update the contents of a descriptor set object' 202refDesc['vkWaitForFences'] = 'Wait for one or more fences to become signaled' 203refDesc['VkWriteDescriptorSet'] = 'Structure specifying the parameters of a descriptor set write operation' 204refDesc['VkAndroidSurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Android surface object' 205refDesc['VkDebugReportCallbackCreateInfoEXT'] = 'Structure specifying parameters of a newly created debug report object' 206refDesc['VkDisplayModeCreateInfoKHR'] = 'Structure specifying parameters of a newly created display mode object' 207refDesc['VkDisplayModeParametersKHR'] = 'Structure describing display parameters associated with a display mode' 208refDesc['VkDisplayModePropertiesKHR'] = 'Structure describing display mode properties' 209refDesc['VkDisplayPlaneCapabilitiesKHR'] = 'Structure describing capabilities of a mode and plane combination' 210refDesc['VkDisplayPlanePropertiesKHR'] = 'Structure describing display plane properties' 211refDesc['VkDisplayPresentInfoKHR'] = 'Structure describing parameters of a queue presentation to a swapchain' 212refDesc['VkDisplayPropertiesKHR'] = 'Structure describing an available display device' 213refDesc['VkDisplaySurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created display plane surface object' 214refDesc['VkMirSurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Mir surface object' 215refDesc['VkPresentInfoKHR'] = 'Structure describing parameters of a queue presentation' 216refDesc['VkSurfaceCapabilitiesKHR'] = 'Structure describing capabilities of a surface' 217refDesc['VkSurfaceFormatKHR'] = 'Structure describing a supported swapchain format-colorspace pair' 218refDesc['VkSwapchainCreateInfoKHR'] = 'Structure specifying parameters of a newly created swapchain object' 219refDesc['VkWaylandSurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Wayland surface object' 220refDesc['VkWin32SurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Win32 surface object' 221refDesc['VkXcbSurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Xcb surface object' 222refDesc['VkXlibSurfaceCreateInfoKHR'] = 'Structure specifying parameters of a newly created Xlib surface object' 223 224# These are generated based on the structure name 225 226refDesc['VkBufferViewCreateInfo'] = 'Structure specifying parameters of a newly created buffer view' 227refDesc['VkCommandPoolCreateInfo'] = 'Structure specifying parameters of a newly created command pool' 228refDesc['VkComputePipelineCreateInfo'] = 'Structure specifying parameters of a newly created compute pipeline' 229refDesc['VkDescriptorPoolCreateInfo'] = 'Structure specifying parameters of a newly created descriptor pool' 230refDesc['VkDescriptorSetLayoutCreateInfo'] = 'Structure specifying parameters of a newly created descriptor set layout' 231refDesc['VkDeviceCreateInfo'] = 'Structure specifying parameters of a newly created device' 232refDesc['VkDeviceQueueCreateInfo'] = 'Structure specifying parameters of a newly created device queue' 233refDesc['VkEventCreateInfo'] = 'Structure specifying parameters of a newly created event' 234refDesc['VkExtent2D'] = 'Structure specifying a two-dimensional extent' 235refDesc['VkExtent3D'] = 'Structure specifying a three-dimensional extent' 236refDesc['VkFenceCreateInfo'] = 'Structure specifying parameters of a newly created fence' 237refDesc['VkFramebufferCreateInfo'] = 'Structure specifying parameters of a newly created framebuffer' 238refDesc['VkGraphicsPipelineCreateInfo'] = 'Structure specifying parameters of a newly created graphics pipeline' 239refDesc['VkImageViewCreateInfo'] = 'Structure specifying parameters of a newly created image view' 240refDesc['VkInstanceCreateInfo'] = 'Structure specifying parameters of a newly created instance' 241refDesc['VkOffset2D'] = 'Structure specifying a two-dimensional offset' 242refDesc['VkOffset3D'] = 'Structure specifying a three-dimensional offset' 243refDesc['VkPipelineCacheCreateInfo'] = 'Structure specifying parameters of a newly created pipeline cache' 244refDesc['VkPipelineColorBlendStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline color blend state' 245refDesc['VkPipelineDepthStencilStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline depth stencil state' 246refDesc['VkPipelineDynamicStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline dynamic state' 247refDesc['VkPipelineInputAssemblyStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline input assembly state' 248refDesc['VkPipelineMultisampleStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline multisample state' 249refDesc['VkPipelineRasterizationStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline rasterization state' 250refDesc['VkPipelineShaderStageCreateInfo'] = 'Structure specifying parameters of a newly created pipeline shader stage' 251refDesc['VkPipelineTessellationStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline tessellation state' 252refDesc['VkPipelineVertexInputStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline vertex input state' 253refDesc['VkPipelineViewportStateCreateInfo'] = 'Structure specifying parameters of a newly created pipeline viewport state' 254refDesc['VkQueryPoolCreateInfo'] = 'Structure specifying parameters of a newly created query pool' 255refDesc['VkRect2D'] = 'Structure specifying a two-dimensional subregion' 256refDesc['VkRenderPassCreateInfo'] = 'Structure specifying parameters of a newly created render pass' 257refDesc['VkSamplerCreateInfo'] = 'Structure specifying parameters of a newly created sampler' 258refDesc['VkSemaphoreCreateInfo'] = 'Structure specifying parameters of a newly created semaphore' 259refDesc['VkShaderModuleCreateInfo'] = 'Structure specifying parameters of a newly created shader module' 260 261# These are TBD 262 263refDesc['VkApplicationInfo'] = 'Structure specifying application info' 264refDesc['VkAttachmentDescription'] = 'Structure specifying an attachment description' 265refDesc['VkAttachmentReference'] = 'Structure specifying an attachment reference' 266refDesc['VkBindSparseInfo'] = 'Structure specifying a sparse binding operation' 267refDesc['VkBufferCopy'] = 'Structure specifying a buffer copy operation' 268refDesc['VkBufferImageCopy'] = 'Structure specifying a buffer image copy operation' 269refDesc['VkClearAttachment'] = 'Structure specifying a clear attachment' 270refDesc['VkClearColorValue'] = 'Structure specifying a clear color value' 271refDesc['VkClearDepthStencilValue'] = 'Structure specifying a clear depth stencil value' 272refDesc['VkClearRect'] = 'Structure specifying a clear rectangle' 273refDesc['VkClearValue'] = 'Structure specifying a clear value' 274refDesc['VkCommandBufferBeginInfo'] = 'Structure specifying a command buffer begin operation' 275refDesc['VkCommandBufferInheritanceInfo'] = 'Structure specifying command buffer inheritance info' 276refDesc['VkCommandBufferLevel'] = 'Structure specifying a command buffer level' 277refDesc['VkComponentMapping'] = 'Structure specifying a color component mapping' 278refDesc['VkCopyDescriptorSet'] = 'Structure specifying a copy descriptor set operation' 279refDesc['VkDescriptorBufferInfo'] = 'Structure specifying descriptor buffer info' 280refDesc['VkDescriptorImageInfo'] = 'Structure specifying descriptor image info' 281refDesc['VkDescriptorPoolSize'] = 'Structure specifying descriptor pool size' 282refDesc['VkDescriptorSetLayoutBinding'] = 'Structure specifying a descriptor set layout binding' 283refDesc['VkDispatchIndirectCommand'] = 'Structure specifying a dispatch indirect command' 284refDesc['VkDrawIndexedIndirectCommand'] = 'Structure specifying a draw indexed indirect command' 285refDesc['VkDrawIndirectCommand'] = 'Structure specifying a draw indirect command' 286refDesc['VkExtensionProperties'] = 'Structure specifying a extension properties' 287refDesc['VkFormatProperties'] = 'Structure specifying image format properties' 288refDesc['VkImageBlit'] = 'Structure specifying an image blit operation' 289refDesc['VkImageCopy'] = 'Structure specifying an image copy operation' 290refDesc['VkImageFormatProperties'] = 'Structure specifying a image format properties' 291refDesc['VkImageResolve'] = 'Structure specifying an image resolve operation' 292refDesc['VkImageSubresource'] = 'Structure specifying a image subresource' 293refDesc['VkImageSubresourceLayers'] = 'Structure specifying a image subresource layers' 294refDesc['VkImageSubresourceRange'] = 'Structure specifying a image subresource range' 295refDesc['VkLayerProperties'] = 'Structure specifying layer properties' 296refDesc['VkMappedMemoryRange'] = 'Structure specifying a mapped memory range' 297refDesc['VkMemoryBarrier'] = 'Structure specifying a memory barrier' 298refDesc['VkMemoryHeap'] = 'Structure specifying a memory heap' 299refDesc['VkMemoryRequirements'] = 'Structure specifying memory requirements' 300refDesc['VkMemoryType'] = 'Structure specifying memory type' 301refDesc['VkPhysicalDeviceMemoryProperties'] = 'Structure specifying physical device memory properties' 302refDesc['VkPhysicalDeviceProperties'] = 'Structure specifying physical device properties' 303refDesc['VkPhysicalDeviceSparseProperties'] = 'Structure specifying physical device sparse memory properties' 304refDesc['VkPipelineColorBlendAttachmentState'] = 'Structure specifying a pipeline color blend attachment state' 305refDesc['VkPushConstantRange'] = 'Structure specifying a push constant range' 306refDesc['VkRenderPassBeginInfo'] = 'Structure specifying render pass begin info' 307refDesc['VkSparseBufferMemoryBindInfo'] = 'Structure specifying a sparse buffer memory bind operation' 308refDesc['VkSparseImageFormatProperties'] = 'Structure specifying sparse image format properties' 309refDesc['VkSparseImageMemoryBind'] = 'Structure specifying sparse image memory bind' 310refDesc['VkSparseImageMemoryBindInfo'] = 'Structure specifying sparse image memory bind info' 311refDesc['VkSparseImageMemoryRequirements'] = 'Structure specifying sparse image memory requirements' 312refDesc['VkSparseImageOpaqueMemoryBindInfo'] = 'Structure specifying sparse image opaque memory bind info' 313refDesc['VkSparseMemoryBind'] = 'Structure specifying a sparse memory bind operation' 314refDesc['VkSpecializationInfo'] = 'Structure specifying specialization info' 315refDesc['VkSpecializationMapEntry'] = 'Structure specifying a specialization map entry' 316refDesc['VkStencilOpState'] = 'Structure specifying stencil operation state' 317refDesc['VkSubmitInfo'] = 'Structure specifying a queue submit operation' 318refDesc['VkSubpassDependency'] = 'Structure specifying a subpass dependency' 319refDesc['VkSubpassDescription'] = 'Structure specifying a subpass description' 320refDesc['VkSubresourceLayout'] = 'Structure specifying subresource layout' 321refDesc['VkVertexInputAttributeDescription'] = 'Structure specifying vertex input attribute description' 322refDesc['VkVertexInputBindingDescription'] = 'Structure specifying vertex input binding description' 323refDesc['VkViewport'] = 'Structure specifying a viewport' 324 325# These are constructed from spec text 326 327refDesc['VkAccessFlagBits'] = 'Bitmask specifying classes of memory access the will participate in a memory barrier dependency' 328refDesc['VkAttachmentDescriptionFlagBits'] = 'Bitmask specifying additional properties of an attachment' 329refDesc['VkBufferCreateFlagBits'] = 'Bitmask specifying additional parameters of a buffer' 330refDesc['VkBufferUsageFlagBits'] = 'Bitmask specifying allowed usage of a buffer' 331refDesc['VkColorComponentFlagBits'] = 'Bitmask controlling which components are written to the framebuffer' 332refDesc['VkCommandBufferResetFlagBits'] = 'Bitmask controlling behavior of a command buffer reset' 333refDesc['VkCommandBufferUsageFlagBits'] = 'Bitmask specifying usage behavior for command buffer' 334refDesc['VkCommandPoolCreateFlagBits'] = 'Bitmask specifying usage behavior for a command pool' 335refDesc['VkCommandPoolResetFlagBits'] = 'Bitmask controlling behavior of a command pool reset' 336refDesc['VkCullModeFlagBits'] = 'Bitmask controlling triangle culling' 337refDesc['VkDependencyFlagBits'] = 'Bitmask specifying dependencies between subpasses' 338refDesc['VkDescriptorPoolCreateFlagBits'] = 'Bitmask specifying certain supported operations on a descriptor pool' 339refDesc['VkFenceCreateFlagBits'] = 'Bitmask specifying initial state and behavior of a fence' 340refDesc['VkFormatFeatureFlagBits'] = 'Bitmask specifying features supported by a buffer' 341refDesc['VkImageAspectFlagBits'] = 'Bitmask specifying which aspects of an image are included in a view' 342refDesc['VkImageCreateFlagBits'] = 'Bitmask specifying additional parameters of an image' 343refDesc['VkImageUsageFlagBits'] = 'Bitmask specifying intended usage of an image' 344refDesc['VkMemoryHeapFlagBits'] = 'Bitmask specifying attribute flags for a heap' 345refDesc['VkMemoryPropertyFlagBits'] = 'Bitmask specifying properties for a memory type' 346refDesc['VkPipelineCreateFlagBits'] = 'Bitmask controlling how a pipeline is generated' 347refDesc['VkPipelineStageFlagBits'] = 'Bitmask specifying pipeline stages' 348refDesc['VkQueryControlFlagBits'] = 'Bitmask specifying constraints on a query' 349refDesc['VkQueryPipelineStatisticFlagBits'] = 'Bitmask specifying queried pipeline statistics' 350refDesc['VkQueryResultFlagBits'] = 'Bitmask specifying how and when query results are returned' 351refDesc['VkQueueFlagBits'] = 'Bitmask specifying capabilities of queues in a queue family' 352refDesc['VkSampleCountFlagBits'] = 'Bitmask specifying sample counts supported for an image used for storage operations' 353refDesc['VkShaderStageFlagBits'] = 'Bitmask specifying a pipeline stage' 354refDesc['VkSparseImageFormatFlagBits'] = 'Bitmask specifying additional information about a sparse image resource' 355refDesc['VkSparseMemoryBindFlagBits'] = 'Bitmask specifying usage of a sparse memory binding operation' 356refDesc['VkStencilFaceFlagBits'] = 'Bitmask specifying sets of stencil state for which to update the compare mask' 357