blob: 4767396468e208e79c3b6f1910617eec46e70b91 [file] [log] [blame]
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001#!/usr/bin/python -i
2
3import sys
4import xml.etree.ElementTree as etree
Mark Lobodzinski8c9633d2017-06-05 13:50:10 -06005try:
6 import urllib.request as urllib2
7except ImportError:
8 import urllib2
Tobin Ehlis98d109a2017-05-11 14:42:38 -06009import 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 = {
Mike Schuchardt8da1bb52018-02-22 10:46:31 -070056'VkAcquireNextImageInfo' : 0,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060057'VkAllocationCallbacks' : 1,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -070058'VkAndroidSurfaceCreateInfo' : 2,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060059'VkApplicationInfo' : 3,
60'VkAttachmentDescription' : 4,
61'VkAttachmentReference' : 5,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -070062'VkBindBufferMemoryInfo' : 6,
63'VkBindImageMemoryInfo' : 7,
64'VkBindImageMemorySwapchainInfo' : 8,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060065'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -070082'VkD3D12FenceSubmitInfo' : 26,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060083'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -070097'VkDescriptorUpdateTemplateCreateInfo' : 41,
98'VkDescriptorUpdateTemplateEntry' : 42,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060099'VkDeviceCreateInfo' : 43,
100'VkDeviceEventInfoEXT' : 44,
101'VkDeviceGeneratedCommandsFeaturesNVX' : 45,
102'VkDeviceGeneratedCommandsLimitsNVX' : 46,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700103'VkDeviceGroupBindSparseInfo' : 47,
104'VkDeviceGroupCommandBufferBeginInfo' : 48,
105'VkDeviceGroupDeviceCreateInfo' : 49,
106'VkDeviceGroupPresentInfo' : 50,
107'VkDeviceGroupRenderPassBeginInfo' : 51,
108'VkDeviceGroupSubmitInfo' : 52,
109'VkDeviceGroupSwapchainCreateInfo' : 53,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600110'VkDeviceQueueCreateInfo' : 54,
111'VkDispatchIndirectCommand' : 55,
112'VkDisplayEventInfoEXT' : 56,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700113'VkDisplayModeCreateInfo' : 57,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600114'VkDisplayPowerInfoEXT' : 58,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700115'VkDisplayPresentInfo' : 59,
116'VkDisplaySurfaceCreateInfo' : 60,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600117'VkDrawIndexedIndirectCommand' : 61,
118'VkDrawIndirectCommand' : 62,
119'VkEventCreateInfo' : 63,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700120'VkExportMemoryAllocateInfo' : 64,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600121'VkExportMemoryAllocateInfoNV' : 65,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700122'VkExportMemoryWin32HandleInfo' : 66,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600123'VkExportMemoryWin32HandleInfoNV' : 67,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700124'VkExportSemaphoreCreateInfo' : 68,
125'VkExportSemaphoreWin32HandleInfo' : 69,
126'VkExternalMemoryBufferCreateInfo' : 70,
127'VkExternalMemoryImageCreateInfo' : 71,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600128'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700141'VkImageSwapchainCreateInfo' : 85,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600142'VkImageViewCreateInfo' : 86,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700143'VkImportMemoryFdInfo' : 87,
144'VkImportMemoryWin32HandleInfo' : 88,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600145'VkImportMemoryWin32HandleInfoNV' : 89,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700146'VkImportSemaphoreFdInfo' : 90,
147'VkImportSemaphoreWin32HandleInfo' : 91,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600148'VkIndirectCommandsLayoutCreateInfoNVX' : 92,
149'VkIndirectCommandsLayoutTokenNVX' : 93,
150'VkIndirectCommandsTokenNVX' : 94,
151'VkInstanceCreateInfo' : 95,
152'VkMacOSSurfaceCreateInfoMVK' : 96,
153'VkMappedMemoryRange' : 97,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700154'VkMemoryAllocateFlagsInfo' : 98,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600155'VkMemoryAllocateInfo' : 99,
156'VkMemoryBarrier' : 100,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700157'VkMirSurfaceCreateInfo' : 101,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600158'VkObjectTableCreateInfoNVX' : 102,
159'VkObjectTableDescriptorSetEntryNVX' : 103,
160'VkObjectTableEntryNVX' : 104,
161'VkObjectTableIndexBufferEntryNVX' : 105,
162'VkObjectTablePipelineEntryNVX' : 106,
163'VkObjectTablePushConstantEntryNVX' : 107,
164'VkObjectTableVertexBufferEntryNVX' : 108,
165'VkPhysicalDeviceDiscardRectanglePropertiesEXT' : 109,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700166'VkPhysicalDeviceExternalBufferInfo' : 110,
167'VkPhysicalDeviceExternalImageFormatInfo' : 111,
168'VkPhysicalDeviceExternalSemaphoreInfo' : 112,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600169'VkPhysicalDeviceFeatures' : 113,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700170'VkPhysicalDeviceFeatures2' : 114,
171'VkPhysicalDeviceImageFormatInfo2' : 115,
172'VkPhysicalDeviceMultiviewFeatures' : 116,
173'VkPhysicalDevicePushDescriptorProperties' : 117,
174'VkPhysicalDeviceSparseImageFormatInfo2' : 118,
175'VkPhysicalDeviceSurfaceInfo2' : 119,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600176'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700193'VkPresentInfo' : 137,
194'VkPresentRegion' : 138,
195'VkPresentRegions' : 139,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600196'VkPresentTimesInfoGOOGLE' : 140,
197'VkPushConstantRange' : 141,
198'VkQueryPoolCreateInfo' : 142,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700199'VkRectLayer' : 143,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600200'VkRenderPassBeginInfo' : 144,
201'VkRenderPassCreateInfo' : 145,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700202'VkRenderPassMultiviewCreateInfo' : 146,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600203'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700219'VkSwapchainCreateInfo' : 163,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600220'VkValidationFlagsEXT' : 164,
221'VkVertexInputAttributeDescription' : 165,
222'VkVertexInputBindingDescription' : 166,
223'VkViSurfaceCreateInfoNN' : 167,
224'VkViewport' : 168,
225'VkViewportSwizzleNV' : 169,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700226'VkWaylandSurfaceCreateInfo' : 170,
227'VkWin32KeyedMutexAcquireReleaseInfo' : 171,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600228'VkWin32KeyedMutexAcquireReleaseInfoNV' : 172,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700229'VkWin32SurfaceCreateInfo' : 173,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600230'VkWriteDescriptorSet' : 174,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700231'VkXcbSurfaceCreateInfo' : 175,
232'VkXlibSurfaceCreateInfo' : 176,
233'vkAcquireNextImage2' : 177,
234'vkAcquireNextImage' : 178,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600235'vkAcquireXlibDisplayEXT' : 179,
236'vkAllocateCommandBuffers' : 180,
237'vkAllocateDescriptorSets' : 181,
238'vkAllocateMemory' : 182,
239'vkBeginCommandBuffer' : 183,
240'vkBindBufferMemory' : 184,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700241'vkBindBufferMemory2' : 185,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600242'vkBindImageMemory' : 186,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700243'vkBindImageMemory2' : 187,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600244'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700263'vkCmdDispatchBase' : 207,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600264'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700279'vkCmdPushDescriptorSet' : 223,
280'vkCmdPushDescriptorSetWithTemplate' : 224,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600281'vkCmdReserveSpaceForCommandsNVX' : 225,
282'vkCmdResetEvent' : 226,
283'vkCmdResetQueryPool' : 227,
284'vkCmdResolveImage' : 228,
285'vkCmdSetBlendConstants' : 229,
286'vkCmdSetDepthBias' : 230,
287'vkCmdSetDepthBounds' : 231,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700288'vkCmdSetDeviceMask' : 232,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600289'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700301'vkCreateAndroidSurface' : 245,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600302'vkCreateBuffer' : 246,
303'vkCreateBufferView' : 247,
304'vkCreateCommandPool' : 248,
305'vkCreateComputePipelines' : 249,
306'vkCreateDebugReportCallbackEXT' : 250,
307'vkCreateDescriptorPool' : 251,
308'vkCreateDescriptorSetLayout' : 252,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700309'vkCreateDescriptorUpdateTemplate' : 253,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600310'vkCreateDevice' : 254,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700311'vkCreateDisplayMode' : 255,
312'vkCreateDisplayPlaneSurface' : 256,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600313'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700323'vkCreateMirSurface' : 267,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600324'vkCreateObjectTableNVX' : 268,
325'vkCreatePipelineCache' : 269,
326'vkCreatePipelineLayout' : 270,
327'vkCreateQueryPool' : 271,
328'vkCreateRenderPass' : 272,
329'vkCreateSampler' : 273,
330'vkCreateSemaphore' : 274,
331'vkCreateShaderModule' : 275,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700332'vkCreateSharedSwapchains' : 276,
333'vkCreateSwapchain' : 277,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600334'vkCreateViSurfaceNN' : 278,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700335'vkCreateWaylandSurface' : 279,
336'vkCreateWin32Surface' : 280,
337'vkCreateXcbSurface' : 281,
338'vkCreateXlibSurface' : 282,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600339'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700348'vkDestroyDescriptorUpdateTemplate' : 292,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600349'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700366'vkDestroySurface' : 310,
367'vkDestroySwapchain' : 311,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600368'vkDeviceWaitIdle' : 312,
369'vkDisplayPowerControlEXT' : 313,
370'vkEndCommandBuffer' : 314,
371'vkEnumerateDeviceExtensionProperties' : 315,
372'vkEnumerateDeviceLayerProperties' : 316,
373'vkEnumerateInstanceExtensionProperties' : 317,
374'vkEnumerateInstanceLayerProperties' : 318,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700375'vkEnumeratePhysicalDeviceGroups' : 319,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600376'vkEnumeratePhysicalDevices' : 320,
377'vkFlushMappedMemoryRanges' : 321,
378'vkFreeCommandBuffers' : 322,
379'vkFreeDescriptorSets' : 323,
380'vkFreeMemory' : 324,
381'vkGetBufferMemoryRequirements' : 325,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700382'vkGetDeviceGroupPeerMemoryFeatures' : 326,
383'vkGetDeviceGroupPresentCapabilities' : 327,
384'vkGetDeviceGroupSurfacePresentModes' : 328,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600385'vkGetDeviceMemoryCommitment' : 329,
386'vkGetDeviceProcAddr' : 330,
387'vkGetDeviceQueue' : 331,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700388'vkGetDisplayModeProperties' : 332,
389'vkGetDisplayPlaneCapabilities' : 333,
390'vkGetDisplayPlaneSupportedDisplays' : 334,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600391'vkGetEventStatus' : 335,
392'vkGetFenceStatus' : 336,
393'vkGetImageMemoryRequirements' : 337,
394'vkGetImageSparseMemoryRequirements' : 338,
395'vkGetImageSubresourceLayout' : 339,
396'vkGetInstanceProcAddr' : 340,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700397'vkGetMemoryFd' : 341,
398'vkGetMemoryFdProperties' : 342,
399'vkGetMemoryWin32Handle' : 343,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600400'vkGetMemoryWin32HandleNV' : 344,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700401'vkGetMemoryWin32HandleProperties' : 345,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600402'vkGetPastPresentationTimingGOOGLE' : 346,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700403'vkGetPhysicalDeviceDisplayPlaneProperties' : 347,
404'vkGetPhysicalDeviceDisplayProperties' : 348,
405'vkGetPhysicalDeviceExternalBufferProperties' : 349,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600406'vkGetPhysicalDeviceExternalImageFormatPropertiesNV' : 350,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700407'vkGetPhysicalDeviceExternalSemaphoreProperties' : 351,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600408'vkGetPhysicalDeviceFeatures' : 352,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700409'vkGetPhysicalDeviceFeatures2' : 353,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600410'vkGetPhysicalDeviceFormatProperties' : 354,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700411'vkGetPhysicalDeviceFormatProperties2' : 355,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600412'vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX' : 356,
413'vkGetPhysicalDeviceImageFormatProperties' : 357,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700414'vkGetPhysicalDeviceImageFormatProperties2' : 358,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600415'vkGetPhysicalDeviceMemoryProperties' : 359,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700416'vkGetPhysicalDeviceMemoryProperties2' : 360,
417'vkGetPhysicalDeviceMirPresentationSupport' : 361,
418'vkGetPhysicalDevicePresentRectangles' : 362,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600419'vkGetPhysicalDeviceProperties' : 363,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700420'vkGetPhysicalDeviceProperties2' : 364,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600421'vkGetPhysicalDeviceQueueFamilyProperties' : 365,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700422'vkGetPhysicalDeviceQueueFamilyProperties2' : 366,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600423'vkGetPhysicalDeviceSparseImageFormatProperties' : 367,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700424'vkGetPhysicalDeviceSparseImageFormatProperties2' : 368,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600425'vkGetPhysicalDeviceSurfaceCapabilities2EXT' : 369,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700426'vkGetPhysicalDeviceSurfaceCapabilities2' : 370,
427'vkGetPhysicalDeviceSurfaceCapabilities' : 371,
428'vkGetPhysicalDeviceSurfaceFormats2' : 372,
429'vkGetPhysicalDeviceSurfaceFormats' : 373,
430'vkGetPhysicalDeviceSurfacePresentModes' : 374,
431'vkGetPhysicalDeviceSurfaceSupport' : 375,
432'vkGetPhysicalDeviceWaylandPresentationSupport' : 376,
433'vkGetPhysicalDeviceWin32PresentationSupport' : 377,
434'vkGetPhysicalDeviceXcbPresentationSupport' : 378,
435'vkGetPhysicalDeviceXlibPresentationSupport' : 379,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600436'vkGetPipelineCacheData' : 380,
437'vkGetQueryPoolResults' : 381,
438'vkGetRandROutputDisplayEXT' : 382,
439'vkGetRefreshCycleDurationGOOGLE' : 383,
440'vkGetRenderAreaGranularity' : 384,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700441'vkGetSemaphoreFd' : 385,
442'vkGetSemaphoreWin32Handle' : 386,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600443'vkGetSwapchainCounterEXT' : 387,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700444'vkGetSwapchainImages' : 388,
445'vkGetSwapchainStatus' : 389,
446'vkImportSemaphoreFd' : 390,
447'vkImportSemaphoreWin32Handle' : 391,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600448'vkInvalidateMappedMemoryRanges' : 392,
449'vkMapMemory' : 393,
450'vkMergePipelineCaches' : 394,
451'vkQueueBindSparse' : 395,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700452'vkQueuePresent' : 396,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600453'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700466'vkTrimCommandPool' : 410,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600467'vkUnmapMemory' : 411,
468'vkUnregisterObjectsNVX' : 412,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700469'vkUpdateDescriptorSetWithTemplate' : 413,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600470'vkUpdateDescriptorSets' : 414,
471'vkWaitForFences' : 415,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700472'VkPhysicalDeviceProperties2' : 416,
473'VkFormatProperties2' : 417,
474'VkImageFormatProperties2' : 418,
475'VkPhysicalDeviceMemoryProperties2' : 419,
476'VkSurfaceCapabilities2' : 420,
477'VkDeviceGroupPresentCapabilities' : 421,
478'VkExternalBufferProperties' : 422,
479'VkMemoryWin32HandleProperties' : 423,
480'VkMemoryFdProperties' : 424,
481'VkExternalSemaphoreProperties' : 425,
482'VkQueueFamilyProperties2' : 426,
483'VkSparseImageFormatProperties2' : 427,
484'VkSurfaceFormat2' : 428,
Mark Lobodzinskida9de782017-06-26 13:05:22 -0600485'VkTextureLODGatherFormatPropertiesAMD' : 429,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700486'VkPhysicalDeviceMultiviewProperties' : 430,
487'VkPhysicalDeviceGroupProperties' : 431,
488'VkExternalImageFormatProperties' : 432,
489'VkPhysicalDeviceIDProperties' : 433,
Mark Lobodzinskida9de782017-06-26 13:05:22 -0600490'VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' : 434,
491'VkHdrMetadataEXT' : 435,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700492'VkExternalMemoryProperties' : 436,
Mark Lobodzinski4e39cc62017-06-27 13:21:03 -0600493'VkFormatProperties' : 437,
494'VkImageFormatProperties' : 438,
495'VkPhysicalDeviceLimits' : 439,
496'VkQueueFamilyProperties' : 440,
497'VkMemoryType' : 441,
498'VkMemoryHeap' : 442,
499'VkSparseImageFormatProperties' : 443,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700500'VkSurfaceCapabilities' : 444,
501'VkDisplayProperties' : 445,
502'VkDisplayPlaneCapabilities' : 446,
503'VkSharedPresentSurfaceCapabilities' : 447,
Mark Lobodzinski4e39cc62017-06-27 13:21:03 -0600504'VkExternalImageFormatPropertiesNV' : 448,
Mark Lobodzinskie5b2b712017-06-28 14:58:27 -0600505'VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT' : 449,
506'VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT' : 450,
507'VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT' : 451,
508'VkPipelineColorBlendAdvancedStateCreateInfoEXT' : 452,
509'VkPipelineCoverageModulationStateCreateInfoNV' : 453,
510'VkPipelineCoverageToColorStateCreateInfoNV' : 454,
511'VkSamplerReductionModeCreateInfoEXT' : 455,
Mark Lobodzinski42eb3c32017-06-28 11:47:22 -0600512'VkPhysicalDeviceProperties' : 456,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700513'VkSurfaceFormat' : 457,
514'VkExportFenceCreateInfo' : 458,
515'VkPhysicalDeviceExternalFenceInfo' : 459,
516'VkExternalFenceProperties' : 460,
517'vkGetPhysicalDeviceExternalFenceProperties' : 461,
518'VkImportFenceFdInfo' : 462,
519'VkFenceGetFdInfo' : 463,
520'vkImportFenceFd' : 464,
521'vkGetFenceFd' : 465,
522'VkImportFenceWin32HandleInfo' : 466,
523'VkExportFenceWin32HandleInfo' : 467,
524'VkFenceGetWin32HandleInfo' : 468,
525'vkImportFenceWin32Handle' : 469,
526'vkGetFenceWin32Handle' : 470,
527'VkSemaphoreGetFdInfo' : 471,
528'VkSemaphoreGetWin32HandleInfo' : 472,
529'VkMemoryGetFdInfo' : 473,
530'VkMemoryGetWin32HandleInfo' : 474,
531'VkMemoryDedicatedRequirements' : 475,
532'VkMemoryDedicatedAllocateInfo' : 476,
533'VkBufferMemoryRequirementsInfo2' : 477,
534'VkImageMemoryRequirementsInfo2' : 478,
535'VkImageSparseMemoryRequirementsInfo2' : 479,
536'VkMemoryRequirements2' : 480,
537'VkSparseImageMemoryRequirements2' : 481,
538'vkGetImageMemoryRequirements2' : 482,
539'vkGetBufferMemoryRequirements2' : 483,
540'vkGetImageSparseMemoryRequirements2' : 484,
541'VkPhysicalDevice16BitStorageFeatures' : 485,
542'VkPhysicalDeviceVariablePointerFeatures' : 486,
Mike Schuchardta6b8bdb2017-09-05 16:10:20 -0600543'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,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700558'VkPhysicalDevicePointClippingProperties' : 502,
559'VkInputAttachmentAspectReference' : 503,
560'VkRenderPassInputAttachmentAspectCreateInfo' : 504,
561'VkImageViewUsageCreateInfo' : 505,
562'VkPipelineTessellationDomainOriginStateCreateInfo' : 506,
563'VkImageFormatListCreateInfo' : 507,
564'VkSamplerYcbcrConversionCreateInfo' : 508,
565'VkBindImagePlaneMemoryInfo' : 509,
566'VkImagePlaneMemoryRequirementsInfo' : 510,
567'vkCreateSamplerYcbcrConversion' : 511,
568'VkBindBufferMemoryDeviceGroupInfo' : 512,
569'VkBindImageMemoryDeviceGroupInfo' : 513,
570'vkDestroySamplerYcbcrConversion' : 514,
571'VkPhysicalDeviceSamplerYcbcrConversionFeatures' : 515,
572'VkSamplerYcbcrConversionImageFormatProperties' : 516,
573'VkSamplerYcbcrConversionInfo' : 517,
Mark Lobodzinskia7121692017-10-23 11:31:43 -0600574'VkDeviceQueueGlobalPriorityCreateInfoEXT' : 518,
575'vkGetShaderInfoAMD' : 519,
Mark Lobodzinski2ffbeb82017-10-23 09:23:06 -0600576'VkShaderStatisticsInfoAMD' : 520,
Mark Lobodzinski417d5702017-11-27 12:00:45 -0700577'VkImportMemoryHostPointerInfoEXT' : 521,
578'VkMemoryHostPointerPropertiesEXT' : 522,
579'VkPhysicalDeviceExternalMemoryHostPropertiesEXT' : 523,
580'vkGetMemoryHostPointerPropertiesEXT' : 524,
Mark Lobodzinskidbe7dce2018-01-08 08:17:24 -0700581'VkPhysicalDeviceConservativeRasterizationPropertiesEXT' : 525,
582'VkPipelineRasterizationConservativeStateCreateInfoEXT' : 526,
Mark Lobodzinski484dcb42018-02-20 09:37:55 -0700583'vkCmdWriteBufferMarkerAMD' : 527,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -0700584'VkDescriptorSetLayoutSupport' : 528,
585'VkDeviceQueueInfo2' : 529,
586'VkPhysicalDeviceMaintenance3Properties' : 530,
587'VkPhysicalDeviceProtectedMemoryFeatures' : 531,
588'VkPhysicalDeviceProtectedMemoryProperties' : 532,
589'VkPhysicalDeviceShaderDrawParameterFeatures' : 533,
590'VkPhysicalDeviceSubgroupProperties' : 534,
591'VkProtectedSubmitInfo' : 535,
592'vkEnumerateInstanceVersion' : 536,
593'vkGetDescriptorSetLayoutSupport' : 537,
594'vkGetDeviceQueue2' : 538,
595'VkDebugUtilsObjectNameInfoEXT' : 539,
596'VkDebugUtilsObjectTagInfoEXT' : 540,
597'VkDebugUtilsLabelEXT' : 541,
598'VkDebugUtilsMessengerCallbackDataEXT' : 542,
599'VkDebugUtilsMessengerCreateInfoEXT' : 543,
600'vkCreateDebugUtilsMessengerEXT' : 544,
601'vkSubmitDebugUtilsMessageEXT' : 545,
Mike Schuchardtf9af40c2018-03-07 16:19:13 -0700602'VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT' : 546,
603'VkPipelineVertexInputDivisorStateCreateInfoEXT' : 547,
Mark Lobodzinski6c8268e2018-03-20 13:44:19 -0600604'VkExternalFormatANDROID' : 548,
605'VkImportAndroidHardwareBufferInfoANDROID' : 549,
606'VkMemoryGetAndroidHardwareBufferInfoANDROID' : 550,
607'vkCmdEndDebugUtilsLabelEXT' : 551,
608'vkDestroyDebugUtilsMessengerEXT' : 552,
609'vkGetAndroidHardwareBufferPropertiesANDROID' : 553,
610'vkQueueEndDebugUtilsLabelEXT' : 554,
611'VkAndroidHardwareBufferUsageANDROID' : 555,
612'VkAndroidHardwareBufferPropertiesANDROID' : 556,
613'vkGetMemoryAndroidHardwareBufferANDROID' : 557,
614'VkAndroidHardwareBufferFormatPropertiesANDROID' : 558,
615'vkCmdBeginDebugUtilsLabelEXT' : 559,
616'vkCmdInsertDebugUtilsLabelEXT' : 560,
617'vkQueueBeginDebugUtilsLabelEXT' : 561,
618'vkQueueInsertDebugUtilsLabelEXT' : 562,
619'vkSetDebugUtilsObjectNameEXT' : 563,
620'vkSetDebugUtilsObjectTagEXT' : 564,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600621### ADD New func/struct mappings above this line
622}
623# Mapping of params to unique IDs
624implicit_param_map = {
625'a' : 0,
626'addressModeU' : 1,
627'addressModeV' : 2,
628'addressModeW' : 3,
629'alphaBlendOp' : 4,
630'alphaMode' : 5,
631'aspectMask' : 6,
632'attachmentCount' : 7,
633'b' : 8,
634'back' : 9,
635'bindCount' : 10,
636'bindInfoCount' : 11,
637'bindingCount' : 12,
638'buffer' : 13,
639'bufferView' : 14,
640'callback' : 15,
641'colorBlendOp' : 16,
642'colorWriteMask' : 17,
643'commandBuffer' : 18,
644'commandBufferCount' : 19,
645'commandPool' : 20,
646'compareOp' : 21,
647'components' : 22,
648'compositeAlpha' : 23,
649'connection' : 24,
650'contents' : 25,
651'countBuffer' : 26,
652'counter' : 27,
653'createInfoCount' : 28,
654'cullMode' : 29,
655'dataSize' : 30,
656'dependencyFlags' : 31,
657'depthCompareOp' : 32,
658'depthFailOp' : 33,
659'descriptorCount' : 34,
660'descriptorPool' : 35,
661'descriptorSet' : 36,
662'descriptorSetCount' : 37,
663'descriptorSetLayout' : 38,
664'descriptorType' : 39,
665'descriptorUpdateEntryCount' : 40,
666'descriptorUpdateTemplate' : 41,
667'descriptorWriteCount' : 42,
668'device' : 43,
669'deviceEvent' : 44,
670'disabledValidationCheckCount' : 45,
671'discardRectangleCount' : 46,
672'discardRectangleMode' : 47,
673'display' : 48,
674'displayEvent' : 49,
675'displayMode' : 50,
676'dpy' : 51,
677'dstAccessMask' : 52,
678'dstAlphaBlendFactor' : 53,
679'dstBuffer' : 54,
680'dstCache' : 55,
681'dstColorBlendFactor' : 56,
682'dstImage' : 57,
683'dstImageLayout' : 58,
684'dstSet' : 59,
685'dstStageMask' : 60,
686'dstSubresource' : 61,
687'dynamicStateCount' : 62,
688'event' : 63,
689'eventCount' : 64,
690'externalHandleType' : 65,
691'faceMask' : 66,
692'failOp' : 67,
693'fence' : 68,
694'fenceCount' : 69,
695'filter' : 70,
696'finalLayout' : 71,
697'flags' : 72,
698'format' : 73,
699'framebuffer' : 74,
700'front' : 75,
701'frontFace' : 76,
702'g' : 77,
703'handleType' : 78,
704'handleTypes' : 79,
705'image' : 80,
706'imageColorSpace' : 81,
707'imageFormat' : 82,
708'imageLayout' : 83,
709'imageSharingMode' : 84,
710'imageSubresource' : 85,
711'imageType' : 86,
712'imageUsage' : 87,
713'imageView' : 88,
714'indexType' : 89,
715'indirectCommandsLayout' : 90,
716'indirectCommandsTokenCount' : 91,
717'initialLayout' : 92,
718'inputRate' : 93,
719'instance' : 94,
720'layout' : 95,
721'level' : 96,
722'loadOp' : 97,
723'magFilter' : 98,
724'memory' : 99,
725'memoryRangeCount' : 100,
726'minFilter' : 101,
727'mipmapMode' : 102,
728'mode' : 103,
729'modes' : 104,
730'module' : 105,
731'newLayout' : 106,
732'objectCount' : 107,
733'objectTable' : 108,
734'objectType' : 109,
735'oldLayout' : 110,
736'oldSwapchain' : 111,
737'pAcquireInfo' : 112,
738'pAcquireKeys' : 113,
739'pAcquireSyncs' : 114,
740'pAcquireTimeoutMilliseconds' : 115,
741'pAcquireTimeouts' : 116,
742'pAllocateInfo' : 117,
743'pAllocator' : 118,
744'pApplicationInfo' : 119,
745'pApplicationName' : 120,
746'pAttachments' : 121,
747'pAttributes' : 122,
748'pBeginInfo' : 123,
749'pBindInfo' : 124,
750'pBindInfos' : 125,
751'pBindings' : 126,
752'pBinds' : 127,
753'pBuffer' : 128,
754'pBufferBinds' : 129,
755'pBufferMemoryBarriers' : 130,
756'pBuffers' : 131,
757'pCallback' : 132,
758'pCapabilities' : 133,
759'pCode' : 134,
760'pColor' : 135,
761'pColorAttachments' : 136,
762'pCommandBufferDeviceMasks' : 137,
763'pCommandBuffers' : 138,
764'pCommandPool' : 139,
765'pCommittedMemoryInBytes' : 140,
766'pCorrelationMasks' : 141,
767'pCounterValue' : 142,
768'pCreateInfo' : 143,
769'pCreateInfos' : 144,
770'pData' : 145,
771'pDataSize' : 146,
772'pDependencies' : 147,
773'pDepthStencil' : 148,
774'pDepthStencilAttachment' : 149,
775'pDescriptorCopies' : 150,
776'pDescriptorPool' : 151,
777'pDescriptorSets' : 152,
778'pDescriptorUpdateEntries' : 153,
779'pDescriptorUpdateTemplate' : 154,
780'pDescriptorWrites' : 155,
781'pDevice' : 156,
782'pDeviceEventInfo' : 157,
783'pDeviceGroupPresentCapabilities' : 158,
784'pDeviceIndices' : 159,
785'pDeviceMasks' : 160,
786'pDeviceRenderAreas' : 161,
787'pDisabledValidationChecks' : 162,
788'pDiscardRectangles' : 163,
789'pDisplay' : 164,
790'pDisplayCount' : 165,
791'pDisplayEventInfo' : 166,
792'pDisplayPowerInfo' : 167,
793'pDisplayTimingProperties' : 168,
794'pDisplays' : 169,
795'pDynamicOffsets' : 170,
796'pDynamicState' : 171,
797'pDynamicStates' : 172,
798'pEnabledFeatures' : 173,
799'pEngineName' : 174,
800'pEvent' : 175,
801'pEvents' : 176,
802'pExternalBufferInfo' : 177,
803'pExternalBufferProperties' : 178,
804'pExternalImageFormatProperties' : 179,
805'pExternalSemaphoreInfo' : 180,
806'pExternalSemaphoreProperties' : 181,
807'pFd' : 182,
808'pFeatures' : 183,
809'pFence' : 184,
810'pFences' : 185,
811'pFormatInfo' : 186,
812'pFormatProperties' : 187,
813'pFramebuffer' : 188,
814'pGranularity' : 189,
815'pHandle' : 190,
816'pImage' : 191,
817'pImageBinds' : 192,
818'pImageFormatInfo' : 193,
819'pImageFormatProperties' : 194,
820'pImageIndex' : 195,
821'pImageIndices' : 196,
822'pImageMemoryBarriers' : 197,
823'pImageOpaqueBinds' : 198,
824'pImportSemaphoreFdInfo' : 199,
825'pImportSemaphoreWin32HandleInfo' : 200,
826'pIndirectCommandsLayout' : 201,
827'pIndirectCommandsTokens' : 202,
828'pInitialData' : 203,
829'pInputAssemblyState' : 204,
830'pInputAttachments' : 205,
831'pInstance' : 206,
832'pLayerName' : 207,
833'pLayerPrefix' : 208,
834'pLayout' : 209,
835'pLimits' : 210,
836'pMarkerInfo' : 211,
837'pMarkerName' : 212,
838'pMemory' : 213,
839'pMemoryBarriers' : 214,
840'pMemoryFdProperties' : 215,
841'pMemoryProperties' : 216,
842'pMemoryRanges' : 217,
843'pMemoryRequirements' : 218,
844'pMemoryWin32HandleProperties' : 219,
845'pMessage' : 220,
846'pMetadata' : 221,
847'pMode' : 222,
848'pModes' : 223,
849'pName' : 224,
850'pNameInfo' : 225,
851'pNext' : 226,
852'pObjectEntryCounts' : 227,
853'pObjectEntryTypes' : 228,
854'pObjectEntryUsageFlags' : 229,
855'pObjectIndices' : 230,
856'pObjectName' : 231,
857'pObjectTable' : 232,
858'pOffsets' : 233,
859'pPeerMemoryFeatures' : 234,
860'pPhysicalDeviceCount' : 235,
861'pPhysicalDeviceGroupCount' : 236,
862'pPhysicalDeviceGroupProperties' : 237,
863'pPhysicalDevices' : 238,
864'pPipelineCache' : 239,
865'pPipelineLayout' : 240,
866'pPipelines' : 241,
867'pPoolSizes' : 242,
868'pPresentInfo' : 243,
869'pPresentModeCount' : 244,
870'pPresentModes' : 245,
871'pPresentationTimingCount' : 246,
872'pPresentationTimings' : 247,
873'pPreserveAttachments' : 248,
874'pProcessCommandsInfo' : 249,
875'pProperties' : 250,
876'pPropertyCount' : 251,
877'pPushConstantRanges' : 252,
878'pQueryPool' : 253,
879'pQueue' : 254,
880'pQueueCreateInfos' : 255,
881'pQueueFamilyProperties' : 256,
882'pQueueFamilyPropertyCount' : 257,
883'pQueuePriorities' : 258,
884'pRanges' : 259,
885'pRasterizationState' : 260,
886'pRectCount' : 261,
887'pRectangles' : 262,
888'pRects' : 263,
889'pRegions' : 264,
890'pReleaseKeys' : 265,
891'pReleaseSyncs' : 266,
892'pRenderPass' : 267,
893'pRenderPassBegin' : 268,
894'pReserveSpaceInfo' : 269,
895'pResolveAttachments' : 270,
896'pResults' : 271,
897'pSFRRects' : 272,
898'pSampleMask' : 273,
899'pSampler' : 274,
900'pScissors' : 275,
901'pSemaphore' : 276,
902'pSetLayout' : 277,
903'pSetLayouts' : 278,
904'pShaderModule' : 279,
905'pSignalSemaphoreDeviceIndices' : 280,
906'pSignalSemaphoreValues' : 281,
907'pSignalSemaphores' : 282,
908'pSparseMemoryRequirementCount' : 283,
909'pSparseMemoryRequirements' : 284,
910'pSpecializationInfo' : 285,
911'pSrcCaches' : 286,
912'pStages' : 287,
913'pSubmits' : 288,
914'pSubpasses' : 289,
915'pSubresource' : 290,
916'pSupported' : 291,
917'pSurface' : 292,
918'pSurfaceCapabilities' : 293,
919'pSurfaceFormatCount' : 294,
920'pSurfaceFormats' : 295,
921'pSurfaceInfo' : 296,
922'pSwapchain' : 297,
923'pSwapchainImageCount' : 298,
924'pSwapchainImages' : 299,
925'pSwapchains' : 300,
926'pTag' : 301,
927'pTagInfo' : 302,
928'pTimes' : 303,
929'pTokens' : 304,
930'pValues' : 305,
931'pVertexAttributeDescriptions' : 306,
932'pVertexBindingDescriptions' : 307,
933'pVertexInputState' : 308,
934'pView' : 309,
935'pViewMasks' : 310,
936'pViewOffsets' : 311,
937'pWaitDstStageMask' : 312,
938'pWaitSemaphoreDeviceIndices' : 313,
939'pWaitSemaphoreValues' : 314,
940'pWaitSemaphores' : 315,
941'passOp' : 316,
942'physicalDevice' : 317,
943'pipeline' : 318,
944'pipelineBindPoint' : 319,
945'pipelineCache' : 320,
946'pipelineLayout' : 321,
947'pipelineStage' : 322,
948'polygonMode' : 323,
949'poolSizeCount' : 324,
950'powerState' : 325,
951'ppData' : 326,
952'ppEnabledExtensionNames' : 327,
953'ppEnabledLayerNames' : 328,
954'ppObjectTableEntries' : 329,
955'preTransform' : 330,
956'presentMode' : 331,
957'queryPool' : 332,
958'queryType' : 333,
959'queue' : 334,
960'queueCount' : 335,
961'queueCreateInfoCount' : 336,
962'r' : 337,
963'rangeCount' : 338,
964'rasterizationOrder' : 339,
965'rasterizationSamples' : 340,
966'rectCount' : 341,
967'regionCount' : 342,
968'renderPass' : 343,
969'sType' : 344,
970'sampler' : 345,
971'samples' : 346,
972'scissorCount' : 347,
973'semaphore' : 348,
974'sequencesCountBuffer' : 349,
975'sequencesIndexBuffer' : 350,
976'shaderModule' : 351,
977'sharingMode' : 352,
978'size' : 353,
979'srcAccessMask' : 354,
980'srcAlphaBlendFactor' : 355,
981'srcBuffer' : 356,
982'srcCacheCount' : 357,
983'srcColorBlendFactor' : 358,
984'srcImage' : 359,
985'srcImageLayout' : 360,
986'srcSet' : 361,
987'srcStageMask' : 362,
988'srcSubresource' : 363,
989'stage' : 364,
990'stageCount' : 365,
991'stageFlags' : 366,
992'stageMask' : 367,
993'stencilLoadOp' : 368,
994'stencilStoreOp' : 369,
995'storeOp' : 370,
996'subpassCount' : 371,
997'subresource' : 372,
998'subresourceRange' : 373,
999'surface' : 374,
1000'surfaceCounters' : 375,
1001'swapchain' : 376,
1002'swapchainCount' : 377,
1003'tagSize' : 378,
1004'targetCommandBuffer' : 379,
1005'templateType' : 380,
1006'tiling' : 381,
1007'tokenCount' : 382,
1008'tokenType' : 383,
1009'topology' : 384,
1010'transform' : 385,
1011'type' : 386,
1012'usage' : 387,
1013'viewType' : 388,
1014'viewportCount' : 389,
1015'w' : 390,
1016'window' : 391,
1017'x' : 392,
1018'y' : 393,
1019'z' : 394,
Mark Lobodzinskicb6f56f2017-06-26 16:04:27 -06001020'externalMemoryFeatures' : 395,
1021'compatibleHandleTypes' : 396,
1022'exportFromImportedHandleTypes' : 397,
Mark Lobodzinski4e39cc62017-06-27 13:21:03 -06001023'linearTilingFeatures' : 398,
1024'optimalTilingFeatures' : 399,
1025'bufferFeatures' : 400,
1026'sampleCounts' : 401,
1027'framebufferColorSampleCounts' : 402,
1028'framebufferDepthSampleCounts' : 403,
1029'framebufferStencilSampleCounts' : 404,
1030'framebufferNoAttachmentsSampleCounts' : 405,
1031'sampledImageColorSampleCounts' : 406,
1032'sampledImageIntegerSampleCounts' : 407,
1033'sampledImageDepthSampleCounts' : 408,
1034'sampledImageStencilSampleCounts' : 409,
1035'storageImageSampleCounts' : 410,
1036'queueFlags' : 411,
1037'propertyFlags' : 412,
1038'supportedTransforms' : 413,
1039'currentTransform' : 414,
1040'supportedCompositeAlpha' : 415,
1041'supportedUsageFlags' : 416,
1042'supportedAlpha' : 417,
1043'sharedPresentSupportedUsageFlags' : 418,
1044'externalSemaphoreFeatures' : 419,
1045'supportedSurfaceCounters' : 420,
Mark Lobodzinskie5b2b712017-06-28 14:58:27 -06001046'blendOverlap' : 421,
1047'coverageModulationMode' : 422,
1048'coverageModulationTableCount' : 423,
1049'reductionMode' : 424,
Mark Lobodzinski63aebd32017-06-28 10:54:26 -06001050'enabledLayerCount' : 425,
1051'enabledExtensionCount' : 426,
1052'waitSemaphoreCount' : 427,
1053'signalSemaphoreCount' : 428,
1054'bufferBindCount' : 429,
1055'imageOpaqueBindCount' : 430,
1056'imageBindCount' : 431,
1057'codeSize' : 432,
1058'initialDataSize' : 433,
1059'vertexBindingDescriptionCount' : 434,
1060'vertexAttributeDescriptionCount' : 435,
1061'setLayoutCount' : 436,
1062'pushConstantRangeCount' : 437,
1063'inputAttachmentCount' : 438,
1064'colorAttachmentCount' : 439,
1065'preserveAttachmentCount' : 440,
1066'dependencyCount' : 441,
1067'dynamicOffsetCount' : 442,
1068'rectangleCount' : 443,
1069'correlationMaskCount' : 444,
1070'acquireCount' : 445,
1071'releaseCount' : 446,
1072'deviceIndexCount' : 447,
1073'SFRRectCount' : 448,
1074'deviceRenderAreaCount' : 449,
1075'physicalDeviceCount' : 450,
1076'waitSemaphoreValuesCount' : 451,
1077'signalSemaphoreValuesCount' : 452,
Mark Lobodzinski42eb3c32017-06-28 11:47:22 -06001078'deviceType' : 453,
1079'colorSpace' : 454,
Mark Lobodzinskie1cce092017-06-28 13:21:27 -06001080'pfnAllocation' : 455,
1081'pfnReallocation' : 556,
1082'pfnFree' : 457,
1083'blendConstants' : 458,
1084'displayName' : 459,
1085'pfnCallback' : 460,
Mark Youngabc2d6e2017-07-07 07:59:56 -06001086'externalFenceFeatures' : 461,
1087'pInfo' : 462,
1088'pGetFdInfo' : 463,
1089'pGetWin32HandleInfo' : 464,
1090'pExternalFenceInfo' : 465,
1091'pExternalFenceProperties' : 466,
1092'pImportFenceProperties' : 467,
1093'pImportFenceFdInfo' : 468,
1094'pImportFenceWin32HandleInfo' : 469,
Mark Lobodzinski92df8b42017-07-20 10:38:46 -06001095'basePipelineHandle' : 470,
1096'pImmutableSamplers' : 471,
1097'pTexelBufferView' : 472,
Mike Schuchardta6b8bdb2017-09-05 16:10:20 -06001098'sampleLocationsPerPixel' : 473,
1099'sampleLocationsCount' : 474,
1100'pSampleLocations' : 475,
1101'attachmentInitialSampleLocationsCount' : 476,
1102'pAttachmentInitialSampleLocations' : 477,
1103'postSubpassSampleLocationsCount' : 478,
1104'pSubpassSampleLocations' : 479,
1105'sampleLocationSampleCounts' : 480,
1106'pValidationCache' : 481,
1107'validationCache' : 482,
1108'sampleLocationsInfo' : 483,
1109'pSampleLocationsInfo' : 484,
1110'pMultisampleProperties' : 485,
Lenny Komowb79f04a2017-09-18 17:07:00 -06001111'pointClippingBehavior' : 486,
1112'aspectReferenceCount' : 487,
1113'pAspectReferences' : 488,
1114'domainOrigin' : 489,
1115'ycbcrModel' : 490,
1116'ycbcrRange' : 491,
1117'xChromaOffset' : 492,
1118'yChromaOffset' : 493,
1119'chromaFilter' : 494,
1120'planeAspect' : 495,
1121'pYcbcrConversion' : 496,
1122'ycbcrConversion' : 497,
1123'pViewFormats' : 498,
1124'conversion' : 499,
Mark Lobodzinskie3f891d2017-10-09 13:06:50 -06001125'pPostSubpassSampleLocations' : 500,
Mark Lobodzinskia7121692017-10-23 11:31:43 -06001126'globalPriority' : 501,
1127'shaderStage' : 502,
1128'infoType' : 503,
1129'pInfoSize' : 504,
Mark Lobodzinski2ffbeb82017-10-23 09:23:06 -06001130'shaderStageMask' : 505,
Mark Lobodzinski417d5702017-11-27 12:00:45 -07001131'pMemoryHostPointerProperties' : 506,
1132'pHostPointer' : 507,
Mark Lobodzinskidbe7dce2018-01-08 08:17:24 -07001133'conservativeRasterizationMode' : 508,
1134'pViewports' : 509,
1135'pViewportWScalings' : 510,
Mike Schuchardt8da1bb52018-02-22 10:46:31 -07001136'pSplitInstanceBindRegions' : 511,
1137'pApiVersion' : 512,
1138'pSupport' : 513,
1139'pQueueInfo' : 514,
1140'splitInstanceBindRegionCount' : 515,
1141'pLabelName' : 516,
1142'messageSeverity' : 517,
1143'messageType' : 518,
1144'pfnUserCallback' : 519,
1145'pMessenger' : 520,
1146'messageTypes' : 521,
Mike Schuchardtf9af40c2018-03-07 16:19:13 -07001147'vertexBindingDivisorCount' : 522,
1148'pVertexBindingDivisors' : 523,
Mark Lobodzinski6c8268e2018-03-20 13:44:19 -06001149'formatFeatures' : 524,
1150'suggestedYcbcrModel' : 525,
1151'suggestedYcbcrRange' : 526,
1152'suggestedXChromaOffset' : 527,
1153'suggestedYChromaOffset' : 528,
1154'pMessageIdName' : 529,
1155'pLabelInfo' : 530,
1156'messenger' : 531,
1157'pCallbackData' : 532,
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001158### ADD New implicit param mappings above this line
1159}
1160
1161uniqueid_set = set() # store uniqueid to make sure we don't have duplicates
1162
1163# Convert a string VUID into numerical value
1164# See "VUID Mapping Details" comment above for more info
1165def convertVUID(vuid_string):
Mark Young6ba8abe2017-11-09 10:37:04 -07001166 """Convert a string-based VUID into a numerical value"""
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001167 #func_struct_update = False
1168 #imp_param_update = False
1169 if vuid_string in ['', None]:
1170 return -1
1171 vuid_parts = vuid_string.split('-')
Mike Schuchardt8da1bb52018-02-22 10:46:31 -07001172 # Alias core/KHR/KHX ids because not all VUIDs in the spec get updated at the same time
1173 if vuid_parts[1].endswith('KHR') or vuid_parts[1].endswith('KHX'):
1174 vuid_parts[1] = vuid_parts[1][:-3]
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001175 if vuid_parts[1] not in func_struct_id_map:
1176 print ("ERROR: Missing func/struct map value for '%s'!" % (vuid_parts[1]))
1177 print (" TODO: Need to add mapping for this to end of func_struct_id_map")
1178 print (" replace '### ADD New func/struct mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[1], len(func_struct_id_map)))
1179 func_struct_id_map[vuid_parts[1]] = len(func_struct_id_map)
1180 #func_struct_update = True
Jean-François Roybb0ca872018-01-22 15:05:11 -08001181 sys.exit(1)
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001182 uniqueid = func_struct_id_map[vuid_parts[1]] << FUNC_STRUCT_SHIFT
1183 if vuid_parts[-1].isdigit(): # explit VUID has int on the end
1184 explicit_id = int(vuid_parts[-1])
1185 # For explicit case, id is explicit_base + func/struct mapping + unique id
1186 uniqueid = uniqueid + (explicit_id << EXPLICIT_ID_SHIFT) + explicit_bit0
1187 else: # implicit case
1188 if vuid_parts[-1] not in implicit_type_map:
1189 print("ERROR: Missing mapping for implicit type '%s'!\nTODO: Please add new mapping." % (vuid_parts[-1]))
Jean-François Roybb0ca872018-01-22 15:05:11 -08001190 sys.exit(1)
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001191 else:
1192 param_id = 0 # Default when no param is available
1193 if vuid_parts[-2] != vuid_parts[1]: # we have a parameter
1194 if vuid_parts[-2] in implicit_param_map:
1195 param_id = implicit_param_map[vuid_parts[-2]]
1196 else:
1197 print ("ERROR: Missing param '%s' from implicit_param_map\n TODO: Please add new mapping." % (vuid_parts[-2]))
1198 print (" replace '### ADD New implicit param mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[-2], len(implicit_param_map)))
1199 implicit_param_map[vuid_parts[-2]] = len(implicit_param_map)
1200 #imp_param_update = True
Jean-François Roybb0ca872018-01-22 15:05:11 -08001201 sys.exit(1)
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001202 uniqueid = uniqueid + (param_id << IMPLICIT_PARAM_SHIFT) + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0
1203 else: # No parameter so that field is 0
1204 uniqueid = uniqueid + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0
Tobin Ehlis3c37fb32017-05-24 09:31:13 -06001205# if uniqueid in uniqueid_set:
1206# print ("ERROR: Uniqueid %d for string id %s is a duplicate!" % (uniqueid, vuid_string))
1207# print (" TODO: Figure out what caused the dupe and fix it")
1208 #sys.exit()
Mark Lobodzinskifb842d52017-06-21 12:21:34 -06001209 # print ("Storing uniqueid %d for unique string %s" % (uniqueid, vuid_string))
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001210 uniqueid_set.add(uniqueid)
1211# if func_struct_update:
1212# print ("func_struct_id_map updated, here's new structure")
1213# print ("func_struct_id_map = {")
1214# fs_id = 0
1215# for fs in sorted(func_struct_id_map):
1216# print ("'%s' : %d," % (fs, fs_id))
1217# fs_id = fs_id + 1
1218# print ("### ADD New func/struct mappings above this line")
1219# print ("}")
1220# if imp_param_update:
1221# print ("implicit_param_map updated, here's new structure")
1222# print ("implicit_param_map = {")
1223# ip_id = 0
1224# for ip in sorted(implicit_param_map):
1225# print ("'%s' : %d," % (ip, ip_id))
1226# ip_id = ip_id + 1
1227# print ("### ADD New implicit param mappings above this line")
1228# print ("}")
1229
1230 return uniqueid