1#!/usr/bin/python -i 2 3import sys 4import xml.etree.ElementTree as etree 5try: 6 import urllib.request as urllib2 7except ImportError: 8 import urllib2 9import json 10 11############################# 12# vuid_mapping.py script 13# 14# VUID Mapping Details 15# The Vulkan spec creation process automatically generates string-based unique IDs for each Valid Usage statement 16# For implicit VUs, the format is VUID-<func|struct>-[<param_name>]-<type> 17# func|struct is the name of the API function or structure that the VU is under 18# param_name is an optional entry with the name of the function or struct parameter 19# type is the type of implicit check, see table below for possible values 20# 21# For explicit VUs, the format is VUID-<func|struct>-[<param_name>]-<uniqueid> 22# All fields are the same as implicit VUs except the last parameter is a globally unique integer ID instead of a string type 23# 24# The values below are used to map the strings into unique integers that are used for the unique enum values returned by debug callbacks 25# Here's how the bits of the numerical unique ID map to the ID type and values 26# 31:21 - 11 bits that map to unique value for the function/struct 27# 20:1 - 20 bits that map to param-type combo for implicit VU and uniqueid for explicit VU 28# 0 - 1 bit on for implicit VU or off for explicit VU 29# 30# For implicit VUs 20:1 is split into 20:9 for parameter and 8:1 for type 31FUNC_STRUCT_SHIFT = 21 32EXPLICIT_ID_SHIFT = 1 33IMPLICIT_TYPE_SHIFT = 1 34IMPLICIT_PARAM_SHIFT = 9 35explicit_bit0 = 0x0 # All explicit IDs are even 36implicit_bit0 = 0x1 # All implicit IDs are odd 37# Implicit type values, shifted up by ID_SHIFT bits in final ID 38implicit_type_map = { 39'parameter' : 0, 40'requiredbitmask' : 1, 41'zerobitmask' : 2, 42'parent' : 3, 43'commonparent' : 4, 44'sType' : 5, 45'pNext' : 6, 46'unique' : 7, 47'queuetype' : 8, 48'recording' : 9, 49'cmdpool' : 10, 50'renderpass' : 11, 51'bufferlevel' : 12, 52'arraylength' : 13, 53} 54# Function/struct value mappings, shifted up FUNC_STRUCT_SHIFT bits in final ID 55func_struct_id_map = { 56'VkAcquireNextImageInfoKHX' : 0, 57'VkAllocationCallbacks' : 1, 58'VkAndroidSurfaceCreateInfoKHR' : 2, 59'VkApplicationInfo' : 3, 60'VkAttachmentDescription' : 4, 61'VkAttachmentReference' : 5, 62'VkBindBufferMemoryInfoKHR' : 6, 63'VkBindImageMemoryInfoKHR' : 7, 64'VkBindImageMemorySwapchainInfoKHX' : 8, 65'VkBindSparseInfo' : 9, 66'VkBufferCreateInfo' : 10, 67'VkBufferImageCopy' : 11, 68'VkBufferMemoryBarrier' : 12, 69'VkBufferViewCreateInfo' : 13, 70'VkClearAttachment' : 14, 71'VkClearDepthStencilValue' : 15, 72'VkClearValue' : 16, 73'VkCmdProcessCommandsInfoNVX' : 17, 74'VkCmdReserveSpaceForCommandsInfoNVX' : 18, 75'VkCommandBufferAllocateInfo' : 19, 76'VkCommandBufferBeginInfo' : 20, 77'VkCommandBufferInheritanceInfo' : 21, 78'VkCommandPoolCreateInfo' : 22, 79'VkComponentMapping' : 23, 80'VkComputePipelineCreateInfo' : 24, 81'VkCopyDescriptorSet' : 25, 82'VkD3D12FenceSubmitInfoKHR' : 26, 83'VkDebugMarkerMarkerInfoEXT' : 27, 84'VkDebugMarkerObjectNameInfoEXT' : 28, 85'VkDebugMarkerObjectTagInfoEXT' : 29, 86'VkDebugReportCallbackCreateInfoEXT' : 30, 87'VkDedicatedAllocationBufferCreateInfoNV' : 31, 88'VkDedicatedAllocationImageCreateInfoNV' : 32, 89'VkDedicatedAllocationMemoryAllocateInfoNV' : 33, 90'VkDescriptorBufferInfo' : 34, 91'VkDescriptorImageInfo' : 35, 92'VkDescriptorPoolCreateInfo' : 36, 93'VkDescriptorPoolSize' : 37, 94'VkDescriptorSetAllocateInfo' : 38, 95'VkDescriptorSetLayoutBinding' : 39, 96'VkDescriptorSetLayoutCreateInfo' : 40, 97'VkDescriptorUpdateTemplateCreateInfoKHR' : 41, 98'VkDescriptorUpdateTemplateEntryKHR' : 42, 99'VkDeviceCreateInfo' : 43, 100'VkDeviceEventInfoEXT' : 44, 101'VkDeviceGeneratedCommandsFeaturesNVX' : 45, 102'VkDeviceGeneratedCommandsLimitsNVX' : 46, 103'VkDeviceGroupBindSparseInfoKHX' : 47, 104'VkDeviceGroupCommandBufferBeginInfoKHX' : 48, 105'VkDeviceGroupDeviceCreateInfoKHX' : 49, 106'VkDeviceGroupPresentInfoKHX' : 50, 107'VkDeviceGroupRenderPassBeginInfoKHX' : 51, 108'VkDeviceGroupSubmitInfoKHX' : 52, 109'VkDeviceGroupSwapchainCreateInfoKHX' : 53, 110'VkDeviceQueueCreateInfo' : 54, 111'VkDispatchIndirectCommand' : 55, 112'VkDisplayEventInfoEXT' : 56, 113'VkDisplayModeCreateInfoKHR' : 57, 114'VkDisplayPowerInfoEXT' : 58, 115'VkDisplayPresentInfoKHR' : 59, 116'VkDisplaySurfaceCreateInfoKHR' : 60, 117'VkDrawIndexedIndirectCommand' : 61, 118'VkDrawIndirectCommand' : 62, 119'VkEventCreateInfo' : 63, 120'VkExportMemoryAllocateInfoKHR' : 64, 121'VkExportMemoryAllocateInfoNV' : 65, 122'VkExportMemoryWin32HandleInfoKHR' : 66, 123'VkExportMemoryWin32HandleInfoNV' : 67, 124'VkExportSemaphoreCreateInfoKHR' : 68, 125'VkExportSemaphoreWin32HandleInfoKHR' : 69, 126'VkExternalMemoryBufferCreateInfoKHR' : 70, 127'VkExternalMemoryImageCreateInfoKHR' : 71, 128'VkExternalMemoryImageCreateInfoNV' : 72, 129'VkFenceCreateInfo' : 73, 130'VkFramebufferCreateInfo' : 74, 131'VkGraphicsPipelineCreateInfo' : 75, 132'VkIOSSurfaceCreateInfoMVK' : 76, 133'VkImageBlit' : 77, 134'VkImageCopy' : 78, 135'VkImageCreateInfo' : 79, 136'VkImageMemoryBarrier' : 80, 137'VkImageResolve' : 81, 138'VkImageSubresource' : 82, 139'VkImageSubresourceLayers' : 83, 140'VkImageSubresourceRange' : 84, 141'VkImageSwapchainCreateInfoKHX' : 85, 142'VkImageViewCreateInfo' : 86, 143'VkImportMemoryFdInfoKHR' : 87, 144'VkImportMemoryWin32HandleInfoKHR' : 88, 145'VkImportMemoryWin32HandleInfoNV' : 89, 146'VkImportSemaphoreFdInfoKHR' : 90, 147'VkImportSemaphoreWin32HandleInfoKHR' : 91, 148'VkIndirectCommandsLayoutCreateInfoNVX' : 92, 149'VkIndirectCommandsLayoutTokenNVX' : 93, 150'VkIndirectCommandsTokenNVX' : 94, 151'VkInstanceCreateInfo' : 95, 152'VkMacOSSurfaceCreateInfoMVK' : 96, 153'VkMappedMemoryRange' : 97, 154'VkMemoryAllocateFlagsInfoKHX' : 98, 155'VkMemoryAllocateInfo' : 99, 156'VkMemoryBarrier' : 100, 157'VkMirSurfaceCreateInfoKHR' : 101, 158'VkObjectTableCreateInfoNVX' : 102, 159'VkObjectTableDescriptorSetEntryNVX' : 103, 160'VkObjectTableEntryNVX' : 104, 161'VkObjectTableIndexBufferEntryNVX' : 105, 162'VkObjectTablePipelineEntryNVX' : 106, 163'VkObjectTablePushConstantEntryNVX' : 107, 164'VkObjectTableVertexBufferEntryNVX' : 108, 165'VkPhysicalDeviceDiscardRectanglePropertiesEXT' : 109, 166'VkPhysicalDeviceExternalBufferInfoKHR' : 110, 167'VkPhysicalDeviceExternalImageFormatInfoKHR' : 111, 168'VkPhysicalDeviceExternalSemaphoreInfoKHR' : 112, 169'VkPhysicalDeviceFeatures' : 113, 170'VkPhysicalDeviceFeatures2KHR' : 114, 171'VkPhysicalDeviceImageFormatInfo2KHR' : 115, 172'VkPhysicalDeviceMultiviewFeaturesKHX' : 116, 173'VkPhysicalDevicePushDescriptorPropertiesKHR' : 117, 174'VkPhysicalDeviceSparseImageFormatInfo2KHR' : 118, 175'VkPhysicalDeviceSurfaceInfo2KHR' : 119, 176'VkPipelineCacheCreateInfo' : 120, 177'VkPipelineColorBlendAttachmentState' : 121, 178'VkPipelineColorBlendStateCreateInfo' : 122, 179'VkPipelineDepthStencilStateCreateInfo' : 123, 180'VkPipelineDiscardRectangleStateCreateInfoEXT' : 124, 181'VkPipelineDynamicStateCreateInfo' : 125, 182'VkPipelineInputAssemblyStateCreateInfo' : 126, 183'VkPipelineLayoutCreateInfo' : 127, 184'VkPipelineMultisampleStateCreateInfo' : 128, 185'VkPipelineRasterizationStateCreateInfo' : 129, 186'VkPipelineRasterizationStateRasterizationOrderAMD' : 130, 187'VkPipelineShaderStageCreateInfo' : 131, 188'VkPipelineTessellationStateCreateInfo' : 132, 189'VkPipelineVertexInputStateCreateInfo' : 133, 190'VkPipelineViewportStateCreateInfo' : 134, 191'VkPipelineViewportSwizzleStateCreateInfoNV' : 135, 192'VkPipelineViewportWScalingStateCreateInfoNV' : 136, 193'VkPresentInfoKHR' : 137, 194'VkPresentRegionKHR' : 138, 195'VkPresentRegionsKHR' : 139, 196'VkPresentTimesInfoGOOGLE' : 140, 197'VkPushConstantRange' : 141, 198'VkQueryPoolCreateInfo' : 142, 199'VkRectLayerKHR' : 143, 200'VkRenderPassBeginInfo' : 144, 201'VkRenderPassCreateInfo' : 145, 202'VkRenderPassMultiviewCreateInfoKHX' : 146, 203'VkSamplerCreateInfo' : 147, 204'VkSemaphoreCreateInfo' : 148, 205'VkShaderModuleCreateInfo' : 149, 206'VkSparseBufferMemoryBindInfo' : 150, 207'VkSparseImageMemoryBind' : 151, 208'VkSparseImageMemoryBindInfo' : 152, 209'VkSparseImageOpaqueMemoryBindInfo' : 153, 210'VkSparseMemoryBind' : 154, 211'VkSpecializationInfo' : 155, 212'VkSpecializationMapEntry' : 156, 213'VkStencilOpState' : 157, 214'VkSubmitInfo' : 158, 215'VkSubpassDependency' : 159, 216'VkSubpassDescription' : 160, 217'VkSurfaceCapabilities2EXT' : 161, 218'VkSwapchainCounterCreateInfoEXT' : 162, 219'VkSwapchainCreateInfoKHR' : 163, 220'VkValidationFlagsEXT' : 164, 221'VkVertexInputAttributeDescription' : 165, 222'VkVertexInputBindingDescription' : 166, 223'VkViSurfaceCreateInfoNN' : 167, 224'VkViewport' : 168, 225'VkViewportSwizzleNV' : 169, 226'VkWaylandSurfaceCreateInfoKHR' : 170, 227'VkWin32KeyedMutexAcquireReleaseInfoKHR' : 171, 228'VkWin32KeyedMutexAcquireReleaseInfoNV' : 172, 229'VkWin32SurfaceCreateInfoKHR' : 173, 230'VkWriteDescriptorSet' : 174, 231'VkXcbSurfaceCreateInfoKHR' : 175, 232'VkXlibSurfaceCreateInfoKHR' : 176, 233'vkAcquireNextImage2KHX' : 177, 234'vkAcquireNextImageKHR' : 178, 235'vkAcquireXlibDisplayEXT' : 179, 236'vkAllocateCommandBuffers' : 180, 237'vkAllocateDescriptorSets' : 181, 238'vkAllocateMemory' : 182, 239'vkBeginCommandBuffer' : 183, 240'vkBindBufferMemory' : 184, 241'vkBindBufferMemory2KHR' : 185, 242'vkBindImageMemory' : 186, 243'vkBindImageMemory2KHR' : 187, 244'vkCmdBeginQuery' : 188, 245'vkCmdBeginRenderPass' : 189, 246'vkCmdBindDescriptorSets' : 190, 247'vkCmdBindIndexBuffer' : 191, 248'vkCmdBindPipeline' : 192, 249'vkCmdBindVertexBuffers' : 193, 250'vkCmdBlitImage' : 194, 251'vkCmdClearAttachments' : 195, 252'vkCmdClearColorImage' : 196, 253'vkCmdClearDepthStencilImage' : 197, 254'vkCmdCopyBuffer' : 198, 255'vkCmdCopyBufferToImage' : 199, 256'vkCmdCopyImage' : 200, 257'vkCmdCopyImageToBuffer' : 201, 258'vkCmdCopyQueryPoolResults' : 202, 259'vkCmdDebugMarkerBeginEXT' : 203, 260'vkCmdDebugMarkerEndEXT' : 204, 261'vkCmdDebugMarkerInsertEXT' : 205, 262'vkCmdDispatch' : 206, 263'vkCmdDispatchBaseKHX' : 207, 264'vkCmdDispatchIndirect' : 208, 265'vkCmdDraw' : 209, 266'vkCmdDrawIndexed' : 210, 267'vkCmdDrawIndexedIndirect' : 211, 268'vkCmdDrawIndexedIndirectCountAMD' : 212, 269'vkCmdDrawIndirect' : 213, 270'vkCmdDrawIndirectCountAMD' : 214, 271'vkCmdEndQuery' : 215, 272'vkCmdEndRenderPass' : 216, 273'vkCmdExecuteCommands' : 217, 274'vkCmdFillBuffer' : 218, 275'vkCmdNextSubpass' : 219, 276'vkCmdPipelineBarrier' : 220, 277'vkCmdProcessCommandsNVX' : 221, 278'vkCmdPushConstants' : 222, 279'vkCmdPushDescriptorSetKHR' : 223, 280'vkCmdPushDescriptorSetWithTemplateKHR' : 224, 281'vkCmdReserveSpaceForCommandsNVX' : 225, 282'vkCmdResetEvent' : 226, 283'vkCmdResetQueryPool' : 227, 284'vkCmdResolveImage' : 228, 285'vkCmdSetBlendConstants' : 229, 286'vkCmdSetDepthBias' : 230, 287'vkCmdSetDepthBounds' : 231, 288'vkCmdSetDeviceMaskKHX' : 232, 289'vkCmdSetDiscardRectangleEXT' : 233, 290'vkCmdSetEvent' : 234, 291'vkCmdSetLineWidth' : 235, 292'vkCmdSetScissor' : 236, 293'vkCmdSetStencilCompareMask' : 237, 294'vkCmdSetStencilReference' : 238, 295'vkCmdSetStencilWriteMask' : 239, 296'vkCmdSetViewport' : 240, 297'vkCmdSetViewportWScalingNV' : 241, 298'vkCmdUpdateBuffer' : 242, 299'vkCmdWaitEvents' : 243, 300'vkCmdWriteTimestamp' : 244, 301'vkCreateAndroidSurfaceKHR' : 245, 302'vkCreateBuffer' : 246, 303'vkCreateBufferView' : 247, 304'vkCreateCommandPool' : 248, 305'vkCreateComputePipelines' : 249, 306'vkCreateDebugReportCallbackEXT' : 250, 307'vkCreateDescriptorPool' : 251, 308'vkCreateDescriptorSetLayout' : 252, 309'vkCreateDescriptorUpdateTemplateKHR' : 253, 310'vkCreateDevice' : 254, 311'vkCreateDisplayModeKHR' : 255, 312'vkCreateDisplayPlaneSurfaceKHR' : 256, 313'vkCreateEvent' : 257, 314'vkCreateFence' : 258, 315'vkCreateFramebuffer' : 259, 316'vkCreateGraphicsPipelines' : 260, 317'vkCreateIOSSurfaceMVK' : 261, 318'vkCreateImage' : 262, 319'vkCreateImageView' : 263, 320'vkCreateIndirectCommandsLayoutNVX' : 264, 321'vkCreateInstance' : 265, 322'vkCreateMacOSSurfaceMVK' : 266, 323'vkCreateMirSurfaceKHR' : 267, 324'vkCreateObjectTableNVX' : 268, 325'vkCreatePipelineCache' : 269, 326'vkCreatePipelineLayout' : 270, 327'vkCreateQueryPool' : 271, 328'vkCreateRenderPass' : 272, 329'vkCreateSampler' : 273, 330'vkCreateSemaphore' : 274, 331'vkCreateShaderModule' : 275, 332'vkCreateSharedSwapchainsKHR' : 276, 333'vkCreateSwapchainKHR' : 277, 334'vkCreateViSurfaceNN' : 278, 335'vkCreateWaylandSurfaceKHR' : 279, 336'vkCreateWin32SurfaceKHR' : 280, 337'vkCreateXcbSurfaceKHR' : 281, 338'vkCreateXlibSurfaceKHR' : 282, 339'vkDebugMarkerSetObjectNameEXT' : 283, 340'vkDebugMarkerSetObjectTagEXT' : 284, 341'vkDebugReportMessageEXT' : 285, 342'vkDestroyBuffer' : 286, 343'vkDestroyBufferView' : 287, 344'vkDestroyCommandPool' : 288, 345'vkDestroyDebugReportCallbackEXT' : 289, 346'vkDestroyDescriptorPool' : 290, 347'vkDestroyDescriptorSetLayout' : 291, 348'vkDestroyDescriptorUpdateTemplateKHR' : 292, 349'vkDestroyDevice' : 293, 350'vkDestroyEvent' : 294, 351'vkDestroyFence' : 295, 352'vkDestroyFramebuffer' : 296, 353'vkDestroyImage' : 297, 354'vkDestroyImageView' : 298, 355'vkDestroyIndirectCommandsLayoutNVX' : 299, 356'vkDestroyInstance' : 300, 357'vkDestroyObjectTableNVX' : 301, 358'vkDestroyPipeline' : 302, 359'vkDestroyPipelineCache' : 303, 360'vkDestroyPipelineLayout' : 304, 361'vkDestroyQueryPool' : 305, 362'vkDestroyRenderPass' : 306, 363'vkDestroySampler' : 307, 364'vkDestroySemaphore' : 308, 365'vkDestroyShaderModule' : 309, 366'vkDestroySurfaceKHR' : 310, 367'vkDestroySwapchainKHR' : 311, 368'vkDeviceWaitIdle' : 312, 369'vkDisplayPowerControlEXT' : 313, 370'vkEndCommandBuffer' : 314, 371'vkEnumerateDeviceExtensionProperties' : 315, 372'vkEnumerateDeviceLayerProperties' : 316, 373'vkEnumerateInstanceExtensionProperties' : 317, 374'vkEnumerateInstanceLayerProperties' : 318, 375'vkEnumeratePhysicalDeviceGroupsKHX' : 319, 376'vkEnumeratePhysicalDevices' : 320, 377'vkFlushMappedMemoryRanges' : 321, 378'vkFreeCommandBuffers' : 322, 379'vkFreeDescriptorSets' : 323, 380'vkFreeMemory' : 324, 381'vkGetBufferMemoryRequirements' : 325, 382'vkGetDeviceGroupPeerMemoryFeaturesKHX' : 326, 383'vkGetDeviceGroupPresentCapabilitiesKHX' : 327, 384'vkGetDeviceGroupSurfacePresentModesKHX' : 328, 385'vkGetDeviceMemoryCommitment' : 329, 386'vkGetDeviceProcAddr' : 330, 387'vkGetDeviceQueue' : 331, 388'vkGetDisplayModePropertiesKHR' : 332, 389'vkGetDisplayPlaneCapabilitiesKHR' : 333, 390'vkGetDisplayPlaneSupportedDisplaysKHR' : 334, 391'vkGetEventStatus' : 335, 392'vkGetFenceStatus' : 336, 393'vkGetImageMemoryRequirements' : 337, 394'vkGetImageSparseMemoryRequirements' : 338, 395'vkGetImageSubresourceLayout' : 339, 396'vkGetInstanceProcAddr' : 340, 397'vkGetMemoryFdKHR' : 341, 398'vkGetMemoryFdPropertiesKHR' : 342, 399'vkGetMemoryWin32HandleKHR' : 343, 400'vkGetMemoryWin32HandleNV' : 344, 401'vkGetMemoryWin32HandlePropertiesKHR' : 345, 402'vkGetPastPresentationTimingGOOGLE' : 346, 403'vkGetPhysicalDeviceDisplayPlanePropertiesKHR' : 347, 404'vkGetPhysicalDeviceDisplayPropertiesKHR' : 348, 405'vkGetPhysicalDeviceExternalBufferPropertiesKHR' : 349, 406'vkGetPhysicalDeviceExternalImageFormatPropertiesNV' : 350, 407'vkGetPhysicalDeviceExternalSemaphorePropertiesKHR' : 351, 408'vkGetPhysicalDeviceFeatures' : 352, 409'vkGetPhysicalDeviceFeatures2KHR' : 353, 410'vkGetPhysicalDeviceFormatProperties' : 354, 411'vkGetPhysicalDeviceFormatProperties2KHR' : 355, 412'vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX' : 356, 413'vkGetPhysicalDeviceImageFormatProperties' : 357, 414'vkGetPhysicalDeviceImageFormatProperties2KHR' : 358, 415'vkGetPhysicalDeviceMemoryProperties' : 359, 416'vkGetPhysicalDeviceMemoryProperties2KHR' : 360, 417'vkGetPhysicalDeviceMirPresentationSupportKHR' : 361, 418'vkGetPhysicalDevicePresentRectanglesKHX' : 362, 419'vkGetPhysicalDeviceProperties' : 363, 420'vkGetPhysicalDeviceProperties2KHR' : 364, 421'vkGetPhysicalDeviceQueueFamilyProperties' : 365, 422'vkGetPhysicalDeviceQueueFamilyProperties2KHR' : 366, 423'vkGetPhysicalDeviceSparseImageFormatProperties' : 367, 424'vkGetPhysicalDeviceSparseImageFormatProperties2KHR' : 368, 425'vkGetPhysicalDeviceSurfaceCapabilities2EXT' : 369, 426'vkGetPhysicalDeviceSurfaceCapabilities2KHR' : 370, 427'vkGetPhysicalDeviceSurfaceCapabilitiesKHR' : 371, 428'vkGetPhysicalDeviceSurfaceFormats2KHR' : 372, 429'vkGetPhysicalDeviceSurfaceFormatsKHR' : 373, 430'vkGetPhysicalDeviceSurfacePresentModesKHR' : 374, 431'vkGetPhysicalDeviceSurfaceSupportKHR' : 375, 432'vkGetPhysicalDeviceWaylandPresentationSupportKHR' : 376, 433'vkGetPhysicalDeviceWin32PresentationSupportKHR' : 377, 434'vkGetPhysicalDeviceXcbPresentationSupportKHR' : 378, 435'vkGetPhysicalDeviceXlibPresentationSupportKHR' : 379, 436'vkGetPipelineCacheData' : 380, 437'vkGetQueryPoolResults' : 381, 438'vkGetRandROutputDisplayEXT' : 382, 439'vkGetRefreshCycleDurationGOOGLE' : 383, 440'vkGetRenderAreaGranularity' : 384, 441'vkGetSemaphoreFdKHR' : 385, 442'vkGetSemaphoreWin32HandleKHR' : 386, 443'vkGetSwapchainCounterEXT' : 387, 444'vkGetSwapchainImagesKHR' : 388, 445'vkGetSwapchainStatusKHR' : 389, 446'vkImportSemaphoreFdKHR' : 390, 447'vkImportSemaphoreWin32HandleKHR' : 391, 448'vkInvalidateMappedMemoryRanges' : 392, 449'vkMapMemory' : 393, 450'vkMergePipelineCaches' : 394, 451'vkQueueBindSparse' : 395, 452'vkQueuePresentKHR' : 396, 453'vkQueueSubmit' : 397, 454'vkQueueWaitIdle' : 398, 455'vkRegisterDeviceEventEXT' : 399, 456'vkRegisterDisplayEventEXT' : 400, 457'vkRegisterObjectsNVX' : 401, 458'vkReleaseDisplayEXT' : 402, 459'vkResetCommandBuffer' : 403, 460'vkResetCommandPool' : 404, 461'vkResetDescriptorPool' : 405, 462'vkResetEvent' : 406, 463'vkResetFences' : 407, 464'vkSetEvent' : 408, 465'vkSetHdrMetadataEXT' : 409, 466'vkTrimCommandPoolKHR' : 410, 467'vkUnmapMemory' : 411, 468'vkUnregisterObjectsNVX' : 412, 469'vkUpdateDescriptorSetWithTemplateKHR' : 413, 470'vkUpdateDescriptorSets' : 414, 471'vkWaitForFences' : 415, 472'VkPhysicalDeviceProperties2KHR' : 416, 473'VkFormatProperties2KHR' : 417, 474'VkImageFormatProperties2KHR' : 418, 475'VkPhysicalDeviceMemoryProperties2KHR' : 419, 476'VkSurfaceCapabilities2KHR' : 420, 477'VkDeviceGroupPresentCapabilitiesKHX' : 421, 478'VkExternalBufferPropertiesKHR' : 422, 479'VkMemoryWin32HandlePropertiesKHR' : 423, 480'VkMemoryFdPropertiesKHR' : 424, 481'VkExternalSemaphorePropertiesKHR' : 425, 482'VkQueueFamilyProperties2KHR' : 426, 483'VkSparseImageFormatProperties2KHR' : 427, 484'VkSurfaceFormat2KHR' : 428, 485'VkTextureLODGatherFormatPropertiesAMD' : 429, 486'VkPhysicalDeviceMultiviewPropertiesKHX' : 430, 487'VkPhysicalDeviceGroupPropertiesKHX' : 431, 488'VkExternalImageFormatPropertiesKHR' : 432, 489'VkPhysicalDeviceIDPropertiesKHR' : 433, 490'VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' : 434, 491'VkHdrMetadataEXT' : 435, 492'VkExternalMemoryPropertiesKHR' : 436, 493'VkFormatProperties' : 437, 494'VkImageFormatProperties' : 438, 495'VkPhysicalDeviceLimits' : 439, 496'VkQueueFamilyProperties' : 440, 497'VkMemoryType' : 441, 498'VkMemoryHeap' : 442, 499'VkSparseImageFormatProperties' : 443, 500'VkSurfaceCapabilitiesKHR' : 444, 501'VkDisplayPropertiesKHR' : 445, 502'VkDisplayPlaneCapabilitiesKHR' : 446, 503'VkSharedPresentSurfaceCapabilitiesKHR' : 447, 504'VkExternalImageFormatPropertiesNV' : 448, 505'VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' : 449, 506'VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' : 450, 507'VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' : 451, 508'VkPipelineColorBlendAdvancedStateCreateInfoEXT' : 452, 509'VkPipelineCoverageModulationStateCreateInfoNV' : 453, 510'VkPipelineCoverageToColorStateCreateInfoNV' : 454, 511'VkSamplerReductionModeCreateInfoEXT' : 455, 512'VkPhysicalDeviceProperties' : 456, 513'VkSurfaceFormatKHR' : 457, 514'VkExportFenceCreateInfoKHR' : 458, 515'VkPhysicalDeviceExternalFenceInfoKHR' : 459, 516'VkExternalFencePropertiesKHR' : 460, 517'vkGetPhysicalDeviceExternalFencePropertiesKHR' : 461, 518'VkImportFenceFdInfoKHR' : 462, 519'VkFenceGetFdInfoKHR' : 463, 520'vkImportFenceFdKHR' : 464, 521'vkGetFenceFdKHR' : 465, 522'VkImportFenceWin32HandleInfoKHR' : 466, 523'VkExportFenceWin32HandleInfoKHR' : 467, 524'VkFenceGetWin32HandleInfoKHR' : 468, 525'vkImportFenceWin32HandleKHR' : 469, 526'vkGetFenceWin32HandleKHR' : 470, 527'VkSemaphoreGetFdInfoKHR' : 471, 528'VkSemaphoreGetWin32HandleInfoKHR' : 472, 529'VkMemoryGetFdInfoKHR' : 473, 530'VkMemoryGetWin32HandleInfoKHR' : 474, 531'VkMemoryDedicatedRequirementsKHR' : 475, 532'VkMemoryDedicatedAllocateInfoKHR' : 476, 533'VkBufferMemoryRequirementsInfo2KHR' : 477, 534'VkImageMemoryRequirementsInfo2KHR' : 478, 535'VkImageSparseMemoryRequirementsInfo2KHR' : 479, 536'VkMemoryRequirements2KHR' : 480, 537'VkSparseImageMemoryRequirements2KHR' : 481, 538'vkGetImageMemoryRequirements2KHR' : 482, 539'vkGetBufferMemoryRequirements2KHR' : 483, 540'vkGetImageSparseMemoryRequirements2KHR' : 484, 541'VkPhysicalDevice16BitStorageFeaturesKHR' : 485, 542'VkPhysicalDeviceVariablePointerFeaturesKHR' : 486, 543'VkSampleLocationsInfoEXT' : 487, 544'VkRenderPassSampleLocationsBeginInfoEXT' : 488, 545'VkPipelineSampleLocationsStateCreateInfoEXT' : 489, 546'VkPhysicalDeviceSampleLocationsPropertiesEXT' : 490, 547'VkMultisamplePropertiesEXT' : 491, 548'vkGetPhysicalDeviceMultisamplePropertiesEXT' : 492, 549'VkValidationCacheCreateInfoEXT' : 493, 550'VkShaderModuleValidationCacheCreateInfoEXT' : 494, 551'vkCreateValidationCacheEXT' : 495, 552'vkGetValidationCacheDataEXT' : 496, 553'vkCmdSetSampleLocationsEXT' : 497, 554'vkDestroyValidationCacheEXT' : 498, 555'vkMergeValidationCachesEXT' : 499, 556'VkAttachmentSampleLocationsEXT' : 500, 557'VkSubpassSampleLocationsEXT' : 501, 558'VkPhysicalDevicePointClippingPropertiesKHR' : 502, 559'VkInputAttachmentAspectReferenceKHR' : 503, 560'VkRenderPassInputAttachmentAspectCreateInfoKHR' : 504, 561'VkImageViewUsageCreateInfoKHR' : 505, 562'VkPipelineTessellationDomainOriginStateCreateInfoKHR' : 506, 563'VkImageFormatListCreateInfoKHR' : 507, 564'VkSamplerYcbcrConversionCreateInfoKHR' : 508, 565'VkBindImagePlaneMemoryInfoKHR' : 509, 566'VkImagePlaneMemoryRequirementsInfoKHR' : 510, 567'vkCreateSamplerYcbcrConversionKHR' : 511, 568'VkBindBufferMemoryDeviceGroupInfoKHX' : 512, 569'VkBindImageMemoryDeviceGroupInfoKHX' : 513, 570'vkDestroySamplerYcbcrConversionKHR' : 514, 571'VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR' : 515, 572'VkSamplerYcbcrConversionImageFormatPropertiesKHR' : 516, 573'VkSamplerYcbcrConversionInfoKHR' : 517, 574'VkDeviceQueueGlobalPriorityCreateInfoEXT' : 518, 575'vkGetShaderInfoAMD' : 519, 576'VkShaderStatisticsInfoAMD' : 520, 577'VkImportMemoryHostPointerInfoEXT' : 521, 578'VkMemoryHostPointerPropertiesEXT' : 522, 579'VkPhysicalDeviceExternalMemoryHostPropertiesEXT' : 523, 580'vkGetMemoryHostPointerPropertiesEXT' : 524, 581'VkPhysicalDeviceConservativeRasterizationPropertiesEXT' : 525, 582'VkPipelineRasterizationConservativeStateCreateInfoEXT' : 526, 583### ADD New func/struct mappings above this line 584} 585# Mapping of params to unique IDs 586implicit_param_map = { 587'a' : 0, 588'addressModeU' : 1, 589'addressModeV' : 2, 590'addressModeW' : 3, 591'alphaBlendOp' : 4, 592'alphaMode' : 5, 593'aspectMask' : 6, 594'attachmentCount' : 7, 595'b' : 8, 596'back' : 9, 597'bindCount' : 10, 598'bindInfoCount' : 11, 599'bindingCount' : 12, 600'buffer' : 13, 601'bufferView' : 14, 602'callback' : 15, 603'colorBlendOp' : 16, 604'colorWriteMask' : 17, 605'commandBuffer' : 18, 606'commandBufferCount' : 19, 607'commandPool' : 20, 608'compareOp' : 21, 609'components' : 22, 610'compositeAlpha' : 23, 611'connection' : 24, 612'contents' : 25, 613'countBuffer' : 26, 614'counter' : 27, 615'createInfoCount' : 28, 616'cullMode' : 29, 617'dataSize' : 30, 618'dependencyFlags' : 31, 619'depthCompareOp' : 32, 620'depthFailOp' : 33, 621'descriptorCount' : 34, 622'descriptorPool' : 35, 623'descriptorSet' : 36, 624'descriptorSetCount' : 37, 625'descriptorSetLayout' : 38, 626'descriptorType' : 39, 627'descriptorUpdateEntryCount' : 40, 628'descriptorUpdateTemplate' : 41, 629'descriptorWriteCount' : 42, 630'device' : 43, 631'deviceEvent' : 44, 632'disabledValidationCheckCount' : 45, 633'discardRectangleCount' : 46, 634'discardRectangleMode' : 47, 635'display' : 48, 636'displayEvent' : 49, 637'displayMode' : 50, 638'dpy' : 51, 639'dstAccessMask' : 52, 640'dstAlphaBlendFactor' : 53, 641'dstBuffer' : 54, 642'dstCache' : 55, 643'dstColorBlendFactor' : 56, 644'dstImage' : 57, 645'dstImageLayout' : 58, 646'dstSet' : 59, 647'dstStageMask' : 60, 648'dstSubresource' : 61, 649'dynamicStateCount' : 62, 650'event' : 63, 651'eventCount' : 64, 652'externalHandleType' : 65, 653'faceMask' : 66, 654'failOp' : 67, 655'fence' : 68, 656'fenceCount' : 69, 657'filter' : 70, 658'finalLayout' : 71, 659'flags' : 72, 660'format' : 73, 661'framebuffer' : 74, 662'front' : 75, 663'frontFace' : 76, 664'g' : 77, 665'handleType' : 78, 666'handleTypes' : 79, 667'image' : 80, 668'imageColorSpace' : 81, 669'imageFormat' : 82, 670'imageLayout' : 83, 671'imageSharingMode' : 84, 672'imageSubresource' : 85, 673'imageType' : 86, 674'imageUsage' : 87, 675'imageView' : 88, 676'indexType' : 89, 677'indirectCommandsLayout' : 90, 678'indirectCommandsTokenCount' : 91, 679'initialLayout' : 92, 680'inputRate' : 93, 681'instance' : 94, 682'layout' : 95, 683'level' : 96, 684'loadOp' : 97, 685'magFilter' : 98, 686'memory' : 99, 687'memoryRangeCount' : 100, 688'minFilter' : 101, 689'mipmapMode' : 102, 690'mode' : 103, 691'modes' : 104, 692'module' : 105, 693'newLayout' : 106, 694'objectCount' : 107, 695'objectTable' : 108, 696'objectType' : 109, 697'oldLayout' : 110, 698'oldSwapchain' : 111, 699'pAcquireInfo' : 112, 700'pAcquireKeys' : 113, 701'pAcquireSyncs' : 114, 702'pAcquireTimeoutMilliseconds' : 115, 703'pAcquireTimeouts' : 116, 704'pAllocateInfo' : 117, 705'pAllocator' : 118, 706'pApplicationInfo' : 119, 707'pApplicationName' : 120, 708'pAttachments' : 121, 709'pAttributes' : 122, 710'pBeginInfo' : 123, 711'pBindInfo' : 124, 712'pBindInfos' : 125, 713'pBindings' : 126, 714'pBinds' : 127, 715'pBuffer' : 128, 716'pBufferBinds' : 129, 717'pBufferMemoryBarriers' : 130, 718'pBuffers' : 131, 719'pCallback' : 132, 720'pCapabilities' : 133, 721'pCode' : 134, 722'pColor' : 135, 723'pColorAttachments' : 136, 724'pCommandBufferDeviceMasks' : 137, 725'pCommandBuffers' : 138, 726'pCommandPool' : 139, 727'pCommittedMemoryInBytes' : 140, 728'pCorrelationMasks' : 141, 729'pCounterValue' : 142, 730'pCreateInfo' : 143, 731'pCreateInfos' : 144, 732'pData' : 145, 733'pDataSize' : 146, 734'pDependencies' : 147, 735'pDepthStencil' : 148, 736'pDepthStencilAttachment' : 149, 737'pDescriptorCopies' : 150, 738'pDescriptorPool' : 151, 739'pDescriptorSets' : 152, 740'pDescriptorUpdateEntries' : 153, 741'pDescriptorUpdateTemplate' : 154, 742'pDescriptorWrites' : 155, 743'pDevice' : 156, 744'pDeviceEventInfo' : 157, 745'pDeviceGroupPresentCapabilities' : 158, 746'pDeviceIndices' : 159, 747'pDeviceMasks' : 160, 748'pDeviceRenderAreas' : 161, 749'pDisabledValidationChecks' : 162, 750'pDiscardRectangles' : 163, 751'pDisplay' : 164, 752'pDisplayCount' : 165, 753'pDisplayEventInfo' : 166, 754'pDisplayPowerInfo' : 167, 755'pDisplayTimingProperties' : 168, 756'pDisplays' : 169, 757'pDynamicOffsets' : 170, 758'pDynamicState' : 171, 759'pDynamicStates' : 172, 760'pEnabledFeatures' : 173, 761'pEngineName' : 174, 762'pEvent' : 175, 763'pEvents' : 176, 764'pExternalBufferInfo' : 177, 765'pExternalBufferProperties' : 178, 766'pExternalImageFormatProperties' : 179, 767'pExternalSemaphoreInfo' : 180, 768'pExternalSemaphoreProperties' : 181, 769'pFd' : 182, 770'pFeatures' : 183, 771'pFence' : 184, 772'pFences' : 185, 773'pFormatInfo' : 186, 774'pFormatProperties' : 187, 775'pFramebuffer' : 188, 776'pGranularity' : 189, 777'pHandle' : 190, 778'pImage' : 191, 779'pImageBinds' : 192, 780'pImageFormatInfo' : 193, 781'pImageFormatProperties' : 194, 782'pImageIndex' : 195, 783'pImageIndices' : 196, 784'pImageMemoryBarriers' : 197, 785'pImageOpaqueBinds' : 198, 786'pImportSemaphoreFdInfo' : 199, 787'pImportSemaphoreWin32HandleInfo' : 200, 788'pIndirectCommandsLayout' : 201, 789'pIndirectCommandsTokens' : 202, 790'pInitialData' : 203, 791'pInputAssemblyState' : 204, 792'pInputAttachments' : 205, 793'pInstance' : 206, 794'pLayerName' : 207, 795'pLayerPrefix' : 208, 796'pLayout' : 209, 797'pLimits' : 210, 798'pMarkerInfo' : 211, 799'pMarkerName' : 212, 800'pMemory' : 213, 801'pMemoryBarriers' : 214, 802'pMemoryFdProperties' : 215, 803'pMemoryProperties' : 216, 804'pMemoryRanges' : 217, 805'pMemoryRequirements' : 218, 806'pMemoryWin32HandleProperties' : 219, 807'pMessage' : 220, 808'pMetadata' : 221, 809'pMode' : 222, 810'pModes' : 223, 811'pName' : 224, 812'pNameInfo' : 225, 813'pNext' : 226, 814'pObjectEntryCounts' : 227, 815'pObjectEntryTypes' : 228, 816'pObjectEntryUsageFlags' : 229, 817'pObjectIndices' : 230, 818'pObjectName' : 231, 819'pObjectTable' : 232, 820'pOffsets' : 233, 821'pPeerMemoryFeatures' : 234, 822'pPhysicalDeviceCount' : 235, 823'pPhysicalDeviceGroupCount' : 236, 824'pPhysicalDeviceGroupProperties' : 237, 825'pPhysicalDevices' : 238, 826'pPipelineCache' : 239, 827'pPipelineLayout' : 240, 828'pPipelines' : 241, 829'pPoolSizes' : 242, 830'pPresentInfo' : 243, 831'pPresentModeCount' : 244, 832'pPresentModes' : 245, 833'pPresentationTimingCount' : 246, 834'pPresentationTimings' : 247, 835'pPreserveAttachments' : 248, 836'pProcessCommandsInfo' : 249, 837'pProperties' : 250, 838'pPropertyCount' : 251, 839'pPushConstantRanges' : 252, 840'pQueryPool' : 253, 841'pQueue' : 254, 842'pQueueCreateInfos' : 255, 843'pQueueFamilyProperties' : 256, 844'pQueueFamilyPropertyCount' : 257, 845'pQueuePriorities' : 258, 846'pRanges' : 259, 847'pRasterizationState' : 260, 848'pRectCount' : 261, 849'pRectangles' : 262, 850'pRects' : 263, 851'pRegions' : 264, 852'pReleaseKeys' : 265, 853'pReleaseSyncs' : 266, 854'pRenderPass' : 267, 855'pRenderPassBegin' : 268, 856'pReserveSpaceInfo' : 269, 857'pResolveAttachments' : 270, 858'pResults' : 271, 859'pSFRRects' : 272, 860'pSampleMask' : 273, 861'pSampler' : 274, 862'pScissors' : 275, 863'pSemaphore' : 276, 864'pSetLayout' : 277, 865'pSetLayouts' : 278, 866'pShaderModule' : 279, 867'pSignalSemaphoreDeviceIndices' : 280, 868'pSignalSemaphoreValues' : 281, 869'pSignalSemaphores' : 282, 870'pSparseMemoryRequirementCount' : 283, 871'pSparseMemoryRequirements' : 284, 872'pSpecializationInfo' : 285, 873'pSrcCaches' : 286, 874'pStages' : 287, 875'pSubmits' : 288, 876'pSubpasses' : 289, 877'pSubresource' : 290, 878'pSupported' : 291, 879'pSurface' : 292, 880'pSurfaceCapabilities' : 293, 881'pSurfaceFormatCount' : 294, 882'pSurfaceFormats' : 295, 883'pSurfaceInfo' : 296, 884'pSwapchain' : 297, 885'pSwapchainImageCount' : 298, 886'pSwapchainImages' : 299, 887'pSwapchains' : 300, 888'pTag' : 301, 889'pTagInfo' : 302, 890'pTimes' : 303, 891'pTokens' : 304, 892'pValues' : 305, 893'pVertexAttributeDescriptions' : 306, 894'pVertexBindingDescriptions' : 307, 895'pVertexInputState' : 308, 896'pView' : 309, 897'pViewMasks' : 310, 898'pViewOffsets' : 311, 899'pWaitDstStageMask' : 312, 900'pWaitSemaphoreDeviceIndices' : 313, 901'pWaitSemaphoreValues' : 314, 902'pWaitSemaphores' : 315, 903'passOp' : 316, 904'physicalDevice' : 317, 905'pipeline' : 318, 906'pipelineBindPoint' : 319, 907'pipelineCache' : 320, 908'pipelineLayout' : 321, 909'pipelineStage' : 322, 910'polygonMode' : 323, 911'poolSizeCount' : 324, 912'powerState' : 325, 913'ppData' : 326, 914'ppEnabledExtensionNames' : 327, 915'ppEnabledLayerNames' : 328, 916'ppObjectTableEntries' : 329, 917'preTransform' : 330, 918'presentMode' : 331, 919'queryPool' : 332, 920'queryType' : 333, 921'queue' : 334, 922'queueCount' : 335, 923'queueCreateInfoCount' : 336, 924'r' : 337, 925'rangeCount' : 338, 926'rasterizationOrder' : 339, 927'rasterizationSamples' : 340, 928'rectCount' : 341, 929'regionCount' : 342, 930'renderPass' : 343, 931'sType' : 344, 932'sampler' : 345, 933'samples' : 346, 934'scissorCount' : 347, 935'semaphore' : 348, 936'sequencesCountBuffer' : 349, 937'sequencesIndexBuffer' : 350, 938'shaderModule' : 351, 939'sharingMode' : 352, 940'size' : 353, 941'srcAccessMask' : 354, 942'srcAlphaBlendFactor' : 355, 943'srcBuffer' : 356, 944'srcCacheCount' : 357, 945'srcColorBlendFactor' : 358, 946'srcImage' : 359, 947'srcImageLayout' : 360, 948'srcSet' : 361, 949'srcStageMask' : 362, 950'srcSubresource' : 363, 951'stage' : 364, 952'stageCount' : 365, 953'stageFlags' : 366, 954'stageMask' : 367, 955'stencilLoadOp' : 368, 956'stencilStoreOp' : 369, 957'storeOp' : 370, 958'subpassCount' : 371, 959'subresource' : 372, 960'subresourceRange' : 373, 961'surface' : 374, 962'surfaceCounters' : 375, 963'swapchain' : 376, 964'swapchainCount' : 377, 965'tagSize' : 378, 966'targetCommandBuffer' : 379, 967'templateType' : 380, 968'tiling' : 381, 969'tokenCount' : 382, 970'tokenType' : 383, 971'topology' : 384, 972'transform' : 385, 973'type' : 386, 974'usage' : 387, 975'viewType' : 388, 976'viewportCount' : 389, 977'w' : 390, 978'window' : 391, 979'x' : 392, 980'y' : 393, 981'z' : 394, 982'externalMemoryFeatures' : 395, 983'compatibleHandleTypes' : 396, 984'exportFromImportedHandleTypes' : 397, 985'linearTilingFeatures' : 398, 986'optimalTilingFeatures' : 399, 987'bufferFeatures' : 400, 988'sampleCounts' : 401, 989'framebufferColorSampleCounts' : 402, 990'framebufferDepthSampleCounts' : 403, 991'framebufferStencilSampleCounts' : 404, 992'framebufferNoAttachmentsSampleCounts' : 405, 993'sampledImageColorSampleCounts' : 406, 994'sampledImageIntegerSampleCounts' : 407, 995'sampledImageDepthSampleCounts' : 408, 996'sampledImageStencilSampleCounts' : 409, 997'storageImageSampleCounts' : 410, 998'queueFlags' : 411, 999'propertyFlags' : 412, 1000'supportedTransforms' : 413, 1001'currentTransform' : 414, 1002'supportedCompositeAlpha' : 415, 1003'supportedUsageFlags' : 416, 1004'supportedAlpha' : 417, 1005'sharedPresentSupportedUsageFlags' : 418, 1006'externalSemaphoreFeatures' : 419, 1007'supportedSurfaceCounters' : 420, 1008'blendOverlap' : 421, 1009'coverageModulationMode' : 422, 1010'coverageModulationTableCount' : 423, 1011'reductionMode' : 424, 1012'enabledLayerCount' : 425, 1013'enabledExtensionCount' : 426, 1014'waitSemaphoreCount' : 427, 1015'signalSemaphoreCount' : 428, 1016'bufferBindCount' : 429, 1017'imageOpaqueBindCount' : 430, 1018'imageBindCount' : 431, 1019'codeSize' : 432, 1020'initialDataSize' : 433, 1021'vertexBindingDescriptionCount' : 434, 1022'vertexAttributeDescriptionCount' : 435, 1023'setLayoutCount' : 436, 1024'pushConstantRangeCount' : 437, 1025'inputAttachmentCount' : 438, 1026'colorAttachmentCount' : 439, 1027'preserveAttachmentCount' : 440, 1028'dependencyCount' : 441, 1029'dynamicOffsetCount' : 442, 1030'rectangleCount' : 443, 1031'correlationMaskCount' : 444, 1032'acquireCount' : 445, 1033'releaseCount' : 446, 1034'deviceIndexCount' : 447, 1035'SFRRectCount' : 448, 1036'deviceRenderAreaCount' : 449, 1037'physicalDeviceCount' : 450, 1038'waitSemaphoreValuesCount' : 451, 1039'signalSemaphoreValuesCount' : 452, 1040'deviceType' : 453, 1041'colorSpace' : 454, 1042'pfnAllocation' : 455, 1043'pfnReallocation' : 556, 1044'pfnFree' : 457, 1045'blendConstants' : 458, 1046'displayName' : 459, 1047'pfnCallback' : 460, 1048'externalFenceFeatures' : 461, 1049'pInfo' : 462, 1050'pGetFdInfo' : 463, 1051'pGetWin32HandleInfo' : 464, 1052'pExternalFenceInfo' : 465, 1053'pExternalFenceProperties' : 466, 1054'pImportFenceProperties' : 467, 1055'pImportFenceFdInfo' : 468, 1056'pImportFenceWin32HandleInfo' : 469, 1057'basePipelineHandle' : 470, 1058'pImmutableSamplers' : 471, 1059'pTexelBufferView' : 472, 1060'sampleLocationsPerPixel' : 473, 1061'sampleLocationsCount' : 474, 1062'pSampleLocations' : 475, 1063'attachmentInitialSampleLocationsCount' : 476, 1064'pAttachmentInitialSampleLocations' : 477, 1065'postSubpassSampleLocationsCount' : 478, 1066'pSubpassSampleLocations' : 479, 1067'sampleLocationSampleCounts' : 480, 1068'pValidationCache' : 481, 1069'validationCache' : 482, 1070'sampleLocationsInfo' : 483, 1071'pSampleLocationsInfo' : 484, 1072'pMultisampleProperties' : 485, 1073'pointClippingBehavior' : 486, 1074'aspectReferenceCount' : 487, 1075'pAspectReferences' : 488, 1076'domainOrigin' : 489, 1077'ycbcrModel' : 490, 1078'ycbcrRange' : 491, 1079'xChromaOffset' : 492, 1080'yChromaOffset' : 493, 1081'chromaFilter' : 494, 1082'planeAspect' : 495, 1083'pYcbcrConversion' : 496, 1084'ycbcrConversion' : 497, 1085'pViewFormats' : 498, 1086'conversion' : 499, 1087'pPostSubpassSampleLocations' : 500, 1088'globalPriority' : 501, 1089'shaderStage' : 502, 1090'infoType' : 503, 1091'pInfoSize' : 504, 1092'shaderStageMask' : 505, 1093'pMemoryHostPointerProperties' : 506, 1094'pHostPointer' : 507, 1095'conservativeRasterizationMode' : 508, 1096'pViewports' : 509, 1097'pViewportWScalings' : 510, 1098### ADD New implicit param mappings above this line 1099} 1100 1101uniqueid_set = set() # store uniqueid to make sure we don't have duplicates 1102 1103# Convert a string VUID into numerical value 1104# See "VUID Mapping Details" comment above for more info 1105def convertVUID(vuid_string): 1106 """Convert a string-based VUID into a numberical value""" 1107 #func_struct_update = False 1108 #imp_param_update = False 1109 if vuid_string in ['', None]: 1110 return -1 1111 vuid_parts = vuid_string.split('-') 1112 if vuid_parts[1] not in func_struct_id_map: 1113 print ("ERROR: Missing func/struct map value for '%s'!" % (vuid_parts[1])) 1114 print (" TODO: Need to add mapping for this to end of func_struct_id_map") 1115 print (" replace '### ADD New func/struct mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[1], len(func_struct_id_map))) 1116 func_struct_id_map[vuid_parts[1]] = len(func_struct_id_map) 1117 #func_struct_update = True 1118 sys.exit(1) 1119 uniqueid = func_struct_id_map[vuid_parts[1]] << FUNC_STRUCT_SHIFT 1120 if vuid_parts[-1].isdigit(): # explit VUID has int on the end 1121 explicit_id = int(vuid_parts[-1]) 1122 # For explicit case, id is explicit_base + func/struct mapping + unique id 1123 uniqueid = uniqueid + (explicit_id << EXPLICIT_ID_SHIFT) + explicit_bit0 1124 else: # implicit case 1125 if vuid_parts[-1] not in implicit_type_map: 1126 print("ERROR: Missing mapping for implicit type '%s'!\nTODO: Please add new mapping." % (vuid_parts[-1])) 1127 sys.exit(1) 1128 else: 1129 param_id = 0 # Default when no param is available 1130 if vuid_parts[-2] != vuid_parts[1]: # we have a parameter 1131 if vuid_parts[-2] in implicit_param_map: 1132 param_id = implicit_param_map[vuid_parts[-2]] 1133 else: 1134 print ("ERROR: Missing param '%s' from implicit_param_map\n TODO: Please add new mapping." % (vuid_parts[-2])) 1135 print (" replace '### ADD New implicit param mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[-2], len(implicit_param_map))) 1136 implicit_param_map[vuid_parts[-2]] = len(implicit_param_map) 1137 #imp_param_update = True 1138 sys.exit(1) 1139 uniqueid = uniqueid + (param_id << IMPLICIT_PARAM_SHIFT) + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0 1140 else: # No parameter so that field is 0 1141 uniqueid = uniqueid + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0 1142# if uniqueid in uniqueid_set: 1143# print ("ERROR: Uniqueid %d for string id %s is a duplicate!" % (uniqueid, vuid_string)) 1144# print (" TODO: Figure out what caused the dupe and fix it") 1145 #sys.exit() 1146 # print ("Storing uniqueid %d for unique string %s" % (uniqueid, vuid_string)) 1147 uniqueid_set.add(uniqueid) 1148# if func_struct_update: 1149# print ("func_struct_id_map updated, here's new structure") 1150# print ("func_struct_id_map = {") 1151# fs_id = 0 1152# for fs in sorted(func_struct_id_map): 1153# print ("'%s' : %d," % (fs, fs_id)) 1154# fs_id = fs_id + 1 1155# print ("### ADD New func/struct mappings above this line") 1156# print ("}") 1157# if imp_param_update: 1158# print ("implicit_param_map updated, here's new structure") 1159# print ("implicit_param_map = {") 1160# ip_id = 0 1161# for ip in sorted(implicit_param_map): 1162# print ("'%s' : %d," % (ip, ip_id)) 1163# ip_id = ip_id + 1 1164# print ("### ADD New implicit param mappings above this line") 1165# print ("}") 1166 1167 return uniqueid 1168