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