blob: 284c58fb829b10dc29608eeafebb735d37751e46 [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 = {
56'VkAcquireNextImageInfoKHX' : 0,
57'VkAllocationCallbacks' : 1,
58'VkAndroidSurfaceCreateInfoKHR' : 2,
59'VkApplicationInfo' : 3,
60'VkAttachmentDescription' : 4,
61'VkAttachmentReference' : 5,
Lenny Komowb79f04a2017-09-18 17:07:00 -060062'VkBindBufferMemoryInfoKHR' : 6,
63'VkBindImageMemoryInfoKHR' : 7,
Tobin Ehlis98d109a2017-05-11 14:42:38 -060064'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,
Mark Youngabc2d6e2017-07-07 07:59:56 -060082'VkD3D12FenceSubmitInfoKHR' : 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,
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,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600120'VkExportMemoryAllocateInfoKHR' : 64,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600121'VkExportMemoryAllocateInfoNV' : 65,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600122'VkExportMemoryWin32HandleInfoKHR' : 66,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600123'VkExportMemoryWin32HandleInfoNV' : 67,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600124'VkExportSemaphoreCreateInfoKHR' : 68,
125'VkExportSemaphoreWin32HandleInfoKHR' : 69,
126'VkExternalMemoryBufferCreateInfoKHR' : 70,
127'VkExternalMemoryImageCreateInfoKHR' : 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,
141'VkImageSwapchainCreateInfoKHX' : 85,
142'VkImageViewCreateInfo' : 86,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600143'VkImportMemoryFdInfoKHR' : 87,
144'VkImportMemoryWin32HandleInfoKHR' : 88,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600145'VkImportMemoryWin32HandleInfoNV' : 89,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600146'VkImportSemaphoreFdInfoKHR' : 90,
147'VkImportSemaphoreWin32HandleInfoKHR' : 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,
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,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600166'VkPhysicalDeviceExternalBufferInfoKHR' : 110,
167'VkPhysicalDeviceExternalImageFormatInfoKHR' : 111,
168'VkPhysicalDeviceExternalSemaphoreInfoKHR' : 112,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600169'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,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600227'VkWin32KeyedMutexAcquireReleaseInfoKHR' : 171,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600228'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,
Lenny Komowb79f04a2017-09-18 17:07:00 -0600241'vkBindBufferMemory2KHR' : 185,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600242'vkBindImageMemory' : 186,
Lenny Komowb79f04a2017-09-18 17:07:00 -0600243'vkBindImageMemory2KHR' : 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,
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,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600397'vkGetMemoryFdKHR' : 341,
398'vkGetMemoryFdPropertiesKHR' : 342,
399'vkGetMemoryWin32HandleKHR' : 343,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600400'vkGetMemoryWin32HandleNV' : 344,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600401'vkGetMemoryWin32HandlePropertiesKHR' : 345,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600402'vkGetPastPresentationTimingGOOGLE' : 346,
403'vkGetPhysicalDeviceDisplayPlanePropertiesKHR' : 347,
404'vkGetPhysicalDeviceDisplayPropertiesKHR' : 348,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600405'vkGetPhysicalDeviceExternalBufferPropertiesKHR' : 349,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600406'vkGetPhysicalDeviceExternalImageFormatPropertiesNV' : 350,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600407'vkGetPhysicalDeviceExternalSemaphorePropertiesKHR' : 351,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600408'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,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600441'vkGetSemaphoreFdKHR' : 385,
442'vkGetSemaphoreWin32HandleKHR' : 386,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600443'vkGetSwapchainCounterEXT' : 387,
444'vkGetSwapchainImagesKHR' : 388,
445'vkGetSwapchainStatusKHR' : 389,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600446'vkImportSemaphoreFdKHR' : 390,
447'vkImportSemaphoreWin32HandleKHR' : 391,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600448'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,
Mark Lobodzinski52295372017-06-21 11:54:54 -0600472'VkPhysicalDeviceProperties2KHR' : 416,
473'VkFormatProperties2KHR' : 417,
474'VkImageFormatProperties2KHR' : 418,
475'VkPhysicalDeviceMemoryProperties2KHR' : 419,
476'VkSurfaceCapabilities2KHR' : 420,
477'VkDeviceGroupPresentCapabilitiesKHX' : 421,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600478'VkExternalBufferPropertiesKHR' : 422,
479'VkMemoryWin32HandlePropertiesKHR' : 423,
480'VkMemoryFdPropertiesKHR' : 424,
481'VkExternalSemaphorePropertiesKHR' : 425,
Mark Lobodzinskida9de782017-06-26 13:05:22 -0600482'VkQueueFamilyProperties2KHR' : 426,
483'VkSparseImageFormatProperties2KHR' : 427,
484'VkSurfaceFormat2KHR' : 428,
485'VkTextureLODGatherFormatPropertiesAMD' : 429,
486'VkPhysicalDeviceMultiviewPropertiesKHX' : 430,
487'VkPhysicalDeviceGroupPropertiesKHX' : 431,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600488'VkExternalImageFormatPropertiesKHR' : 432,
489'VkPhysicalDeviceIDPropertiesKHR' : 433,
Mark Lobodzinskida9de782017-06-26 13:05:22 -0600490'VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX' : 434,
491'VkHdrMetadataEXT' : 435,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600492'VkExternalMemoryPropertiesKHR' : 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,
500'VkSurfaceCapabilitiesKHR' : 444,
501'VkDisplayPropertiesKHR' : 445,
502'VkDisplayPlaneCapabilitiesKHR' : 446,
503'VkSharedPresentSurfaceCapabilitiesKHR' : 447,
504'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,
513'VkSurfaceFormatKHR' : 457,
Mark Youngabc2d6e2017-07-07 07:59:56 -0600514'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,
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,
Lenny Komowb79f04a2017-09-18 17:07:00 -0600558'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,
Tobin Ehlis98d109a2017-05-11 14:42:38 -0600574### ADD New func/struct mappings above this line
575}
576# Mapping of params to unique IDs
577implicit_param_map = {
578'a' : 0,
579'addressModeU' : 1,
580'addressModeV' : 2,
581'addressModeW' : 3,
582'alphaBlendOp' : 4,
583'alphaMode' : 5,
584'aspectMask' : 6,
585'attachmentCount' : 7,
586'b' : 8,
587'back' : 9,
588'bindCount' : 10,
589'bindInfoCount' : 11,
590'bindingCount' : 12,
591'buffer' : 13,
592'bufferView' : 14,
593'callback' : 15,
594'colorBlendOp' : 16,
595'colorWriteMask' : 17,
596'commandBuffer' : 18,
597'commandBufferCount' : 19,
598'commandPool' : 20,
599'compareOp' : 21,
600'components' : 22,
601'compositeAlpha' : 23,
602'connection' : 24,
603'contents' : 25,
604'countBuffer' : 26,
605'counter' : 27,
606'createInfoCount' : 28,
607'cullMode' : 29,
608'dataSize' : 30,
609'dependencyFlags' : 31,
610'depthCompareOp' : 32,
611'depthFailOp' : 33,
612'descriptorCount' : 34,
613'descriptorPool' : 35,
614'descriptorSet' : 36,
615'descriptorSetCount' : 37,
616'descriptorSetLayout' : 38,
617'descriptorType' : 39,
618'descriptorUpdateEntryCount' : 40,
619'descriptorUpdateTemplate' : 41,
620'descriptorWriteCount' : 42,
621'device' : 43,
622'deviceEvent' : 44,
623'disabledValidationCheckCount' : 45,
624'discardRectangleCount' : 46,
625'discardRectangleMode' : 47,
626'display' : 48,
627'displayEvent' : 49,
628'displayMode' : 50,
629'dpy' : 51,
630'dstAccessMask' : 52,
631'dstAlphaBlendFactor' : 53,
632'dstBuffer' : 54,
633'dstCache' : 55,
634'dstColorBlendFactor' : 56,
635'dstImage' : 57,
636'dstImageLayout' : 58,
637'dstSet' : 59,
638'dstStageMask' : 60,
639'dstSubresource' : 61,
640'dynamicStateCount' : 62,
641'event' : 63,
642'eventCount' : 64,
643'externalHandleType' : 65,
644'faceMask' : 66,
645'failOp' : 67,
646'fence' : 68,
647'fenceCount' : 69,
648'filter' : 70,
649'finalLayout' : 71,
650'flags' : 72,
651'format' : 73,
652'framebuffer' : 74,
653'front' : 75,
654'frontFace' : 76,
655'g' : 77,
656'handleType' : 78,
657'handleTypes' : 79,
658'image' : 80,
659'imageColorSpace' : 81,
660'imageFormat' : 82,
661'imageLayout' : 83,
662'imageSharingMode' : 84,
663'imageSubresource' : 85,
664'imageType' : 86,
665'imageUsage' : 87,
666'imageView' : 88,
667'indexType' : 89,
668'indirectCommandsLayout' : 90,
669'indirectCommandsTokenCount' : 91,
670'initialLayout' : 92,
671'inputRate' : 93,
672'instance' : 94,
673'layout' : 95,
674'level' : 96,
675'loadOp' : 97,
676'magFilter' : 98,
677'memory' : 99,
678'memoryRangeCount' : 100,
679'minFilter' : 101,
680'mipmapMode' : 102,
681'mode' : 103,
682'modes' : 104,
683'module' : 105,
684'newLayout' : 106,
685'objectCount' : 107,
686'objectTable' : 108,
687'objectType' : 109,
688'oldLayout' : 110,
689'oldSwapchain' : 111,
690'pAcquireInfo' : 112,
691'pAcquireKeys' : 113,
692'pAcquireSyncs' : 114,
693'pAcquireTimeoutMilliseconds' : 115,
694'pAcquireTimeouts' : 116,
695'pAllocateInfo' : 117,
696'pAllocator' : 118,
697'pApplicationInfo' : 119,
698'pApplicationName' : 120,
699'pAttachments' : 121,
700'pAttributes' : 122,
701'pBeginInfo' : 123,
702'pBindInfo' : 124,
703'pBindInfos' : 125,
704'pBindings' : 126,
705'pBinds' : 127,
706'pBuffer' : 128,
707'pBufferBinds' : 129,
708'pBufferMemoryBarriers' : 130,
709'pBuffers' : 131,
710'pCallback' : 132,
711'pCapabilities' : 133,
712'pCode' : 134,
713'pColor' : 135,
714'pColorAttachments' : 136,
715'pCommandBufferDeviceMasks' : 137,
716'pCommandBuffers' : 138,
717'pCommandPool' : 139,
718'pCommittedMemoryInBytes' : 140,
719'pCorrelationMasks' : 141,
720'pCounterValue' : 142,
721'pCreateInfo' : 143,
722'pCreateInfos' : 144,
723'pData' : 145,
724'pDataSize' : 146,
725'pDependencies' : 147,
726'pDepthStencil' : 148,
727'pDepthStencilAttachment' : 149,
728'pDescriptorCopies' : 150,
729'pDescriptorPool' : 151,
730'pDescriptorSets' : 152,
731'pDescriptorUpdateEntries' : 153,
732'pDescriptorUpdateTemplate' : 154,
733'pDescriptorWrites' : 155,
734'pDevice' : 156,
735'pDeviceEventInfo' : 157,
736'pDeviceGroupPresentCapabilities' : 158,
737'pDeviceIndices' : 159,
738'pDeviceMasks' : 160,
739'pDeviceRenderAreas' : 161,
740'pDisabledValidationChecks' : 162,
741'pDiscardRectangles' : 163,
742'pDisplay' : 164,
743'pDisplayCount' : 165,
744'pDisplayEventInfo' : 166,
745'pDisplayPowerInfo' : 167,
746'pDisplayTimingProperties' : 168,
747'pDisplays' : 169,
748'pDynamicOffsets' : 170,
749'pDynamicState' : 171,
750'pDynamicStates' : 172,
751'pEnabledFeatures' : 173,
752'pEngineName' : 174,
753'pEvent' : 175,
754'pEvents' : 176,
755'pExternalBufferInfo' : 177,
756'pExternalBufferProperties' : 178,
757'pExternalImageFormatProperties' : 179,
758'pExternalSemaphoreInfo' : 180,
759'pExternalSemaphoreProperties' : 181,
760'pFd' : 182,
761'pFeatures' : 183,
762'pFence' : 184,
763'pFences' : 185,
764'pFormatInfo' : 186,
765'pFormatProperties' : 187,
766'pFramebuffer' : 188,
767'pGranularity' : 189,
768'pHandle' : 190,
769'pImage' : 191,
770'pImageBinds' : 192,
771'pImageFormatInfo' : 193,
772'pImageFormatProperties' : 194,
773'pImageIndex' : 195,
774'pImageIndices' : 196,
775'pImageMemoryBarriers' : 197,
776'pImageOpaqueBinds' : 198,
777'pImportSemaphoreFdInfo' : 199,
778'pImportSemaphoreWin32HandleInfo' : 200,
779'pIndirectCommandsLayout' : 201,
780'pIndirectCommandsTokens' : 202,
781'pInitialData' : 203,
782'pInputAssemblyState' : 204,
783'pInputAttachments' : 205,
784'pInstance' : 206,
785'pLayerName' : 207,
786'pLayerPrefix' : 208,
787'pLayout' : 209,
788'pLimits' : 210,
789'pMarkerInfo' : 211,
790'pMarkerName' : 212,
791'pMemory' : 213,
792'pMemoryBarriers' : 214,
793'pMemoryFdProperties' : 215,
794'pMemoryProperties' : 216,
795'pMemoryRanges' : 217,
796'pMemoryRequirements' : 218,
797'pMemoryWin32HandleProperties' : 219,
798'pMessage' : 220,
799'pMetadata' : 221,
800'pMode' : 222,
801'pModes' : 223,
802'pName' : 224,
803'pNameInfo' : 225,
804'pNext' : 226,
805'pObjectEntryCounts' : 227,
806'pObjectEntryTypes' : 228,
807'pObjectEntryUsageFlags' : 229,
808'pObjectIndices' : 230,
809'pObjectName' : 231,
810'pObjectTable' : 232,
811'pOffsets' : 233,
812'pPeerMemoryFeatures' : 234,
813'pPhysicalDeviceCount' : 235,
814'pPhysicalDeviceGroupCount' : 236,
815'pPhysicalDeviceGroupProperties' : 237,
816'pPhysicalDevices' : 238,
817'pPipelineCache' : 239,
818'pPipelineLayout' : 240,
819'pPipelines' : 241,
820'pPoolSizes' : 242,
821'pPresentInfo' : 243,
822'pPresentModeCount' : 244,
823'pPresentModes' : 245,
824'pPresentationTimingCount' : 246,
825'pPresentationTimings' : 247,
826'pPreserveAttachments' : 248,
827'pProcessCommandsInfo' : 249,
828'pProperties' : 250,
829'pPropertyCount' : 251,
830'pPushConstantRanges' : 252,
831'pQueryPool' : 253,
832'pQueue' : 254,
833'pQueueCreateInfos' : 255,
834'pQueueFamilyProperties' : 256,
835'pQueueFamilyPropertyCount' : 257,
836'pQueuePriorities' : 258,
837'pRanges' : 259,
838'pRasterizationState' : 260,
839'pRectCount' : 261,
840'pRectangles' : 262,
841'pRects' : 263,
842'pRegions' : 264,
843'pReleaseKeys' : 265,
844'pReleaseSyncs' : 266,
845'pRenderPass' : 267,
846'pRenderPassBegin' : 268,
847'pReserveSpaceInfo' : 269,
848'pResolveAttachments' : 270,
849'pResults' : 271,
850'pSFRRects' : 272,
851'pSampleMask' : 273,
852'pSampler' : 274,
853'pScissors' : 275,
854'pSemaphore' : 276,
855'pSetLayout' : 277,
856'pSetLayouts' : 278,
857'pShaderModule' : 279,
858'pSignalSemaphoreDeviceIndices' : 280,
859'pSignalSemaphoreValues' : 281,
860'pSignalSemaphores' : 282,
861'pSparseMemoryRequirementCount' : 283,
862'pSparseMemoryRequirements' : 284,
863'pSpecializationInfo' : 285,
864'pSrcCaches' : 286,
865'pStages' : 287,
866'pSubmits' : 288,
867'pSubpasses' : 289,
868'pSubresource' : 290,
869'pSupported' : 291,
870'pSurface' : 292,
871'pSurfaceCapabilities' : 293,
872'pSurfaceFormatCount' : 294,
873'pSurfaceFormats' : 295,
874'pSurfaceInfo' : 296,
875'pSwapchain' : 297,
876'pSwapchainImageCount' : 298,
877'pSwapchainImages' : 299,
878'pSwapchains' : 300,
879'pTag' : 301,
880'pTagInfo' : 302,
881'pTimes' : 303,
882'pTokens' : 304,
883'pValues' : 305,
884'pVertexAttributeDescriptions' : 306,
885'pVertexBindingDescriptions' : 307,
886'pVertexInputState' : 308,
887'pView' : 309,
888'pViewMasks' : 310,
889'pViewOffsets' : 311,
890'pWaitDstStageMask' : 312,
891'pWaitSemaphoreDeviceIndices' : 313,
892'pWaitSemaphoreValues' : 314,
893'pWaitSemaphores' : 315,
894'passOp' : 316,
895'physicalDevice' : 317,
896'pipeline' : 318,
897'pipelineBindPoint' : 319,
898'pipelineCache' : 320,
899'pipelineLayout' : 321,
900'pipelineStage' : 322,
901'polygonMode' : 323,
902'poolSizeCount' : 324,
903'powerState' : 325,
904'ppData' : 326,
905'ppEnabledExtensionNames' : 327,
906'ppEnabledLayerNames' : 328,
907'ppObjectTableEntries' : 329,
908'preTransform' : 330,
909'presentMode' : 331,
910'queryPool' : 332,
911'queryType' : 333,
912'queue' : 334,
913'queueCount' : 335,
914'queueCreateInfoCount' : 336,
915'r' : 337,
916'rangeCount' : 338,
917'rasterizationOrder' : 339,
918'rasterizationSamples' : 340,
919'rectCount' : 341,
920'regionCount' : 342,
921'renderPass' : 343,
922'sType' : 344,
923'sampler' : 345,
924'samples' : 346,
925'scissorCount' : 347,
926'semaphore' : 348,
927'sequencesCountBuffer' : 349,
928'sequencesIndexBuffer' : 350,
929'shaderModule' : 351,
930'sharingMode' : 352,
931'size' : 353,
932'srcAccessMask' : 354,
933'srcAlphaBlendFactor' : 355,
934'srcBuffer' : 356,
935'srcCacheCount' : 357,
936'srcColorBlendFactor' : 358,
937'srcImage' : 359,
938'srcImageLayout' : 360,
939'srcSet' : 361,
940'srcStageMask' : 362,
941'srcSubresource' : 363,
942'stage' : 364,
943'stageCount' : 365,
944'stageFlags' : 366,
945'stageMask' : 367,
946'stencilLoadOp' : 368,
947'stencilStoreOp' : 369,
948'storeOp' : 370,
949'subpassCount' : 371,
950'subresource' : 372,
951'subresourceRange' : 373,
952'surface' : 374,
953'surfaceCounters' : 375,
954'swapchain' : 376,
955'swapchainCount' : 377,
956'tagSize' : 378,
957'targetCommandBuffer' : 379,
958'templateType' : 380,
959'tiling' : 381,
960'tokenCount' : 382,
961'tokenType' : 383,
962'topology' : 384,
963'transform' : 385,
964'type' : 386,
965'usage' : 387,
966'viewType' : 388,
967'viewportCount' : 389,
968'w' : 390,
969'window' : 391,
970'x' : 392,
971'y' : 393,
972'z' : 394,
Mark Lobodzinskicb6f56f2017-06-26 16:04:27 -0600973'externalMemoryFeatures' : 395,
974'compatibleHandleTypes' : 396,
975'exportFromImportedHandleTypes' : 397,
Mark Lobodzinski4e39cc62017-06-27 13:21:03 -0600976'linearTilingFeatures' : 398,
977'optimalTilingFeatures' : 399,
978'bufferFeatures' : 400,
979'sampleCounts' : 401,
980'framebufferColorSampleCounts' : 402,
981'framebufferDepthSampleCounts' : 403,
982'framebufferStencilSampleCounts' : 404,
983'framebufferNoAttachmentsSampleCounts' : 405,
984'sampledImageColorSampleCounts' : 406,
985'sampledImageIntegerSampleCounts' : 407,
986'sampledImageDepthSampleCounts' : 408,
987'sampledImageStencilSampleCounts' : 409,
988'storageImageSampleCounts' : 410,
989'queueFlags' : 411,
990'propertyFlags' : 412,
991'supportedTransforms' : 413,
992'currentTransform' : 414,
993'supportedCompositeAlpha' : 415,
994'supportedUsageFlags' : 416,
995'supportedAlpha' : 417,
996'sharedPresentSupportedUsageFlags' : 418,
997'externalSemaphoreFeatures' : 419,
998'supportedSurfaceCounters' : 420,
Mark Lobodzinskie5b2b712017-06-28 14:58:27 -0600999'blendOverlap' : 421,
1000'coverageModulationMode' : 422,
1001'coverageModulationTableCount' : 423,
1002'reductionMode' : 424,
Mark Lobodzinski63aebd32017-06-28 10:54:26 -06001003'enabledLayerCount' : 425,
1004'enabledExtensionCount' : 426,
1005'waitSemaphoreCount' : 427,
1006'signalSemaphoreCount' : 428,
1007'bufferBindCount' : 429,
1008'imageOpaqueBindCount' : 430,
1009'imageBindCount' : 431,
1010'codeSize' : 432,
1011'initialDataSize' : 433,
1012'vertexBindingDescriptionCount' : 434,
1013'vertexAttributeDescriptionCount' : 435,
1014'setLayoutCount' : 436,
1015'pushConstantRangeCount' : 437,
1016'inputAttachmentCount' : 438,
1017'colorAttachmentCount' : 439,
1018'preserveAttachmentCount' : 440,
1019'dependencyCount' : 441,
1020'dynamicOffsetCount' : 442,
1021'rectangleCount' : 443,
1022'correlationMaskCount' : 444,
1023'acquireCount' : 445,
1024'releaseCount' : 446,
1025'deviceIndexCount' : 447,
1026'SFRRectCount' : 448,
1027'deviceRenderAreaCount' : 449,
1028'physicalDeviceCount' : 450,
1029'waitSemaphoreValuesCount' : 451,
1030'signalSemaphoreValuesCount' : 452,
Mark Lobodzinski42eb3c32017-06-28 11:47:22 -06001031'deviceType' : 453,
1032'colorSpace' : 454,
Mark Lobodzinskie1cce092017-06-28 13:21:27 -06001033'pfnAllocation' : 455,
1034'pfnReallocation' : 556,
1035'pfnFree' : 457,
1036'blendConstants' : 458,
1037'displayName' : 459,
1038'pfnCallback' : 460,
Mark Youngabc2d6e2017-07-07 07:59:56 -06001039'externalFenceFeatures' : 461,
1040'pInfo' : 462,
1041'pGetFdInfo' : 463,
1042'pGetWin32HandleInfo' : 464,
1043'pExternalFenceInfo' : 465,
1044'pExternalFenceProperties' : 466,
1045'pImportFenceProperties' : 467,
1046'pImportFenceFdInfo' : 468,
1047'pImportFenceWin32HandleInfo' : 469,
Mark Lobodzinski92df8b42017-07-20 10:38:46 -06001048'basePipelineHandle' : 470,
1049'pImmutableSamplers' : 471,
1050'pTexelBufferView' : 472,
Mike Schuchardta6b8bdb2017-09-05 16:10:20 -06001051'sampleLocationsPerPixel' : 473,
1052'sampleLocationsCount' : 474,
1053'pSampleLocations' : 475,
1054'attachmentInitialSampleLocationsCount' : 476,
1055'pAttachmentInitialSampleLocations' : 477,
1056'postSubpassSampleLocationsCount' : 478,
1057'pSubpassSampleLocations' : 479,
1058'sampleLocationSampleCounts' : 480,
1059'pValidationCache' : 481,
1060'validationCache' : 482,
1061'sampleLocationsInfo' : 483,
1062'pSampleLocationsInfo' : 484,
1063'pMultisampleProperties' : 485,
Lenny Komowb79f04a2017-09-18 17:07:00 -06001064'pointClippingBehavior' : 486,
1065'aspectReferenceCount' : 487,
1066'pAspectReferences' : 488,
1067'domainOrigin' : 489,
1068'ycbcrModel' : 490,
1069'ycbcrRange' : 491,
1070'xChromaOffset' : 492,
1071'yChromaOffset' : 493,
1072'chromaFilter' : 494,
1073'planeAspect' : 495,
1074'pYcbcrConversion' : 496,
1075'ycbcrConversion' : 497,
1076'pViewFormats' : 498,
1077'conversion' : 499,
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001078### ADD New implicit param mappings above this line
1079}
1080
1081uniqueid_set = set() # store uniqueid to make sure we don't have duplicates
1082
1083# Convert a string VUID into numerical value
1084# See "VUID Mapping Details" comment above for more info
1085def convertVUID(vuid_string):
1086 """Convert a string-based VUID into a numberical value"""
1087 #func_struct_update = False
1088 #imp_param_update = False
1089 if vuid_string in ['', None]:
1090 return -1
1091 vuid_parts = vuid_string.split('-')
1092 if vuid_parts[1] not in func_struct_id_map:
1093 print ("ERROR: Missing func/struct map value for '%s'!" % (vuid_parts[1]))
1094 print (" TODO: Need to add mapping for this to end of func_struct_id_map")
1095 print (" replace '### ADD New func/struct mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[1], len(func_struct_id_map)))
1096 func_struct_id_map[vuid_parts[1]] = len(func_struct_id_map)
1097 #func_struct_update = True
1098 sys.exit()
1099 uniqueid = func_struct_id_map[vuid_parts[1]] << FUNC_STRUCT_SHIFT
1100 if vuid_parts[-1].isdigit(): # explit VUID has int on the end
1101 explicit_id = int(vuid_parts[-1])
1102 # For explicit case, id is explicit_base + func/struct mapping + unique id
1103 uniqueid = uniqueid + (explicit_id << EXPLICIT_ID_SHIFT) + explicit_bit0
1104 else: # implicit case
1105 if vuid_parts[-1] not in implicit_type_map:
1106 print("ERROR: Missing mapping for implicit type '%s'!\nTODO: Please add new mapping." % (vuid_parts[-1]))
1107 sys.exit()
1108 else:
1109 param_id = 0 # Default when no param is available
1110 if vuid_parts[-2] != vuid_parts[1]: # we have a parameter
1111 if vuid_parts[-2] in implicit_param_map:
1112 param_id = implicit_param_map[vuid_parts[-2]]
1113 else:
1114 print ("ERROR: Missing param '%s' from implicit_param_map\n TODO: Please add new mapping." % (vuid_parts[-2]))
1115 print (" replace '### ADD New implicit param mappings above this line' line with \"'%s' : %d,\"" % (vuid_parts[-2], len(implicit_param_map)))
1116 implicit_param_map[vuid_parts[-2]] = len(implicit_param_map)
1117 #imp_param_update = True
1118 sys.exit()
1119 uniqueid = uniqueid + (param_id << IMPLICIT_PARAM_SHIFT) + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0
1120 else: # No parameter so that field is 0
1121 uniqueid = uniqueid + (implicit_type_map[vuid_parts[-1]] << IMPLICIT_TYPE_SHIFT) + implicit_bit0
Tobin Ehlis3c37fb32017-05-24 09:31:13 -06001122# if uniqueid in uniqueid_set:
1123# print ("ERROR: Uniqueid %d for string id %s is a duplicate!" % (uniqueid, vuid_string))
1124# print (" TODO: Figure out what caused the dupe and fix it")
1125 #sys.exit()
Mark Lobodzinskifb842d52017-06-21 12:21:34 -06001126 # print ("Storing uniqueid %d for unique string %s" % (uniqueid, vuid_string))
Tobin Ehlis98d109a2017-05-11 14:42:38 -06001127 uniqueid_set.add(uniqueid)
1128# if func_struct_update:
1129# print ("func_struct_id_map updated, here's new structure")
1130# print ("func_struct_id_map = {")
1131# fs_id = 0
1132# for fs in sorted(func_struct_id_map):
1133# print ("'%s' : %d," % (fs, fs_id))
1134# fs_id = fs_id + 1
1135# print ("### ADD New func/struct mappings above this line")
1136# print ("}")
1137# if imp_param_update:
1138# print ("implicit_param_map updated, here's new structure")
1139# print ("implicit_param_map = {")
1140# ip_id = 0
1141# for ip in sorted(implicit_param_map):
1142# print ("'%s' : %d," % (ip, ip_id))
1143# ip_id = ip_id + 1
1144# print ("### ADD New implicit param mappings above this line")
1145# print ("}")
1146
1147 return uniqueid