66df80ea2228f403c94d9a8fc72ec32698f8dc07
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / generated / vulkan / vkGetStructureTypeImpl.inl
1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2  * be lost! Modify the generating script instead.
3  * This file was generated by /scripts/gen_framework.py
4  */
5
6 template<> VkStructureType getStructureType<VkApplicationInfo> (void)
7 {
8         return VK_STRUCTURE_TYPE_APPLICATION_INFO;
9 }
10
11 template<> VkStructureType getStructureType<VkDeviceQueueCreateInfo> (void)
12 {
13         return VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
14 }
15
16 template<> VkStructureType getStructureType<VkDeviceCreateInfo> (void)
17 {
18         return VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
19 }
20
21 template<> VkStructureType getStructureType<VkInstanceCreateInfo> (void)
22 {
23         return VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
24 }
25
26 template<> VkStructureType getStructureType<VkMemoryAllocateInfo> (void)
27 {
28         return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
29 }
30
31 template<> VkStructureType getStructureType<VkMappedMemoryRange> (void)
32 {
33         return VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE;
34 }
35
36 template<> VkStructureType getStructureType<VkWriteDescriptorSet> (void)
37 {
38         return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET;
39 }
40
41 template<> VkStructureType getStructureType<VkCopyDescriptorSet> (void)
42 {
43         return VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET;
44 }
45
46 template<> VkStructureType getStructureType<VkBufferCreateInfo> (void)
47 {
48         return VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
49 }
50
51 template<> VkStructureType getStructureType<VkBufferViewCreateInfo> (void)
52 {
53         return VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
54 }
55
56 template<> VkStructureType getStructureType<VkMemoryBarrier> (void)
57 {
58         return VK_STRUCTURE_TYPE_MEMORY_BARRIER;
59 }
60
61 template<> VkStructureType getStructureType<VkBufferMemoryBarrier> (void)
62 {
63         return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER;
64 }
65
66 template<> VkStructureType getStructureType<VkImageMemoryBarrier> (void)
67 {
68         return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
69 }
70
71 template<> VkStructureType getStructureType<VkImageCreateInfo> (void)
72 {
73         return VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
74 }
75
76 template<> VkStructureType getStructureType<VkImageViewCreateInfo> (void)
77 {
78         return VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
79 }
80
81 template<> VkStructureType getStructureType<VkBindSparseInfo> (void)
82 {
83         return VK_STRUCTURE_TYPE_BIND_SPARSE_INFO;
84 }
85
86 template<> VkStructureType getStructureType<VkShaderModuleCreateInfo> (void)
87 {
88         return VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
89 }
90
91 template<> VkStructureType getStructureType<VkDescriptorSetLayoutCreateInfo> (void)
92 {
93         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO;
94 }
95
96 template<> VkStructureType getStructureType<VkDescriptorPoolCreateInfo> (void)
97 {
98         return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO;
99 }
100
101 template<> VkStructureType getStructureType<VkDescriptorSetAllocateInfo> (void)
102 {
103         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO;
104 }
105
106 template<> VkStructureType getStructureType<VkPipelineShaderStageCreateInfo> (void)
107 {
108         return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO;
109 }
110
111 template<> VkStructureType getStructureType<VkComputePipelineCreateInfo> (void)
112 {
113         return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO;
114 }
115
116 template<> VkStructureType getStructureType<VkPipelineVertexInputStateCreateInfo> (void)
117 {
118         return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO;
119 }
120
121 template<> VkStructureType getStructureType<VkPipelineInputAssemblyStateCreateInfo> (void)
122 {
123         return VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
124 }
125
126 template<> VkStructureType getStructureType<VkPipelineTessellationStateCreateInfo> (void)
127 {
128         return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO;
129 }
130
131 template<> VkStructureType getStructureType<VkPipelineViewportStateCreateInfo> (void)
132 {
133         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO;
134 }
135
136 template<> VkStructureType getStructureType<VkPipelineRasterizationStateCreateInfo> (void)
137 {
138         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
139 }
140
141 template<> VkStructureType getStructureType<VkPipelineMultisampleStateCreateInfo> (void)
142 {
143         return VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO;
144 }
145
146 template<> VkStructureType getStructureType<VkPipelineColorBlendStateCreateInfo> (void)
147 {
148         return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
149 }
150
151 template<> VkStructureType getStructureType<VkPipelineDynamicStateCreateInfo> (void)
152 {
153         return VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO;
154 }
155
156 template<> VkStructureType getStructureType<VkPipelineDepthStencilStateCreateInfo> (void)
157 {
158         return VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO;
159 }
160
161 template<> VkStructureType getStructureType<VkGraphicsPipelineCreateInfo> (void)
162 {
163         return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
164 }
165
166 template<> VkStructureType getStructureType<VkPipelineCacheCreateInfo> (void)
167 {
168         return VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO;
169 }
170
171 template<> VkStructureType getStructureType<VkPipelineLayoutCreateInfo> (void)
172 {
173         return VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
174 }
175
176 template<> VkStructureType getStructureType<VkSamplerCreateInfo> (void)
177 {
178         return VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO;
179 }
180
181 template<> VkStructureType getStructureType<VkCommandPoolCreateInfo> (void)
182 {
183         return VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
184 }
185
186 template<> VkStructureType getStructureType<VkCommandBufferAllocateInfo> (void)
187 {
188         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
189 }
190
191 template<> VkStructureType getStructureType<VkCommandBufferInheritanceInfo> (void)
192 {
193         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
194 }
195
196 template<> VkStructureType getStructureType<VkCommandBufferBeginInfo> (void)
197 {
198         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
199 }
200
201 template<> VkStructureType getStructureType<VkRenderPassBeginInfo> (void)
202 {
203         return VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO;
204 }
205
206 template<> VkStructureType getStructureType<VkRenderPassCreateInfo> (void)
207 {
208         return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
209 }
210
211 template<> VkStructureType getStructureType<VkEventCreateInfo> (void)
212 {
213         return VK_STRUCTURE_TYPE_EVENT_CREATE_INFO;
214 }
215
216 template<> VkStructureType getStructureType<VkFenceCreateInfo> (void)
217 {
218         return VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
219 }
220
221 template<> VkStructureType getStructureType<VkSemaphoreCreateInfo> (void)
222 {
223         return VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
224 }
225
226 template<> VkStructureType getStructureType<VkQueryPoolCreateInfo> (void)
227 {
228         return VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO;
229 }
230
231 template<> VkStructureType getStructureType<VkFramebufferCreateInfo> (void)
232 {
233         return VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO;
234 }
235
236 template<> VkStructureType getStructureType<VkSubmitInfo> (void)
237 {
238         return VK_STRUCTURE_TYPE_SUBMIT_INFO;
239 }
240
241 template<> VkStructureType getStructureType<VkDisplayModeCreateInfoKHR> (void)
242 {
243         return VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR;
244 }
245
246 template<> VkStructureType getStructureType<VkDisplaySurfaceCreateInfoKHR> (void)
247 {
248         return VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR;
249 }
250
251 template<> VkStructureType getStructureType<VkDisplayPresentInfoKHR> (void)
252 {
253         return VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR;
254 }
255
256 template<> VkStructureType getStructureType<VkAndroidSurfaceCreateInfoKHR> (void)
257 {
258         return VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
259 }
260
261 template<> VkStructureType getStructureType<VkViSurfaceCreateInfoNN> (void)
262 {
263         return VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN;
264 }
265
266 template<> VkStructureType getStructureType<VkWaylandSurfaceCreateInfoKHR> (void)
267 {
268         return VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR;
269 }
270
271 template<> VkStructureType getStructureType<VkWin32SurfaceCreateInfoKHR> (void)
272 {
273         return VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR;
274 }
275
276 template<> VkStructureType getStructureType<VkXlibSurfaceCreateInfoKHR> (void)
277 {
278         return VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
279 }
280
281 template<> VkStructureType getStructureType<VkXcbSurfaceCreateInfoKHR> (void)
282 {
283         return VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
284 }
285
286 template<> VkStructureType getStructureType<VkImagePipeSurfaceCreateInfoFUCHSIA> (void)
287 {
288         return VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA;
289 }
290
291 template<> VkStructureType getStructureType<VkStreamDescriptorSurfaceCreateInfoGGP> (void)
292 {
293         return VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP;
294 }
295
296 template<> VkStructureType getStructureType<VkScreenSurfaceCreateInfoQNX> (void)
297 {
298         return VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX;
299 }
300
301 template<> VkStructureType getStructureType<VkSwapchainCreateInfoKHR> (void)
302 {
303         return VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
304 }
305
306 template<> VkStructureType getStructureType<VkPresentInfoKHR> (void)
307 {
308         return VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
309 }
310
311 template<> VkStructureType getStructureType<VkDebugReportCallbackCreateInfoEXT> (void)
312 {
313         return VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT;
314 }
315
316 template<> VkStructureType getStructureType<VkValidationFlagsEXT> (void)
317 {
318         return VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT;
319 }
320
321 template<> VkStructureType getStructureType<VkValidationFeaturesEXT> (void)
322 {
323         return VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT;
324 }
325
326 template<> VkStructureType getStructureType<VkPipelineRasterizationStateRasterizationOrderAMD> (void)
327 {
328         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD;
329 }
330
331 template<> VkStructureType getStructureType<VkDebugMarkerObjectNameInfoEXT> (void)
332 {
333         return VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT;
334 }
335
336 template<> VkStructureType getStructureType<VkDebugMarkerObjectTagInfoEXT> (void)
337 {
338         return VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT;
339 }
340
341 template<> VkStructureType getStructureType<VkDebugMarkerMarkerInfoEXT> (void)
342 {
343         return VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT;
344 }
345
346 template<> VkStructureType getStructureType<VkDedicatedAllocationImageCreateInfoNV> (void)
347 {
348         return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV;
349 }
350
351 template<> VkStructureType getStructureType<VkDedicatedAllocationBufferCreateInfoNV> (void)
352 {
353         return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV;
354 }
355
356 template<> VkStructureType getStructureType<VkDedicatedAllocationMemoryAllocateInfoNV> (void)
357 {
358         return VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV;
359 }
360
361 template<> VkStructureType getStructureType<VkExternalMemoryImageCreateInfoNV> (void)
362 {
363         return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV;
364 }
365
366 template<> VkStructureType getStructureType<VkExportMemoryAllocateInfoNV> (void)
367 {
368         return VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV;
369 }
370
371 template<> VkStructureType getStructureType<VkImportMemoryWin32HandleInfoNV> (void)
372 {
373         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV;
374 }
375
376 template<> VkStructureType getStructureType<VkExportMemoryWin32HandleInfoNV> (void)
377 {
378         return VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV;
379 }
380
381 template<> VkStructureType getStructureType<VkWin32KeyedMutexAcquireReleaseInfoNV> (void)
382 {
383         return VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV;
384 }
385
386 template<> VkStructureType getStructureType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV> (void)
387 {
388         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV;
389 }
390
391 template<> VkStructureType getStructureType<VkDevicePrivateDataCreateInfo> (void)
392 {
393         return VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO;
394 }
395
396 template<> VkStructureType getStructureType<VkPrivateDataSlotCreateInfo> (void)
397 {
398         return VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO;
399 }
400
401 template<> VkStructureType getStructureType<VkPhysicalDevicePrivateDataFeatures> (void)
402 {
403         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES;
404 }
405
406 template<> VkStructureType getStructureType<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV> (void)
407 {
408         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV;
409 }
410
411 template<> VkStructureType getStructureType<VkPhysicalDeviceMultiDrawPropertiesEXT> (void)
412 {
413         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT;
414 }
415
416 template<> VkStructureType getStructureType<VkGraphicsShaderGroupCreateInfoNV> (void)
417 {
418         return VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV;
419 }
420
421 template<> VkStructureType getStructureType<VkGraphicsPipelineShaderGroupsCreateInfoNV> (void)
422 {
423         return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV;
424 }
425
426 template<> VkStructureType getStructureType<VkIndirectCommandsLayoutTokenNV> (void)
427 {
428         return VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV;
429 }
430
431 template<> VkStructureType getStructureType<VkIndirectCommandsLayoutCreateInfoNV> (void)
432 {
433         return VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV;
434 }
435
436 template<> VkStructureType getStructureType<VkGeneratedCommandsInfoNV> (void)
437 {
438         return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV;
439 }
440
441 template<> VkStructureType getStructureType<VkGeneratedCommandsMemoryRequirementsInfoNV> (void)
442 {
443         return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV;
444 }
445
446 template<> VkStructureType getStructureType<VkPhysicalDeviceFeatures2> (void)
447 {
448         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
449 }
450
451 template<> VkStructureType getStructureType<VkPhysicalDeviceProperties2> (void)
452 {
453         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2;
454 }
455
456 template<> VkStructureType getStructureType<VkFormatProperties2> (void)
457 {
458         return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2;
459 }
460
461 template<> VkStructureType getStructureType<VkImageFormatProperties2> (void)
462 {
463         return VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2;
464 }
465
466 template<> VkStructureType getStructureType<VkPhysicalDeviceImageFormatInfo2> (void)
467 {
468         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2;
469 }
470
471 template<> VkStructureType getStructureType<VkQueueFamilyProperties2> (void)
472 {
473         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2;
474 }
475
476 template<> VkStructureType getStructureType<VkPhysicalDeviceMemoryProperties2> (void)
477 {
478         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2;
479 }
480
481 template<> VkStructureType getStructureType<VkSparseImageFormatProperties2> (void)
482 {
483         return VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2;
484 }
485
486 template<> VkStructureType getStructureType<VkPhysicalDeviceSparseImageFormatInfo2> (void)
487 {
488         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2;
489 }
490
491 template<> VkStructureType getStructureType<VkPhysicalDevicePushDescriptorPropertiesKHR> (void)
492 {
493         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR;
494 }
495
496 template<> VkStructureType getStructureType<VkPhysicalDeviceDriverProperties> (void)
497 {
498         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES;
499 }
500
501 template<> VkStructureType getStructureType<VkPresentRegionsKHR> (void)
502 {
503         return VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR;
504 }
505
506 template<> VkStructureType getStructureType<VkPhysicalDeviceVariablePointersFeatures> (void)
507 {
508         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES;
509 }
510
511 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalImageFormatInfo> (void)
512 {
513         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO;
514 }
515
516 template<> VkStructureType getStructureType<VkExternalImageFormatProperties> (void)
517 {
518         return VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES;
519 }
520
521 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalBufferInfo> (void)
522 {
523         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO;
524 }
525
526 template<> VkStructureType getStructureType<VkExternalBufferProperties> (void)
527 {
528         return VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES;
529 }
530
531 template<> VkStructureType getStructureType<VkPhysicalDeviceIDProperties> (void)
532 {
533         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES;
534 }
535
536 template<> VkStructureType getStructureType<VkExternalMemoryImageCreateInfo> (void)
537 {
538         return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
539 }
540
541 template<> VkStructureType getStructureType<VkExternalMemoryBufferCreateInfo> (void)
542 {
543         return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO;
544 }
545
546 template<> VkStructureType getStructureType<VkExportMemoryAllocateInfo> (void)
547 {
548         return VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO;
549 }
550
551 template<> VkStructureType getStructureType<VkImportMemoryWin32HandleInfoKHR> (void)
552 {
553         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
554 }
555
556 template<> VkStructureType getStructureType<VkExportMemoryWin32HandleInfoKHR> (void)
557 {
558         return VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR;
559 }
560
561 template<> VkStructureType getStructureType<VkImportMemoryZirconHandleInfoFUCHSIA> (void)
562 {
563         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA;
564 }
565
566 template<> VkStructureType getStructureType<VkMemoryZirconHandlePropertiesFUCHSIA> (void)
567 {
568         return VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA;
569 }
570
571 template<> VkStructureType getStructureType<VkMemoryGetZirconHandleInfoFUCHSIA> (void)
572 {
573         return VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
574 }
575
576 template<> VkStructureType getStructureType<VkMemoryWin32HandlePropertiesKHR> (void)
577 {
578         return VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR;
579 }
580
581 template<> VkStructureType getStructureType<VkMemoryGetWin32HandleInfoKHR> (void)
582 {
583         return VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR;
584 }
585
586 template<> VkStructureType getStructureType<VkImportMemoryFdInfoKHR> (void)
587 {
588         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR;
589 }
590
591 template<> VkStructureType getStructureType<VkMemoryFdPropertiesKHR> (void)
592 {
593         return VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR;
594 }
595
596 template<> VkStructureType getStructureType<VkMemoryGetFdInfoKHR> (void)
597 {
598         return VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR;
599 }
600
601 template<> VkStructureType getStructureType<VkWin32KeyedMutexAcquireReleaseInfoKHR> (void)
602 {
603         return VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR;
604 }
605
606 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalSemaphoreInfo> (void)
607 {
608         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO;
609 }
610
611 template<> VkStructureType getStructureType<VkExternalSemaphoreProperties> (void)
612 {
613         return VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES;
614 }
615
616 template<> VkStructureType getStructureType<VkExportSemaphoreCreateInfo> (void)
617 {
618         return VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
619 }
620
621 template<> VkStructureType getStructureType<VkImportSemaphoreWin32HandleInfoKHR> (void)
622 {
623         return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
624 }
625
626 template<> VkStructureType getStructureType<VkExportSemaphoreWin32HandleInfoKHR> (void)
627 {
628         return VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR;
629 }
630
631 template<> VkStructureType getStructureType<VkD3D12FenceSubmitInfoKHR> (void)
632 {
633         return VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR;
634 }
635
636 template<> VkStructureType getStructureType<VkSemaphoreGetWin32HandleInfoKHR> (void)
637 {
638         return VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR;
639 }
640
641 template<> VkStructureType getStructureType<VkImportSemaphoreFdInfoKHR> (void)
642 {
643         return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
644 }
645
646 template<> VkStructureType getStructureType<VkSemaphoreGetFdInfoKHR> (void)
647 {
648         return VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
649 }
650
651 template<> VkStructureType getStructureType<VkImportSemaphoreZirconHandleInfoFUCHSIA> (void)
652 {
653         return VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA;
654 }
655
656 template<> VkStructureType getStructureType<VkSemaphoreGetZirconHandleInfoFUCHSIA> (void)
657 {
658         return VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
659 }
660
661 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalFenceInfo> (void)
662 {
663         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO;
664 }
665
666 template<> VkStructureType getStructureType<VkExternalFenceProperties> (void)
667 {
668         return VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES;
669 }
670
671 template<> VkStructureType getStructureType<VkExportFenceCreateInfo> (void)
672 {
673         return VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO;
674 }
675
676 template<> VkStructureType getStructureType<VkImportFenceWin32HandleInfoKHR> (void)
677 {
678         return VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR;
679 }
680
681 template<> VkStructureType getStructureType<VkExportFenceWin32HandleInfoKHR> (void)
682 {
683         return VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR;
684 }
685
686 template<> VkStructureType getStructureType<VkFenceGetWin32HandleInfoKHR> (void)
687 {
688         return VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR;
689 }
690
691 template<> VkStructureType getStructureType<VkImportFenceFdInfoKHR> (void)
692 {
693         return VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR;
694 }
695
696 template<> VkStructureType getStructureType<VkFenceGetFdInfoKHR> (void)
697 {
698         return VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR;
699 }
700
701 template<> VkStructureType getStructureType<VkPhysicalDeviceMultiviewFeatures> (void)
702 {
703         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES;
704 }
705
706 template<> VkStructureType getStructureType<VkPhysicalDeviceMultiviewProperties> (void)
707 {
708         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES;
709 }
710
711 template<> VkStructureType getStructureType<VkRenderPassMultiviewCreateInfo> (void)
712 {
713         return VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO;
714 }
715
716 template<> VkStructureType getStructureType<VkSurfaceCapabilities2EXT> (void)
717 {
718         return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT;
719 }
720
721 template<> VkStructureType getStructureType<VkDisplayPowerInfoEXT> (void)
722 {
723         return VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT;
724 }
725
726 template<> VkStructureType getStructureType<VkDeviceEventInfoEXT> (void)
727 {
728         return VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT;
729 }
730
731 template<> VkStructureType getStructureType<VkDisplayEventInfoEXT> (void)
732 {
733         return VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT;
734 }
735
736 template<> VkStructureType getStructureType<VkSwapchainCounterCreateInfoEXT> (void)
737 {
738         return VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT;
739 }
740
741 template<> VkStructureType getStructureType<VkPhysicalDeviceGroupProperties> (void)
742 {
743         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES;
744 }
745
746 template<> VkStructureType getStructureType<VkMemoryAllocateFlagsInfo> (void)
747 {
748         return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO;
749 }
750
751 template<> VkStructureType getStructureType<VkBindBufferMemoryInfo> (void)
752 {
753         return VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO;
754 }
755
756 template<> VkStructureType getStructureType<VkBindBufferMemoryDeviceGroupInfo> (void)
757 {
758         return VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO;
759 }
760
761 template<> VkStructureType getStructureType<VkBindImageMemoryInfo> (void)
762 {
763         return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO;
764 }
765
766 template<> VkStructureType getStructureType<VkBindImageMemoryDeviceGroupInfo> (void)
767 {
768         return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO;
769 }
770
771 template<> VkStructureType getStructureType<VkDeviceGroupRenderPassBeginInfo> (void)
772 {
773         return VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO;
774 }
775
776 template<> VkStructureType getStructureType<VkDeviceGroupCommandBufferBeginInfo> (void)
777 {
778         return VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO;
779 }
780
781 template<> VkStructureType getStructureType<VkDeviceGroupSubmitInfo> (void)
782 {
783         return VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO;
784 }
785
786 template<> VkStructureType getStructureType<VkDeviceGroupBindSparseInfo> (void)
787 {
788         return VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO;
789 }
790
791 template<> VkStructureType getStructureType<VkDeviceGroupPresentCapabilitiesKHR> (void)
792 {
793         return VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR;
794 }
795
796 template<> VkStructureType getStructureType<VkImageSwapchainCreateInfoKHR> (void)
797 {
798         return VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR;
799 }
800
801 template<> VkStructureType getStructureType<VkBindImageMemorySwapchainInfoKHR> (void)
802 {
803         return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR;
804 }
805
806 template<> VkStructureType getStructureType<VkAcquireNextImageInfoKHR> (void)
807 {
808         return VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR;
809 }
810
811 template<> VkStructureType getStructureType<VkDeviceGroupPresentInfoKHR> (void)
812 {
813         return VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR;
814 }
815
816 template<> VkStructureType getStructureType<VkDeviceGroupDeviceCreateInfo> (void)
817 {
818         return VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO;
819 }
820
821 template<> VkStructureType getStructureType<VkDeviceGroupSwapchainCreateInfoKHR> (void)
822 {
823         return VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR;
824 }
825
826 template<> VkStructureType getStructureType<VkDescriptorUpdateTemplateCreateInfo> (void)
827 {
828         return VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO;
829 }
830
831 template<> VkStructureType getStructureType<VkPhysicalDevicePresentIdFeaturesKHR> (void)
832 {
833         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR;
834 }
835
836 template<> VkStructureType getStructureType<VkPresentIdKHR> (void)
837 {
838         return VK_STRUCTURE_TYPE_PRESENT_ID_KHR;
839 }
840
841 template<> VkStructureType getStructureType<VkPhysicalDevicePresentWaitFeaturesKHR> (void)
842 {
843         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR;
844 }
845
846 template<> VkStructureType getStructureType<VkHdrMetadataEXT> (void)
847 {
848         return VK_STRUCTURE_TYPE_HDR_METADATA_EXT;
849 }
850
851 template<> VkStructureType getStructureType<VkDisplayNativeHdrSurfaceCapabilitiesAMD> (void)
852 {
853         return VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD;
854 }
855
856 template<> VkStructureType getStructureType<VkSwapchainDisplayNativeHdrCreateInfoAMD> (void)
857 {
858         return VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD;
859 }
860
861 template<> VkStructureType getStructureType<VkPresentTimesInfoGOOGLE> (void)
862 {
863         return VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE;
864 }
865
866 template<> VkStructureType getStructureType<VkIOSSurfaceCreateInfoMVK> (void)
867 {
868         return VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
869 }
870
871 template<> VkStructureType getStructureType<VkMacOSSurfaceCreateInfoMVK> (void)
872 {
873         return VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK;
874 }
875
876 template<> VkStructureType getStructureType<VkMetalSurfaceCreateInfoEXT> (void)
877 {
878         return VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
879 }
880
881 template<> VkStructureType getStructureType<VkPipelineViewportWScalingStateCreateInfoNV> (void)
882 {
883         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV;
884 }
885
886 template<> VkStructureType getStructureType<VkPipelineViewportSwizzleStateCreateInfoNV> (void)
887 {
888         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV;
889 }
890
891 template<> VkStructureType getStructureType<VkPhysicalDeviceDiscardRectanglePropertiesEXT> (void)
892 {
893         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT;
894 }
895
896 template<> VkStructureType getStructureType<VkPipelineDiscardRectangleStateCreateInfoEXT> (void)
897 {
898         return VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT;
899 }
900
901 template<> VkStructureType getStructureType<VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX> (void)
902 {
903         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX;
904 }
905
906 template<> VkStructureType getStructureType<VkRenderPassInputAttachmentAspectCreateInfo> (void)
907 {
908         return VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO;
909 }
910
911 template<> VkStructureType getStructureType<VkPhysicalDeviceSurfaceInfo2KHR> (void)
912 {
913         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR;
914 }
915
916 template<> VkStructureType getStructureType<VkSurfaceCapabilities2KHR> (void)
917 {
918         return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR;
919 }
920
921 template<> VkStructureType getStructureType<VkSurfaceFormat2KHR> (void)
922 {
923         return VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR;
924 }
925
926 template<> VkStructureType getStructureType<VkDisplayProperties2KHR> (void)
927 {
928         return VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR;
929 }
930
931 template<> VkStructureType getStructureType<VkDisplayPlaneProperties2KHR> (void)
932 {
933         return VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR;
934 }
935
936 template<> VkStructureType getStructureType<VkDisplayModeProperties2KHR> (void)
937 {
938         return VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR;
939 }
940
941 template<> VkStructureType getStructureType<VkDisplayPlaneInfo2KHR> (void)
942 {
943         return VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR;
944 }
945
946 template<> VkStructureType getStructureType<VkDisplayPlaneCapabilities2KHR> (void)
947 {
948         return VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR;
949 }
950
951 template<> VkStructureType getStructureType<VkSharedPresentSurfaceCapabilitiesKHR> (void)
952 {
953         return VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR;
954 }
955
956 template<> VkStructureType getStructureType<VkPhysicalDevice16BitStorageFeatures> (void)
957 {
958         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
959 }
960
961 template<> VkStructureType getStructureType<VkPhysicalDeviceSubgroupProperties> (void)
962 {
963         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES;
964 }
965
966 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures> (void)
967 {
968         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES;
969 }
970
971 template<> VkStructureType getStructureType<VkBufferMemoryRequirementsInfo2> (void)
972 {
973         return VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2;
974 }
975
976 template<> VkStructureType getStructureType<VkDeviceBufferMemoryRequirements> (void)
977 {
978         return VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS;
979 }
980
981 template<> VkStructureType getStructureType<VkImageMemoryRequirementsInfo2> (void)
982 {
983         return VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2;
984 }
985
986 template<> VkStructureType getStructureType<VkImageSparseMemoryRequirementsInfo2> (void)
987 {
988         return VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2;
989 }
990
991 template<> VkStructureType getStructureType<VkDeviceImageMemoryRequirements> (void)
992 {
993         return VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS;
994 }
995
996 template<> VkStructureType getStructureType<VkMemoryRequirements2> (void)
997 {
998         return VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2;
999 }
1000
1001 template<> VkStructureType getStructureType<VkSparseImageMemoryRequirements2> (void)
1002 {
1003         return VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2;
1004 }
1005
1006 template<> VkStructureType getStructureType<VkPhysicalDevicePointClippingProperties> (void)
1007 {
1008         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES;
1009 }
1010
1011 template<> VkStructureType getStructureType<VkMemoryDedicatedRequirements> (void)
1012 {
1013         return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS;
1014 }
1015
1016 template<> VkStructureType getStructureType<VkMemoryDedicatedAllocateInfo> (void)
1017 {
1018         return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO;
1019 }
1020
1021 template<> VkStructureType getStructureType<VkImageViewUsageCreateInfo> (void)
1022 {
1023         return VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO;
1024 }
1025
1026 template<> VkStructureType getStructureType<VkPipelineTessellationDomainOriginStateCreateInfo> (void)
1027 {
1028         return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO;
1029 }
1030
1031 template<> VkStructureType getStructureType<VkSamplerYcbcrConversionInfo> (void)
1032 {
1033         return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO;
1034 }
1035
1036 template<> VkStructureType getStructureType<VkSamplerYcbcrConversionCreateInfo> (void)
1037 {
1038         return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO;
1039 }
1040
1041 template<> VkStructureType getStructureType<VkBindImagePlaneMemoryInfo> (void)
1042 {
1043         return VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO;
1044 }
1045
1046 template<> VkStructureType getStructureType<VkImagePlaneMemoryRequirementsInfo> (void)
1047 {
1048         return VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO;
1049 }
1050
1051 template<> VkStructureType getStructureType<VkPhysicalDeviceSamplerYcbcrConversionFeatures> (void)
1052 {
1053         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
1054 }
1055
1056 template<> VkStructureType getStructureType<VkSamplerYcbcrConversionImageFormatProperties> (void)
1057 {
1058         return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES;
1059 }
1060
1061 template<> VkStructureType getStructureType<VkTextureLODGatherFormatPropertiesAMD> (void)
1062 {
1063         return VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD;
1064 }
1065
1066 template<> VkStructureType getStructureType<VkConditionalRenderingBeginInfoEXT> (void)
1067 {
1068         return VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT;
1069 }
1070
1071 template<> VkStructureType getStructureType<VkProtectedSubmitInfo> (void)
1072 {
1073         return VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO;
1074 }
1075
1076 template<> VkStructureType getStructureType<VkPhysicalDeviceProtectedMemoryFeatures> (void)
1077 {
1078         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES;
1079 }
1080
1081 template<> VkStructureType getStructureType<VkPhysicalDeviceProtectedMemoryProperties> (void)
1082 {
1083         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES;
1084 }
1085
1086 template<> VkStructureType getStructureType<VkDeviceQueueInfo2> (void)
1087 {
1088         return VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2;
1089 }
1090
1091 template<> VkStructureType getStructureType<VkPipelineCoverageToColorStateCreateInfoNV> (void)
1092 {
1093         return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV;
1094 }
1095
1096 template<> VkStructureType getStructureType<VkPhysicalDeviceSamplerFilterMinmaxProperties> (void)
1097 {
1098         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES;
1099 }
1100
1101 template<> VkStructureType getStructureType<VkSampleLocationsInfoEXT> (void)
1102 {
1103         return VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT;
1104 }
1105
1106 template<> VkStructureType getStructureType<VkRenderPassSampleLocationsBeginInfoEXT> (void)
1107 {
1108         return VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT;
1109 }
1110
1111 template<> VkStructureType getStructureType<VkPipelineSampleLocationsStateCreateInfoEXT> (void)
1112 {
1113         return VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT;
1114 }
1115
1116 template<> VkStructureType getStructureType<VkPhysicalDeviceSampleLocationsPropertiesEXT> (void)
1117 {
1118         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT;
1119 }
1120
1121 template<> VkStructureType getStructureType<VkMultisamplePropertiesEXT> (void)
1122 {
1123         return VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT;
1124 }
1125
1126 template<> VkStructureType getStructureType<VkSamplerReductionModeCreateInfo> (void)
1127 {
1128         return VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO;
1129 }
1130
1131 template<> VkStructureType getStructureType<VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT> (void)
1132 {
1133         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT;
1134 }
1135
1136 template<> VkStructureType getStructureType<VkPhysicalDeviceMultiDrawFeaturesEXT> (void)
1137 {
1138         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT;
1139 }
1140
1141 template<> VkStructureType getStructureType<VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT> (void)
1142 {
1143         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT;
1144 }
1145
1146 template<> VkStructureType getStructureType<VkPipelineColorBlendAdvancedStateCreateInfoEXT> (void)
1147 {
1148         return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT;
1149 }
1150
1151 template<> VkStructureType getStructureType<VkPhysicalDeviceInlineUniformBlockFeatures> (void)
1152 {
1153         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES;
1154 }
1155
1156 template<> VkStructureType getStructureType<VkPhysicalDeviceInlineUniformBlockProperties> (void)
1157 {
1158         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES;
1159 }
1160
1161 template<> VkStructureType getStructureType<VkWriteDescriptorSetInlineUniformBlock> (void)
1162 {
1163         return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK;
1164 }
1165
1166 template<> VkStructureType getStructureType<VkDescriptorPoolInlineUniformBlockCreateInfo> (void)
1167 {
1168         return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO;
1169 }
1170
1171 template<> VkStructureType getStructureType<VkPipelineCoverageModulationStateCreateInfoNV> (void)
1172 {
1173         return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV;
1174 }
1175
1176 template<> VkStructureType getStructureType<VkImageFormatListCreateInfo> (void)
1177 {
1178         return VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO;
1179 }
1180
1181 template<> VkStructureType getStructureType<VkValidationCacheCreateInfoEXT> (void)
1182 {
1183         return VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT;
1184 }
1185
1186 template<> VkStructureType getStructureType<VkShaderModuleValidationCacheCreateInfoEXT> (void)
1187 {
1188         return VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT;
1189 }
1190
1191 template<> VkStructureType getStructureType<VkPhysicalDeviceMaintenance3Properties> (void)
1192 {
1193         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES;
1194 }
1195
1196 template<> VkStructureType getStructureType<VkPhysicalDeviceMaintenance4Features> (void)
1197 {
1198         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES;
1199 }
1200
1201 template<> VkStructureType getStructureType<VkPhysicalDeviceMaintenance4Properties> (void)
1202 {
1203         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES;
1204 }
1205
1206 template<> VkStructureType getStructureType<VkDescriptorSetLayoutSupport> (void)
1207 {
1208         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT;
1209 }
1210
1211 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderDrawParametersFeatures> (void)
1212 {
1213         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
1214 }
1215
1216 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderFloat16Int8Features> (void)
1217 {
1218         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES;
1219 }
1220
1221 template<> VkStructureType getStructureType<VkPhysicalDeviceFloatControlsProperties> (void)
1222 {
1223         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES;
1224 }
1225
1226 template<> VkStructureType getStructureType<VkPhysicalDeviceHostQueryResetFeatures> (void)
1227 {
1228         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES;
1229 }
1230
1231 template<> VkStructureType getStructureType<VkDeviceQueueGlobalPriorityCreateInfoKHR> (void)
1232 {
1233         return VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR;
1234 }
1235
1236 template<> VkStructureType getStructureType<VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR> (void)
1237 {
1238         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR;
1239 }
1240
1241 template<> VkStructureType getStructureType<VkQueueFamilyGlobalPriorityPropertiesKHR> (void)
1242 {
1243         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR;
1244 }
1245
1246 template<> VkStructureType getStructureType<VkDebugUtilsObjectNameInfoEXT> (void)
1247 {
1248         return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT;
1249 }
1250
1251 template<> VkStructureType getStructureType<VkDebugUtilsObjectTagInfoEXT> (void)
1252 {
1253         return VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT;
1254 }
1255
1256 template<> VkStructureType getStructureType<VkDebugUtilsLabelEXT> (void)
1257 {
1258         return VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
1259 }
1260
1261 template<> VkStructureType getStructureType<VkDebugUtilsMessengerCreateInfoEXT> (void)
1262 {
1263         return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT;
1264 }
1265
1266 template<> VkStructureType getStructureType<VkDebugUtilsMessengerCallbackDataEXT> (void)
1267 {
1268         return VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT;
1269 }
1270
1271 template<> VkStructureType getStructureType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT> (void)
1272 {
1273         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT;
1274 }
1275
1276 template<> VkStructureType getStructureType<VkDeviceDeviceMemoryReportCreateInfoEXT> (void)
1277 {
1278         return VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT;
1279 }
1280
1281 template<> VkStructureType getStructureType<VkDeviceMemoryReportCallbackDataEXT> (void)
1282 {
1283         return VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT;
1284 }
1285
1286 template<> VkStructureType getStructureType<VkImportMemoryHostPointerInfoEXT> (void)
1287 {
1288         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT;
1289 }
1290
1291 template<> VkStructureType getStructureType<VkMemoryHostPointerPropertiesEXT> (void)
1292 {
1293         return VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT;
1294 }
1295
1296 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalMemoryHostPropertiesEXT> (void)
1297 {
1298         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT;
1299 }
1300
1301 template<> VkStructureType getStructureType<VkPhysicalDeviceConservativeRasterizationPropertiesEXT> (void)
1302 {
1303         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT;
1304 }
1305
1306 template<> VkStructureType getStructureType<VkCalibratedTimestampInfoEXT> (void)
1307 {
1308         return VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT;
1309 }
1310
1311 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCorePropertiesAMD> (void)
1312 {
1313         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD;
1314 }
1315
1316 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCoreProperties2AMD> (void)
1317 {
1318         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD;
1319 }
1320
1321 template<> VkStructureType getStructureType<VkPipelineRasterizationConservativeStateCreateInfoEXT> (void)
1322 {
1323         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT;
1324 }
1325
1326 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorIndexingFeatures> (void)
1327 {
1328         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES;
1329 }
1330
1331 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorIndexingProperties> (void)
1332 {
1333         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES;
1334 }
1335
1336 template<> VkStructureType getStructureType<VkDescriptorSetLayoutBindingFlagsCreateInfo> (void)
1337 {
1338         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO;
1339 }
1340
1341 template<> VkStructureType getStructureType<VkDescriptorSetVariableDescriptorCountAllocateInfo> (void)
1342 {
1343         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO;
1344 }
1345
1346 template<> VkStructureType getStructureType<VkDescriptorSetVariableDescriptorCountLayoutSupport> (void)
1347 {
1348         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT;
1349 }
1350
1351 template<> VkStructureType getStructureType<VkAttachmentDescription2> (void)
1352 {
1353         return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2;
1354 }
1355
1356 template<> VkStructureType getStructureType<VkAttachmentReference2> (void)
1357 {
1358         return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2;
1359 }
1360
1361 template<> VkStructureType getStructureType<VkSubpassDescription2> (void)
1362 {
1363         return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2;
1364 }
1365
1366 template<> VkStructureType getStructureType<VkSubpassDependency2> (void)
1367 {
1368         return VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2;
1369 }
1370
1371 template<> VkStructureType getStructureType<VkRenderPassCreateInfo2> (void)
1372 {
1373         return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2;
1374 }
1375
1376 template<> VkStructureType getStructureType<VkSubpassBeginInfo> (void)
1377 {
1378         return VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO;
1379 }
1380
1381 template<> VkStructureType getStructureType<VkSubpassEndInfo> (void)
1382 {
1383         return VK_STRUCTURE_TYPE_SUBPASS_END_INFO;
1384 }
1385
1386 template<> VkStructureType getStructureType<VkPhysicalDeviceTimelineSemaphoreFeatures> (void)
1387 {
1388         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES;
1389 }
1390
1391 template<> VkStructureType getStructureType<VkPhysicalDeviceTimelineSemaphoreProperties> (void)
1392 {
1393         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES;
1394 }
1395
1396 template<> VkStructureType getStructureType<VkSemaphoreTypeCreateInfo> (void)
1397 {
1398         return VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO;
1399 }
1400
1401 template<> VkStructureType getStructureType<VkTimelineSemaphoreSubmitInfo> (void)
1402 {
1403         return VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO;
1404 }
1405
1406 template<> VkStructureType getStructureType<VkSemaphoreWaitInfo> (void)
1407 {
1408         return VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO;
1409 }
1410
1411 template<> VkStructureType getStructureType<VkSemaphoreSignalInfo> (void)
1412 {
1413         return VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO;
1414 }
1415
1416 template<> VkStructureType getStructureType<VkPipelineVertexInputDivisorStateCreateInfoEXT> (void)
1417 {
1418         return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT;
1419 }
1420
1421 template<> VkStructureType getStructureType<VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT> (void)
1422 {
1423         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT;
1424 }
1425
1426 template<> VkStructureType getStructureType<VkPhysicalDevicePCIBusInfoPropertiesEXT> (void)
1427 {
1428         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT;
1429 }
1430
1431 template<> VkStructureType getStructureType<VkImportAndroidHardwareBufferInfoANDROID> (void)
1432 {
1433         return VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1434 }
1435
1436 template<> VkStructureType getStructureType<VkAndroidHardwareBufferUsageANDROID> (void)
1437 {
1438         return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID;
1439 }
1440
1441 template<> VkStructureType getStructureType<VkAndroidHardwareBufferPropertiesANDROID> (void)
1442 {
1443         return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID;
1444 }
1445
1446 template<> VkStructureType getStructureType<VkMemoryGetAndroidHardwareBufferInfoANDROID> (void)
1447 {
1448         return VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID;
1449 }
1450
1451 template<> VkStructureType getStructureType<VkAndroidHardwareBufferFormatPropertiesANDROID> (void)
1452 {
1453         return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID;
1454 }
1455
1456 template<> VkStructureType getStructureType<VkCommandBufferInheritanceConditionalRenderingInfoEXT> (void)
1457 {
1458         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT;
1459 }
1460
1461 template<> VkStructureType getStructureType<VkExternalFormatANDROID> (void)
1462 {
1463         return VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID;
1464 }
1465
1466 template<> VkStructureType getStructureType<VkPhysicalDevice8BitStorageFeatures> (void)
1467 {
1468         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES;
1469 }
1470
1471 template<> VkStructureType getStructureType<VkPhysicalDeviceConditionalRenderingFeaturesEXT> (void)
1472 {
1473         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
1474 }
1475
1476 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkanMemoryModelFeatures> (void)
1477 {
1478         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES;
1479 }
1480
1481 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderAtomicInt64Features> (void)
1482 {
1483         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES;
1484 }
1485
1486 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderAtomicFloatFeaturesEXT> (void)
1487 {
1488         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT;
1489 }
1490
1491 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT> (void)
1492 {
1493         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT;
1494 }
1495
1496 template<> VkStructureType getStructureType<VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT> (void)
1497 {
1498         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
1499 }
1500
1501 template<> VkStructureType getStructureType<VkQueueFamilyCheckpointPropertiesNV> (void)
1502 {
1503         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV;
1504 }
1505
1506 template<> VkStructureType getStructureType<VkCheckpointDataNV> (void)
1507 {
1508         return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV;
1509 }
1510
1511 template<> VkStructureType getStructureType<VkPhysicalDeviceDepthStencilResolveProperties> (void)
1512 {
1513         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES;
1514 }
1515
1516 template<> VkStructureType getStructureType<VkSubpassDescriptionDepthStencilResolve> (void)
1517 {
1518         return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE;
1519 }
1520
1521 template<> VkStructureType getStructureType<VkImageViewASTCDecodeModeEXT> (void)
1522 {
1523         return VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT;
1524 }
1525
1526 template<> VkStructureType getStructureType<VkPhysicalDeviceASTCDecodeFeaturesEXT> (void)
1527 {
1528         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT;
1529 }
1530
1531 template<> VkStructureType getStructureType<VkPhysicalDeviceTransformFeedbackFeaturesEXT> (void)
1532 {
1533         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT;
1534 }
1535
1536 template<> VkStructureType getStructureType<VkPhysicalDeviceTransformFeedbackPropertiesEXT> (void)
1537 {
1538         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT;
1539 }
1540
1541 template<> VkStructureType getStructureType<VkPipelineRasterizationStateStreamCreateInfoEXT> (void)
1542 {
1543         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT;
1544 }
1545
1546 template<> VkStructureType getStructureType<VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV> (void)
1547 {
1548         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV;
1549 }
1550
1551 template<> VkStructureType getStructureType<VkPipelineRepresentativeFragmentTestStateCreateInfoNV> (void)
1552 {
1553         return VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV;
1554 }
1555
1556 template<> VkStructureType getStructureType<VkPhysicalDeviceExclusiveScissorFeaturesNV> (void)
1557 {
1558         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV;
1559 }
1560
1561 template<> VkStructureType getStructureType<VkPipelineViewportExclusiveScissorStateCreateInfoNV> (void)
1562 {
1563         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV;
1564 }
1565
1566 template<> VkStructureType getStructureType<VkPhysicalDeviceCornerSampledImageFeaturesNV> (void)
1567 {
1568         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV;
1569 }
1570
1571 template<> VkStructureType getStructureType<VkPhysicalDeviceComputeShaderDerivativesFeaturesNV> (void)
1572 {
1573         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV;
1574 }
1575
1576 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderImageFootprintFeaturesNV> (void)
1577 {
1578         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV;
1579 }
1580
1581 template<> VkStructureType getStructureType<VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV> (void)
1582 {
1583         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV;
1584 }
1585
1586 template<> VkStructureType getStructureType<VkPhysicalDeviceCopyMemoryIndirectFeaturesNV> (void)
1587 {
1588         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV;
1589 }
1590
1591 template<> VkStructureType getStructureType<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV> (void)
1592 {
1593         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV;
1594 }
1595
1596 template<> VkStructureType getStructureType<VkPhysicalDeviceMemoryDecompressionFeaturesNV> (void)
1597 {
1598         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV;
1599 }
1600
1601 template<> VkStructureType getStructureType<VkPhysicalDeviceMemoryDecompressionPropertiesNV> (void)
1602 {
1603         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV;
1604 }
1605
1606 template<> VkStructureType getStructureType<VkPipelineViewportShadingRateImageStateCreateInfoNV> (void)
1607 {
1608         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV;
1609 }
1610
1611 template<> VkStructureType getStructureType<VkPhysicalDeviceShadingRateImageFeaturesNV> (void)
1612 {
1613         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV;
1614 }
1615
1616 template<> VkStructureType getStructureType<VkPhysicalDeviceShadingRateImagePropertiesNV> (void)
1617 {
1618         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV;
1619 }
1620
1621 template<> VkStructureType getStructureType<VkPhysicalDeviceInvocationMaskFeaturesHUAWEI> (void)
1622 {
1623         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI;
1624 }
1625
1626 template<> VkStructureType getStructureType<VkPipelineViewportCoarseSampleOrderStateCreateInfoNV> (void)
1627 {
1628         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV;
1629 }
1630
1631 template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderFeaturesNV> (void)
1632 {
1633         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV;
1634 }
1635
1636 template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderPropertiesNV> (void)
1637 {
1638         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV;
1639 }
1640
1641 template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderFeaturesEXT> (void)
1642 {
1643         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT;
1644 }
1645
1646 template<> VkStructureType getStructureType<VkPhysicalDeviceMeshShaderPropertiesEXT> (void)
1647 {
1648         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT;
1649 }
1650
1651 template<> VkStructureType getStructureType<VkRayTracingShaderGroupCreateInfoNV> (void)
1652 {
1653         return VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV;
1654 }
1655
1656 template<> VkStructureType getStructureType<VkRayTracingShaderGroupCreateInfoKHR> (void)
1657 {
1658         return VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR;
1659 }
1660
1661 template<> VkStructureType getStructureType<VkRayTracingPipelineCreateInfoNV> (void)
1662 {
1663         return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV;
1664 }
1665
1666 template<> VkStructureType getStructureType<VkRayTracingPipelineCreateInfoKHR> (void)
1667 {
1668         return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR;
1669 }
1670
1671 template<> VkStructureType getStructureType<VkGeometryTrianglesNV> (void)
1672 {
1673         return VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV;
1674 }
1675
1676 template<> VkStructureType getStructureType<VkGeometryAABBNV> (void)
1677 {
1678         return VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV;
1679 }
1680
1681 template<> VkStructureType getStructureType<VkGeometryNV> (void)
1682 {
1683         return VK_STRUCTURE_TYPE_GEOMETRY_NV;
1684 }
1685
1686 template<> VkStructureType getStructureType<VkAccelerationStructureInfoNV> (void)
1687 {
1688         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV;
1689 }
1690
1691 template<> VkStructureType getStructureType<VkAccelerationStructureCreateInfoNV> (void)
1692 {
1693         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV;
1694 }
1695
1696 template<> VkStructureType getStructureType<VkBindAccelerationStructureMemoryInfoNV> (void)
1697 {
1698         return VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV;
1699 }
1700
1701 template<> VkStructureType getStructureType<VkWriteDescriptorSetAccelerationStructureKHR> (void)
1702 {
1703         return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR;
1704 }
1705
1706 template<> VkStructureType getStructureType<VkWriteDescriptorSetAccelerationStructureNV> (void)
1707 {
1708         return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV;
1709 }
1710
1711 template<> VkStructureType getStructureType<VkAccelerationStructureMemoryRequirementsInfoNV> (void)
1712 {
1713         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV;
1714 }
1715
1716 template<> VkStructureType getStructureType<VkPhysicalDeviceAccelerationStructureFeaturesKHR> (void)
1717 {
1718         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR;
1719 }
1720
1721 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingPipelineFeaturesKHR> (void)
1722 {
1723         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR;
1724 }
1725
1726 template<> VkStructureType getStructureType<VkPhysicalDeviceRayQueryFeaturesKHR> (void)
1727 {
1728         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR;
1729 }
1730
1731 template<> VkStructureType getStructureType<VkPhysicalDeviceAccelerationStructurePropertiesKHR> (void)
1732 {
1733         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR;
1734 }
1735
1736 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingPipelinePropertiesKHR> (void)
1737 {
1738         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR;
1739 }
1740
1741 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingPropertiesNV> (void)
1742 {
1743         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV;
1744 }
1745
1746 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR> (void)
1747 {
1748         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR;
1749 }
1750
1751 template<> VkStructureType getStructureType<VkDrmFormatModifierPropertiesListEXT> (void)
1752 {
1753         return VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT;
1754 }
1755
1756 template<> VkStructureType getStructureType<VkPhysicalDeviceImageDrmFormatModifierInfoEXT> (void)
1757 {
1758         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT;
1759 }
1760
1761 template<> VkStructureType getStructureType<VkImageDrmFormatModifierListCreateInfoEXT> (void)
1762 {
1763         return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT;
1764 }
1765
1766 template<> VkStructureType getStructureType<VkImageDrmFormatModifierExplicitCreateInfoEXT> (void)
1767 {
1768         return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT;
1769 }
1770
1771 template<> VkStructureType getStructureType<VkImageDrmFormatModifierPropertiesEXT> (void)
1772 {
1773         return VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT;
1774 }
1775
1776 template<> VkStructureType getStructureType<VkImageStencilUsageCreateInfo> (void)
1777 {
1778         return VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO;
1779 }
1780
1781 template<> VkStructureType getStructureType<VkDeviceMemoryOverallocationCreateInfoAMD> (void)
1782 {
1783         return VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD;
1784 }
1785
1786 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapFeaturesEXT> (void)
1787 {
1788         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT;
1789 }
1790
1791 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMap2FeaturesEXT> (void)
1792 {
1793         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT;
1794 }
1795
1796 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM> (void)
1797 {
1798         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM;
1799 }
1800
1801 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapPropertiesEXT> (void)
1802 {
1803         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT;
1804 }
1805
1806 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMap2PropertiesEXT> (void)
1807 {
1808         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT;
1809 }
1810
1811 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM> (void)
1812 {
1813         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM;
1814 }
1815
1816 template<> VkStructureType getStructureType<VkRenderPassFragmentDensityMapCreateInfoEXT> (void)
1817 {
1818         return VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT;
1819 }
1820
1821 template<> VkStructureType getStructureType<VkSubpassFragmentDensityMapOffsetEndInfoQCOM> (void)
1822 {
1823         return VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM;
1824 }
1825
1826 template<> VkStructureType getStructureType<VkPhysicalDeviceScalarBlockLayoutFeatures> (void)
1827 {
1828         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES;
1829 }
1830
1831 template<> VkStructureType getStructureType<VkSurfaceProtectedCapabilitiesKHR> (void)
1832 {
1833         return VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR;
1834 }
1835
1836 template<> VkStructureType getStructureType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures> (void)
1837 {
1838         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES;
1839 }
1840
1841 template<> VkStructureType getStructureType<VkPhysicalDeviceDepthClipEnableFeaturesEXT> (void)
1842 {
1843         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT;
1844 }
1845
1846 template<> VkStructureType getStructureType<VkPipelineRasterizationDepthClipStateCreateInfoEXT> (void)
1847 {
1848         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT;
1849 }
1850
1851 template<> VkStructureType getStructureType<VkPhysicalDeviceMemoryBudgetPropertiesEXT> (void)
1852 {
1853         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT;
1854 }
1855
1856 template<> VkStructureType getStructureType<VkPhysicalDeviceMemoryPriorityFeaturesEXT> (void)
1857 {
1858         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT;
1859 }
1860
1861 template<> VkStructureType getStructureType<VkMemoryPriorityAllocateInfoEXT> (void)
1862 {
1863         return VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT;
1864 }
1865
1866 template<> VkStructureType getStructureType<VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT> (void)
1867 {
1868         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT;
1869 }
1870
1871 template<> VkStructureType getStructureType<VkPhysicalDeviceBufferDeviceAddressFeatures> (void)
1872 {
1873         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES;
1874 }
1875
1876 template<> VkStructureType getStructureType<VkPhysicalDeviceBufferDeviceAddressFeaturesEXT> (void)
1877 {
1878         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT;
1879 }
1880
1881 template<> VkStructureType getStructureType<VkBufferDeviceAddressInfo> (void)
1882 {
1883         return VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO;
1884 }
1885
1886 template<> VkStructureType getStructureType<VkBufferOpaqueCaptureAddressCreateInfo> (void)
1887 {
1888         return VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO;
1889 }
1890
1891 template<> VkStructureType getStructureType<VkBufferDeviceAddressCreateInfoEXT> (void)
1892 {
1893         return VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT;
1894 }
1895
1896 template<> VkStructureType getStructureType<VkPhysicalDeviceImageViewImageFormatInfoEXT> (void)
1897 {
1898         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT;
1899 }
1900
1901 template<> VkStructureType getStructureType<VkFilterCubicImageViewImageFormatPropertiesEXT> (void)
1902 {
1903         return VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT;
1904 }
1905
1906 template<> VkStructureType getStructureType<VkPhysicalDeviceImagelessFramebufferFeatures> (void)
1907 {
1908         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES;
1909 }
1910
1911 template<> VkStructureType getStructureType<VkFramebufferAttachmentsCreateInfo> (void)
1912 {
1913         return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO;
1914 }
1915
1916 template<> VkStructureType getStructureType<VkFramebufferAttachmentImageInfo> (void)
1917 {
1918         return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO;
1919 }
1920
1921 template<> VkStructureType getStructureType<VkRenderPassAttachmentBeginInfo> (void)
1922 {
1923         return VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO;
1924 }
1925
1926 template<> VkStructureType getStructureType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures> (void)
1927 {
1928         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES;
1929 }
1930
1931 template<> VkStructureType getStructureType<VkPhysicalDeviceCooperativeMatrixFeaturesNV> (void)
1932 {
1933         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV;
1934 }
1935
1936 template<> VkStructureType getStructureType<VkPhysicalDeviceCooperativeMatrixPropertiesNV> (void)
1937 {
1938         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV;
1939 }
1940
1941 template<> VkStructureType getStructureType<VkCooperativeMatrixPropertiesNV> (void)
1942 {
1943         return VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV;
1944 }
1945
1946 template<> VkStructureType getStructureType<VkPhysicalDeviceYcbcrImageArraysFeaturesEXT> (void)
1947 {
1948         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT;
1949 }
1950
1951 template<> VkStructureType getStructureType<VkImageViewHandleInfoNVX> (void)
1952 {
1953         return VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX;
1954 }
1955
1956 template<> VkStructureType getStructureType<VkImageViewAddressPropertiesNVX> (void)
1957 {
1958         return VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX;
1959 }
1960
1961 template<> VkStructureType getStructureType<VkPresentFrameTokenGGP> (void)
1962 {
1963         return VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP;
1964 }
1965
1966 template<> VkStructureType getStructureType<VkPipelineCreationFeedbackCreateInfo> (void)
1967 {
1968         return VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO;
1969 }
1970
1971 template<> VkStructureType getStructureType<VkSurfaceFullScreenExclusiveInfoEXT> (void)
1972 {
1973         return VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT;
1974 }
1975
1976 template<> VkStructureType getStructureType<VkSurfaceFullScreenExclusiveWin32InfoEXT> (void)
1977 {
1978         return VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT;
1979 }
1980
1981 template<> VkStructureType getStructureType<VkSurfaceCapabilitiesFullScreenExclusiveEXT> (void)
1982 {
1983         return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT;
1984 }
1985
1986 template<> VkStructureType getStructureType<VkPhysicalDevicePresentBarrierFeaturesNV> (void)
1987 {
1988         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV;
1989 }
1990
1991 template<> VkStructureType getStructureType<VkSurfaceCapabilitiesPresentBarrierNV> (void)
1992 {
1993         return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV;
1994 }
1995
1996 template<> VkStructureType getStructureType<VkSwapchainPresentBarrierCreateInfoNV> (void)
1997 {
1998         return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV;
1999 }
2000
2001 template<> VkStructureType getStructureType<VkPhysicalDevicePerformanceQueryFeaturesKHR> (void)
2002 {
2003         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR;
2004 }
2005
2006 template<> VkStructureType getStructureType<VkPhysicalDevicePerformanceQueryPropertiesKHR> (void)
2007 {
2008         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR;
2009 }
2010
2011 template<> VkStructureType getStructureType<VkPerformanceCounterKHR> (void)
2012 {
2013         return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR;
2014 }
2015
2016 template<> VkStructureType getStructureType<VkPerformanceCounterDescriptionKHR> (void)
2017 {
2018         return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR;
2019 }
2020
2021 template<> VkStructureType getStructureType<VkQueryPoolPerformanceCreateInfoKHR> (void)
2022 {
2023         return VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR;
2024 }
2025
2026 template<> VkStructureType getStructureType<VkAcquireProfilingLockInfoKHR> (void)
2027 {
2028         return VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR;
2029 }
2030
2031 template<> VkStructureType getStructureType<VkPerformanceQuerySubmitInfoKHR> (void)
2032 {
2033         return VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR;
2034 }
2035
2036 template<> VkStructureType getStructureType<VkHeadlessSurfaceCreateInfoEXT> (void)
2037 {
2038         return VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT;
2039 }
2040
2041 template<> VkStructureType getStructureType<VkPhysicalDeviceCoverageReductionModeFeaturesNV> (void)
2042 {
2043         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV;
2044 }
2045
2046 template<> VkStructureType getStructureType<VkPipelineCoverageReductionStateCreateInfoNV> (void)
2047 {
2048         return VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV;
2049 }
2050
2051 template<> VkStructureType getStructureType<VkFramebufferMixedSamplesCombinationNV> (void)
2052 {
2053         return VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV;
2054 }
2055
2056 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL> (void)
2057 {
2058         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL;
2059 }
2060
2061 template<> VkStructureType getStructureType<VkInitializePerformanceApiInfoINTEL> (void)
2062 {
2063         return VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL;
2064 }
2065
2066 template<> VkStructureType getStructureType<VkQueryPoolPerformanceQueryCreateInfoINTEL> (void)
2067 {
2068         return VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL;
2069 }
2070
2071 template<> VkStructureType getStructureType<VkPerformanceMarkerInfoINTEL> (void)
2072 {
2073         return VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL;
2074 }
2075
2076 template<> VkStructureType getStructureType<VkPerformanceStreamMarkerInfoINTEL> (void)
2077 {
2078         return VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL;
2079 }
2080
2081 template<> VkStructureType getStructureType<VkPerformanceOverrideInfoINTEL> (void)
2082 {
2083         return VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL;
2084 }
2085
2086 template<> VkStructureType getStructureType<VkPerformanceConfigurationAcquireInfoINTEL> (void)
2087 {
2088         return VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL;
2089 }
2090
2091 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderClockFeaturesKHR> (void)
2092 {
2093         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR;
2094 }
2095
2096 template<> VkStructureType getStructureType<VkPhysicalDeviceIndexTypeUint8FeaturesEXT> (void)
2097 {
2098         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT;
2099 }
2100
2101 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSMBuiltinsPropertiesNV> (void)
2102 {
2103         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV;
2104 }
2105
2106 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSMBuiltinsFeaturesNV> (void)
2107 {
2108         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV;
2109 }
2110
2111 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT> (void)
2112 {
2113         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT;
2114 }
2115
2116 template<> VkStructureType getStructureType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures> (void)
2117 {
2118         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES;
2119 }
2120
2121 template<> VkStructureType getStructureType<VkAttachmentReferenceStencilLayout> (void)
2122 {
2123         return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT;
2124 }
2125
2126 template<> VkStructureType getStructureType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT> (void)
2127 {
2128         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT;
2129 }
2130
2131 template<> VkStructureType getStructureType<VkAttachmentDescriptionStencilLayout> (void)
2132 {
2133         return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT;
2134 }
2135
2136 template<> VkStructureType getStructureType<VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR> (void)
2137 {
2138         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR;
2139 }
2140
2141 template<> VkStructureType getStructureType<VkPipelineInfoKHR> (void)
2142 {
2143         return VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR;
2144 }
2145
2146 template<> VkStructureType getStructureType<VkPipelineExecutablePropertiesKHR> (void)
2147 {
2148         return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR;
2149 }
2150
2151 template<> VkStructureType getStructureType<VkPipelineExecutableInfoKHR> (void)
2152 {
2153         return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR;
2154 }
2155
2156 template<> VkStructureType getStructureType<VkPipelineExecutableStatisticKHR> (void)
2157 {
2158         return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR;
2159 }
2160
2161 template<> VkStructureType getStructureType<VkPipelineExecutableInternalRepresentationKHR> (void)
2162 {
2163         return VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR;
2164 }
2165
2166 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures> (void)
2167 {
2168         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES;
2169 }
2170
2171 template<> VkStructureType getStructureType<VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT> (void)
2172 {
2173         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT;
2174 }
2175
2176 template<> VkStructureType getStructureType<VkPhysicalDeviceTexelBufferAlignmentProperties> (void)
2177 {
2178         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES;
2179 }
2180
2181 template<> VkStructureType getStructureType<VkPhysicalDeviceSubgroupSizeControlFeatures> (void)
2182 {
2183         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES;
2184 }
2185
2186 template<> VkStructureType getStructureType<VkPhysicalDeviceSubgroupSizeControlProperties> (void)
2187 {
2188         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES;
2189 }
2190
2191 template<> VkStructureType getStructureType<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo> (void)
2192 {
2193         return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO;
2194 }
2195
2196 template<> VkStructureType getStructureType<VkSubpassShadingPipelineCreateInfoHUAWEI> (void)
2197 {
2198         return VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI;
2199 }
2200
2201 template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassShadingPropertiesHUAWEI> (void)
2202 {
2203         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI;
2204 }
2205
2206 template<> VkStructureType getStructureType<VkMemoryOpaqueCaptureAddressAllocateInfo> (void)
2207 {
2208         return VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO;
2209 }
2210
2211 template<> VkStructureType getStructureType<VkDeviceMemoryOpaqueCaptureAddressInfo> (void)
2212 {
2213         return VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO;
2214 }
2215
2216 template<> VkStructureType getStructureType<VkPhysicalDeviceLineRasterizationFeaturesEXT> (void)
2217 {
2218         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT;
2219 }
2220
2221 template<> VkStructureType getStructureType<VkPhysicalDeviceLineRasterizationPropertiesEXT> (void)
2222 {
2223         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT;
2224 }
2225
2226 template<> VkStructureType getStructureType<VkPipelineRasterizationLineStateCreateInfoEXT> (void)
2227 {
2228         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT;
2229 }
2230
2231 template<> VkStructureType getStructureType<VkPhysicalDevicePipelineCreationCacheControlFeatures> (void)
2232 {
2233         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES;
2234 }
2235
2236 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan11Features> (void)
2237 {
2238         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
2239 }
2240
2241 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan11Properties> (void)
2242 {
2243         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES;
2244 }
2245
2246 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan12Features> (void)
2247 {
2248         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
2249 }
2250
2251 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan12Properties> (void)
2252 {
2253         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES;
2254 }
2255
2256 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan13Features> (void)
2257 {
2258         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
2259 }
2260
2261 template<> VkStructureType getStructureType<VkPhysicalDeviceVulkan13Properties> (void)
2262 {
2263         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES;
2264 }
2265
2266 template<> VkStructureType getStructureType<VkPipelineCompilerControlCreateInfoAMD> (void)
2267 {
2268         return VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD;
2269 }
2270
2271 template<> VkStructureType getStructureType<VkPhysicalDeviceCoherentMemoryFeaturesAMD> (void)
2272 {
2273         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD;
2274 }
2275
2276 template<> VkStructureType getStructureType<VkPhysicalDeviceToolProperties> (void)
2277 {
2278         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES;
2279 }
2280
2281 template<> VkStructureType getStructureType<VkSamplerCustomBorderColorCreateInfoEXT> (void)
2282 {
2283         return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT;
2284 }
2285
2286 template<> VkStructureType getStructureType<VkPhysicalDeviceCustomBorderColorPropertiesEXT> (void)
2287 {
2288         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT;
2289 }
2290
2291 template<> VkStructureType getStructureType<VkPhysicalDeviceCustomBorderColorFeaturesEXT> (void)
2292 {
2293         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT;
2294 }
2295
2296 template<> VkStructureType getStructureType<VkSamplerBorderColorComponentMappingCreateInfoEXT> (void)
2297 {
2298         return VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT;
2299 }
2300
2301 template<> VkStructureType getStructureType<VkPhysicalDeviceBorderColorSwizzleFeaturesEXT> (void)
2302 {
2303         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT;
2304 }
2305
2306 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryTrianglesDataKHR> (void)
2307 {
2308         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR;
2309 }
2310
2311 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryAabbsDataKHR> (void)
2312 {
2313         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR;
2314 }
2315
2316 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryInstancesDataKHR> (void)
2317 {
2318         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR;
2319 }
2320
2321 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryKHR> (void)
2322 {
2323         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR;
2324 }
2325
2326 template<> VkStructureType getStructureType<VkAccelerationStructureBuildGeometryInfoKHR> (void)
2327 {
2328         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR;
2329 }
2330
2331 template<> VkStructureType getStructureType<VkAccelerationStructureCreateInfoKHR> (void)
2332 {
2333         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR;
2334 }
2335
2336 template<> VkStructureType getStructureType<VkAccelerationStructureDeviceAddressInfoKHR> (void)
2337 {
2338         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR;
2339 }
2340
2341 template<> VkStructureType getStructureType<VkAccelerationStructureVersionInfoKHR> (void)
2342 {
2343         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR;
2344 }
2345
2346 template<> VkStructureType getStructureType<VkCopyAccelerationStructureInfoKHR> (void)
2347 {
2348         return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR;
2349 }
2350
2351 template<> VkStructureType getStructureType<VkCopyAccelerationStructureToMemoryInfoKHR> (void)
2352 {
2353         return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR;
2354 }
2355
2356 template<> VkStructureType getStructureType<VkCopyMemoryToAccelerationStructureInfoKHR> (void)
2357 {
2358         return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR;
2359 }
2360
2361 template<> VkStructureType getStructureType<VkRayTracingPipelineInterfaceCreateInfoKHR> (void)
2362 {
2363         return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR;
2364 }
2365
2366 template<> VkStructureType getStructureType<VkPipelineLibraryCreateInfoKHR> (void)
2367 {
2368         return VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR;
2369 }
2370
2371 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicStateFeaturesEXT> (void)
2372 {
2373         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT;
2374 }
2375
2376 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState2FeaturesEXT> (void)
2377 {
2378         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT;
2379 }
2380
2381 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT> (void)
2382 {
2383         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT;
2384 }
2385
2386 template<> VkStructureType getStructureType<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT> (void)
2387 {
2388         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT;
2389 }
2390
2391 template<> VkStructureType getStructureType<VkRenderPassTransformBeginInfoQCOM> (void)
2392 {
2393         return VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM;
2394 }
2395
2396 template<> VkStructureType getStructureType<VkCopyCommandTransformInfoQCOM> (void)
2397 {
2398         return VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM;
2399 }
2400
2401 template<> VkStructureType getStructureType<VkCommandBufferInheritanceRenderPassTransformInfoQCOM> (void)
2402 {
2403         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM;
2404 }
2405
2406 template<> VkStructureType getStructureType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV> (void)
2407 {
2408         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV;
2409 }
2410
2411 template<> VkStructureType getStructureType<VkDeviceDiagnosticsConfigCreateInfoNV> (void)
2412 {
2413         return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV;
2414 }
2415
2416 template<> VkStructureType getStructureType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures> (void)
2417 {
2418         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES;
2419 }
2420
2421 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR> (void)
2422 {
2423         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR;
2424 }
2425
2426 template<> VkStructureType getStructureType<VkPhysicalDeviceRobustness2FeaturesEXT> (void)
2427 {
2428         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT;
2429 }
2430
2431 template<> VkStructureType getStructureType<VkPhysicalDeviceRobustness2PropertiesEXT> (void)
2432 {
2433         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT;
2434 }
2435
2436 template<> VkStructureType getStructureType<VkPhysicalDeviceImageRobustnessFeatures> (void)
2437 {
2438         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES;
2439 }
2440
2441 template<> VkStructureType getStructureType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR> (void)
2442 {
2443         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR;
2444 }
2445
2446 template<> VkStructureType getStructureType<VkPhysicalDevicePortabilitySubsetFeaturesKHR> (void)
2447 {
2448         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR;
2449 }
2450
2451 template<> VkStructureType getStructureType<VkPhysicalDevicePortabilitySubsetPropertiesKHR> (void)
2452 {
2453         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR;
2454 }
2455
2456 template<> VkStructureType getStructureType<VkPhysicalDevice4444FormatsFeaturesEXT> (void)
2457 {
2458         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT;
2459 }
2460
2461 template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassShadingFeaturesHUAWEI> (void)
2462 {
2463         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI;
2464 }
2465
2466 template<> VkStructureType getStructureType<VkBufferCopy2> (void)
2467 {
2468         return VK_STRUCTURE_TYPE_BUFFER_COPY_2;
2469 }
2470
2471 template<> VkStructureType getStructureType<VkImageCopy2> (void)
2472 {
2473         return VK_STRUCTURE_TYPE_IMAGE_COPY_2;
2474 }
2475
2476 template<> VkStructureType getStructureType<VkImageBlit2> (void)
2477 {
2478         return VK_STRUCTURE_TYPE_IMAGE_BLIT_2;
2479 }
2480
2481 template<> VkStructureType getStructureType<VkBufferImageCopy2> (void)
2482 {
2483         return VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2;
2484 }
2485
2486 template<> VkStructureType getStructureType<VkImageResolve2> (void)
2487 {
2488         return VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2;
2489 }
2490
2491 template<> VkStructureType getStructureType<VkCopyBufferInfo2> (void)
2492 {
2493         return VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2;
2494 }
2495
2496 template<> VkStructureType getStructureType<VkCopyImageInfo2> (void)
2497 {
2498         return VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2;
2499 }
2500
2501 template<> VkStructureType getStructureType<VkBlitImageInfo2> (void)
2502 {
2503         return VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2;
2504 }
2505
2506 template<> VkStructureType getStructureType<VkCopyBufferToImageInfo2> (void)
2507 {
2508         return VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2;
2509 }
2510
2511 template<> VkStructureType getStructureType<VkCopyImageToBufferInfo2> (void)
2512 {
2513         return VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2;
2514 }
2515
2516 template<> VkStructureType getStructureType<VkResolveImageInfo2> (void)
2517 {
2518         return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2;
2519 }
2520
2521 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT> (void)
2522 {
2523         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
2524 }
2525
2526 template<> VkStructureType getStructureType<VkFragmentShadingRateAttachmentInfoKHR> (void)
2527 {
2528         return VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
2529 }
2530
2531 template<> VkStructureType getStructureType<VkPipelineFragmentShadingRateStateCreateInfoKHR> (void)
2532 {
2533         return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR;
2534 }
2535
2536 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateFeaturesKHR> (void)
2537 {
2538         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR;
2539 }
2540
2541 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR> (void)
2542 {
2543         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR;
2544 }
2545
2546 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateKHR> (void)
2547 {
2548         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR;
2549 }
2550
2551 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderTerminateInvocationFeatures> (void)
2552 {
2553         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES;
2554 }
2555
2556 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV> (void)
2557 {
2558         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV;
2559 }
2560
2561 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV> (void)
2562 {
2563         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV;
2564 }
2565
2566 template<> VkStructureType getStructureType<VkPipelineFragmentShadingRateEnumStateCreateInfoNV> (void)
2567 {
2568         return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV;
2569 }
2570
2571 template<> VkStructureType getStructureType<VkAccelerationStructureBuildSizesInfoKHR> (void)
2572 {
2573         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR;
2574 }
2575
2576 template<> VkStructureType getStructureType<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT> (void)
2577 {
2578         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT;
2579 }
2580
2581 template<> VkStructureType getStructureType<VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT> (void)
2582 {
2583         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT;
2584 }
2585
2586 template<> VkStructureType getStructureType<VkMutableDescriptorTypeCreateInfoEXT> (void)
2587 {
2588         return VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT;
2589 }
2590
2591 template<> VkStructureType getStructureType<VkPhysicalDeviceDepthClipControlFeaturesEXT> (void)
2592 {
2593         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT;
2594 }
2595
2596 template<> VkStructureType getStructureType<VkPipelineViewportDepthClipControlCreateInfoEXT> (void)
2597 {
2598         return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT;
2599 }
2600
2601 template<> VkStructureType getStructureType<VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT> (void)
2602 {
2603         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT;
2604 }
2605
2606 template<> VkStructureType getStructureType<VkPhysicalDeviceExternalMemoryRDMAFeaturesNV> (void)
2607 {
2608         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV;
2609 }
2610
2611 template<> VkStructureType getStructureType<VkVertexInputBindingDescription2EXT> (void)
2612 {
2613         return VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT;
2614 }
2615
2616 template<> VkStructureType getStructureType<VkVertexInputAttributeDescription2EXT> (void)
2617 {
2618         return VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT;
2619 }
2620
2621 template<> VkStructureType getStructureType<VkPhysicalDeviceColorWriteEnableFeaturesEXT> (void)
2622 {
2623         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT;
2624 }
2625
2626 template<> VkStructureType getStructureType<VkPipelineColorWriteCreateInfoEXT> (void)
2627 {
2628         return VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT;
2629 }
2630
2631 template<> VkStructureType getStructureType<VkMemoryBarrier2> (void)
2632 {
2633         return VK_STRUCTURE_TYPE_MEMORY_BARRIER_2;
2634 }
2635
2636 template<> VkStructureType getStructureType<VkImageMemoryBarrier2> (void)
2637 {
2638         return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2;
2639 }
2640
2641 template<> VkStructureType getStructureType<VkBufferMemoryBarrier2> (void)
2642 {
2643         return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2;
2644 }
2645
2646 template<> VkStructureType getStructureType<VkDependencyInfo> (void)
2647 {
2648         return VK_STRUCTURE_TYPE_DEPENDENCY_INFO;
2649 }
2650
2651 template<> VkStructureType getStructureType<VkSemaphoreSubmitInfo> (void)
2652 {
2653         return VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO;
2654 }
2655
2656 template<> VkStructureType getStructureType<VkCommandBufferSubmitInfo> (void)
2657 {
2658         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO;
2659 }
2660
2661 template<> VkStructureType getStructureType<VkSubmitInfo2> (void)
2662 {
2663         return VK_STRUCTURE_TYPE_SUBMIT_INFO_2;
2664 }
2665
2666 template<> VkStructureType getStructureType<VkQueueFamilyCheckpointProperties2NV> (void)
2667 {
2668         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV;
2669 }
2670
2671 template<> VkStructureType getStructureType<VkCheckpointData2NV> (void)
2672 {
2673         return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV;
2674 }
2675
2676 template<> VkStructureType getStructureType<VkPhysicalDeviceSynchronization2Features> (void)
2677 {
2678         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES;
2679 }
2680
2681 template<> VkStructureType getStructureType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT> (void)
2682 {
2683         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT;
2684 }
2685
2686 template<> VkStructureType getStructureType<VkPhysicalDeviceLegacyDitheringFeaturesEXT> (void)
2687 {
2688         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT;
2689 }
2690
2691 template<> VkStructureType getStructureType<VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT> (void)
2692 {
2693         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT;
2694 }
2695
2696 template<> VkStructureType getStructureType<VkSubpassResolvePerformanceQueryEXT> (void)
2697 {
2698         return VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT;
2699 }
2700
2701 template<> VkStructureType getStructureType<VkMultisampledRenderToSingleSampledInfoEXT> (void)
2702 {
2703         return VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT;
2704 }
2705
2706 template<> VkStructureType getStructureType<VkPhysicalDevicePipelineProtectedAccessFeaturesEXT> (void)
2707 {
2708         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT;
2709 }
2710
2711 template<> VkStructureType getStructureType<VkQueueFamilyVideoPropertiesKHR> (void)
2712 {
2713         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR;
2714 }
2715
2716 template<> VkStructureType getStructureType<VkQueueFamilyQueryResultStatusPropertiesKHR> (void)
2717 {
2718         return VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR;
2719 }
2720
2721 template<> VkStructureType getStructureType<VkVideoProfileListInfoKHR> (void)
2722 {
2723         return VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR;
2724 }
2725
2726 template<> VkStructureType getStructureType<VkPhysicalDeviceVideoFormatInfoKHR> (void)
2727 {
2728         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR;
2729 }
2730
2731 template<> VkStructureType getStructureType<VkVideoFormatPropertiesKHR> (void)
2732 {
2733         return VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR;
2734 }
2735
2736 template<> VkStructureType getStructureType<VkVideoProfileInfoKHR> (void)
2737 {
2738         return VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR;
2739 }
2740
2741 template<> VkStructureType getStructureType<VkVideoCapabilitiesKHR> (void)
2742 {
2743         return VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR;
2744 }
2745
2746 template<> VkStructureType getStructureType<VkVideoSessionMemoryRequirementsKHR> (void)
2747 {
2748         return VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR;
2749 }
2750
2751 template<> VkStructureType getStructureType<VkBindVideoSessionMemoryInfoKHR> (void)
2752 {
2753         return VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR;
2754 }
2755
2756 template<> VkStructureType getStructureType<VkVideoPictureResourceInfoKHR> (void)
2757 {
2758         return VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR;
2759 }
2760
2761 template<> VkStructureType getStructureType<VkVideoReferenceSlotInfoKHR> (void)
2762 {
2763         return VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR;
2764 }
2765
2766 template<> VkStructureType getStructureType<VkVideoDecodeCapabilitiesKHR> (void)
2767 {
2768         return VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR;
2769 }
2770
2771 template<> VkStructureType getStructureType<VkVideoDecodeUsageInfoKHR> (void)
2772 {
2773         return VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR;
2774 }
2775
2776 template<> VkStructureType getStructureType<VkVideoDecodeInfoKHR> (void)
2777 {
2778         return VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR;
2779 }
2780
2781 template<> VkStructureType getStructureType<VkVideoDecodeH264ProfileInfoEXT> (void)
2782 {
2783         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT;
2784 }
2785
2786 template<> VkStructureType getStructureType<VkVideoDecodeH264CapabilitiesEXT> (void)
2787 {
2788         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT;
2789 }
2790
2791 template<> VkStructureType getStructureType<VkVideoDecodeH264SessionParametersAddInfoEXT> (void)
2792 {
2793         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT;
2794 }
2795
2796 template<> VkStructureType getStructureType<VkVideoDecodeH264SessionParametersCreateInfoEXT> (void)
2797 {
2798         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT;
2799 }
2800
2801 template<> VkStructureType getStructureType<VkVideoDecodeH264PictureInfoEXT> (void)
2802 {
2803         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT;
2804 }
2805
2806 template<> VkStructureType getStructureType<VkVideoDecodeH264DpbSlotInfoEXT> (void)
2807 {
2808         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT;
2809 }
2810
2811 template<> VkStructureType getStructureType<VkVideoDecodeH265ProfileInfoEXT> (void)
2812 {
2813         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT;
2814 }
2815
2816 template<> VkStructureType getStructureType<VkVideoDecodeH265CapabilitiesEXT> (void)
2817 {
2818         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT;
2819 }
2820
2821 template<> VkStructureType getStructureType<VkVideoDecodeH265SessionParametersAddInfoEXT> (void)
2822 {
2823         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT;
2824 }
2825
2826 template<> VkStructureType getStructureType<VkVideoDecodeH265SessionParametersCreateInfoEXT> (void)
2827 {
2828         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT;
2829 }
2830
2831 template<> VkStructureType getStructureType<VkVideoDecodeH265PictureInfoEXT> (void)
2832 {
2833         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT;
2834 }
2835
2836 template<> VkStructureType getStructureType<VkVideoDecodeH265DpbSlotInfoEXT> (void)
2837 {
2838         return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT;
2839 }
2840
2841 template<> VkStructureType getStructureType<VkVideoSessionCreateInfoKHR> (void)
2842 {
2843         return VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR;
2844 }
2845
2846 template<> VkStructureType getStructureType<VkVideoSessionParametersCreateInfoKHR> (void)
2847 {
2848         return VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR;
2849 }
2850
2851 template<> VkStructureType getStructureType<VkVideoSessionParametersUpdateInfoKHR> (void)
2852 {
2853         return VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR;
2854 }
2855
2856 template<> VkStructureType getStructureType<VkVideoBeginCodingInfoKHR> (void)
2857 {
2858         return VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR;
2859 }
2860
2861 template<> VkStructureType getStructureType<VkVideoEndCodingInfoKHR> (void)
2862 {
2863         return VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR;
2864 }
2865
2866 template<> VkStructureType getStructureType<VkVideoCodingControlInfoKHR> (void)
2867 {
2868         return VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR;
2869 }
2870
2871 template<> VkStructureType getStructureType<VkVideoEncodeUsageInfoKHR> (void)
2872 {
2873         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR;
2874 }
2875
2876 template<> VkStructureType getStructureType<VkVideoEncodeInfoKHR> (void)
2877 {
2878         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR;
2879 }
2880
2881 template<> VkStructureType getStructureType<VkVideoEncodeRateControlInfoKHR> (void)
2882 {
2883         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR;
2884 }
2885
2886 template<> VkStructureType getStructureType<VkVideoEncodeRateControlLayerInfoKHR> (void)
2887 {
2888         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR;
2889 }
2890
2891 template<> VkStructureType getStructureType<VkVideoEncodeCapabilitiesKHR> (void)
2892 {
2893         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR;
2894 }
2895
2896 template<> VkStructureType getStructureType<VkVideoEncodeH264CapabilitiesEXT> (void)
2897 {
2898         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT;
2899 }
2900
2901 template<> VkStructureType getStructureType<VkVideoEncodeH264SessionParametersAddInfoEXT> (void)
2902 {
2903         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT;
2904 }
2905
2906 template<> VkStructureType getStructureType<VkVideoEncodeH264SessionParametersCreateInfoEXT> (void)
2907 {
2908         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT;
2909 }
2910
2911 template<> VkStructureType getStructureType<VkVideoEncodeH264DpbSlotInfoEXT> (void)
2912 {
2913         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT;
2914 }
2915
2916 template<> VkStructureType getStructureType<VkVideoEncodeH264VclFrameInfoEXT> (void)
2917 {
2918         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT;
2919 }
2920
2921 template<> VkStructureType getStructureType<VkVideoEncodeH264ReferenceListsInfoEXT> (void)
2922 {
2923         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT;
2924 }
2925
2926 template<> VkStructureType getStructureType<VkVideoEncodeH264EmitPictureParametersInfoEXT> (void)
2927 {
2928         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT;
2929 }
2930
2931 template<> VkStructureType getStructureType<VkVideoEncodeH264ProfileInfoEXT> (void)
2932 {
2933         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT;
2934 }
2935
2936 template<> VkStructureType getStructureType<VkVideoEncodeH264NaluSliceInfoEXT> (void)
2937 {
2938         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT;
2939 }
2940
2941 template<> VkStructureType getStructureType<VkVideoEncodeH264RateControlInfoEXT> (void)
2942 {
2943         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT;
2944 }
2945
2946 template<> VkStructureType getStructureType<VkVideoEncodeH264RateControlLayerInfoEXT> (void)
2947 {
2948         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT;
2949 }
2950
2951 template<> VkStructureType getStructureType<VkVideoEncodeH265CapabilitiesEXT> (void)
2952 {
2953         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT;
2954 }
2955
2956 template<> VkStructureType getStructureType<VkVideoEncodeH265SessionParametersAddInfoEXT> (void)
2957 {
2958         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT;
2959 }
2960
2961 template<> VkStructureType getStructureType<VkVideoEncodeH265SessionParametersCreateInfoEXT> (void)
2962 {
2963         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT;
2964 }
2965
2966 template<> VkStructureType getStructureType<VkVideoEncodeH265VclFrameInfoEXT> (void)
2967 {
2968         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT;
2969 }
2970
2971 template<> VkStructureType getStructureType<VkVideoEncodeH265EmitPictureParametersInfoEXT> (void)
2972 {
2973         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT;
2974 }
2975
2976 template<> VkStructureType getStructureType<VkVideoEncodeH265NaluSliceSegmentInfoEXT> (void)
2977 {
2978         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT;
2979 }
2980
2981 template<> VkStructureType getStructureType<VkVideoEncodeH265RateControlInfoEXT> (void)
2982 {
2983         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT;
2984 }
2985
2986 template<> VkStructureType getStructureType<VkVideoEncodeH265RateControlLayerInfoEXT> (void)
2987 {
2988         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT;
2989 }
2990
2991 template<> VkStructureType getStructureType<VkVideoEncodeH265ProfileInfoEXT> (void)
2992 {
2993         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT;
2994 }
2995
2996 template<> VkStructureType getStructureType<VkVideoEncodeH265DpbSlotInfoEXT> (void)
2997 {
2998         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT;
2999 }
3000
3001 template<> VkStructureType getStructureType<VkVideoEncodeH265ReferenceListsInfoEXT> (void)
3002 {
3003         return VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT;
3004 }
3005
3006 template<> VkStructureType getStructureType<VkPhysicalDeviceInheritedViewportScissorFeaturesNV> (void)
3007 {
3008         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV;
3009 }
3010
3011 template<> VkStructureType getStructureType<VkCommandBufferInheritanceViewportScissorInfoNV> (void)
3012 {
3013         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV;
3014 }
3015
3016 template<> VkStructureType getStructureType<VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT> (void)
3017 {
3018         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT;
3019 }
3020
3021 template<> VkStructureType getStructureType<VkPhysicalDeviceProvokingVertexFeaturesEXT> (void)
3022 {
3023         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT;
3024 }
3025
3026 template<> VkStructureType getStructureType<VkPhysicalDeviceProvokingVertexPropertiesEXT> (void)
3027 {
3028         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT;
3029 }
3030
3031 template<> VkStructureType getStructureType<VkPipelineRasterizationProvokingVertexStateCreateInfoEXT> (void)
3032 {
3033         return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT;
3034 }
3035
3036 template<> VkStructureType getStructureType<VkCuModuleCreateInfoNVX> (void)
3037 {
3038         return VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX;
3039 }
3040
3041 template<> VkStructureType getStructureType<VkCuFunctionCreateInfoNVX> (void)
3042 {
3043         return VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX;
3044 }
3045
3046 template<> VkStructureType getStructureType<VkCuLaunchInfoNVX> (void)
3047 {
3048         return VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX;
3049 }
3050
3051 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferFeaturesEXT> (void)
3052 {
3053         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT;
3054 }
3055
3056 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferPropertiesEXT> (void)
3057 {
3058         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT;
3059 }
3060
3061 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT> (void)
3062 {
3063         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT;
3064 }
3065
3066 template<> VkStructureType getStructureType<VkDescriptorAddressInfoEXT> (void)
3067 {
3068         return VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT;
3069 }
3070
3071 template<> VkStructureType getStructureType<VkDescriptorBufferBindingInfoEXT> (void)
3072 {
3073         return VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT;
3074 }
3075
3076 template<> VkStructureType getStructureType<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT> (void)
3077 {
3078         return VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT;
3079 }
3080
3081 template<> VkStructureType getStructureType<VkDescriptorGetInfoEXT> (void)
3082 {
3083         return VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT;
3084 }
3085
3086 template<> VkStructureType getStructureType<VkBufferCaptureDescriptorDataInfoEXT> (void)
3087 {
3088         return VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
3089 }
3090
3091 template<> VkStructureType getStructureType<VkImageCaptureDescriptorDataInfoEXT> (void)
3092 {
3093         return VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
3094 }
3095
3096 template<> VkStructureType getStructureType<VkImageViewCaptureDescriptorDataInfoEXT> (void)
3097 {
3098         return VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
3099 }
3100
3101 template<> VkStructureType getStructureType<VkSamplerCaptureDescriptorDataInfoEXT> (void)
3102 {
3103         return VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
3104 }
3105
3106 template<> VkStructureType getStructureType<VkAccelerationStructureCaptureDescriptorDataInfoEXT> (void)
3107 {
3108         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT;
3109 }
3110
3111 template<> VkStructureType getStructureType<VkOpaqueCaptureDescriptorDataCreateInfoEXT> (void)
3112 {
3113         return VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT;
3114 }
3115
3116 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderIntegerDotProductFeatures> (void)
3117 {
3118         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES;
3119 }
3120
3121 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderIntegerDotProductProperties> (void)
3122 {
3123         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES;
3124 }
3125
3126 template<> VkStructureType getStructureType<VkPhysicalDeviceDrmPropertiesEXT> (void)
3127 {
3128         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT;
3129 }
3130
3131 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR> (void)
3132 {
3133         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR;
3134 }
3135
3136 template<> VkStructureType getStructureType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR> (void)
3137 {
3138         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR;
3139 }
3140
3141 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingMotionBlurFeaturesNV> (void)
3142 {
3143         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV;
3144 }
3145
3146 template<> VkStructureType getStructureType<VkAccelerationStructureGeometryMotionTrianglesDataNV> (void)
3147 {
3148         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV;
3149 }
3150
3151 template<> VkStructureType getStructureType<VkAccelerationStructureMotionInfoNV> (void)
3152 {
3153         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV;
3154 }
3155
3156 template<> VkStructureType getStructureType<VkMemoryGetRemoteAddressInfoNV> (void)
3157 {
3158         return VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV;
3159 }
3160
3161 template<> VkStructureType getStructureType<VkImportMemoryBufferCollectionFUCHSIA> (void)
3162 {
3163         return VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA;
3164 }
3165
3166 template<> VkStructureType getStructureType<VkBufferCollectionImageCreateInfoFUCHSIA> (void)
3167 {
3168         return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA;
3169 }
3170
3171 template<> VkStructureType getStructureType<VkBufferCollectionBufferCreateInfoFUCHSIA> (void)
3172 {
3173         return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA;
3174 }
3175
3176 template<> VkStructureType getStructureType<VkBufferCollectionCreateInfoFUCHSIA> (void)
3177 {
3178         return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA;
3179 }
3180
3181 template<> VkStructureType getStructureType<VkBufferCollectionPropertiesFUCHSIA> (void)
3182 {
3183         return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA;
3184 }
3185
3186 template<> VkStructureType getStructureType<VkBufferConstraintsInfoFUCHSIA> (void)
3187 {
3188         return VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA;
3189 }
3190
3191 template<> VkStructureType getStructureType<VkSysmemColorSpaceFUCHSIA> (void)
3192 {
3193         return VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA;
3194 }
3195
3196 template<> VkStructureType getStructureType<VkImageFormatConstraintsInfoFUCHSIA> (void)
3197 {
3198         return VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA;
3199 }
3200
3201 template<> VkStructureType getStructureType<VkImageConstraintsInfoFUCHSIA> (void)
3202 {
3203         return VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA;
3204 }
3205
3206 template<> VkStructureType getStructureType<VkBufferCollectionConstraintsInfoFUCHSIA> (void)
3207 {
3208         return VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA;
3209 }
3210
3211 template<> VkStructureType getStructureType<VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT> (void)
3212 {
3213         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT;
3214 }
3215
3216 template<> VkStructureType getStructureType<VkFormatProperties3> (void)
3217 {
3218         return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3;
3219 }
3220
3221 template<> VkStructureType getStructureType<VkDrmFormatModifierPropertiesList2EXT> (void)
3222 {
3223         return VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT;
3224 }
3225
3226 template<> VkStructureType getStructureType<VkAndroidHardwareBufferFormatProperties2ANDROID> (void)
3227 {
3228         return VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID;
3229 }
3230
3231 template<> VkStructureType getStructureType<VkPipelineRenderingCreateInfo> (void)
3232 {
3233         return VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO;
3234 }
3235
3236 template<> VkStructureType getStructureType<VkRenderingInfo> (void)
3237 {
3238         return VK_STRUCTURE_TYPE_RENDERING_INFO;
3239 }
3240
3241 template<> VkStructureType getStructureType<VkRenderingAttachmentInfo> (void)
3242 {
3243         return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO;
3244 }
3245
3246 template<> VkStructureType getStructureType<VkRenderingFragmentShadingRateAttachmentInfoKHR> (void)
3247 {
3248         return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR;
3249 }
3250
3251 template<> VkStructureType getStructureType<VkRenderingFragmentDensityMapAttachmentInfoEXT> (void)
3252 {
3253         return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT;
3254 }
3255
3256 template<> VkStructureType getStructureType<VkPhysicalDeviceDynamicRenderingFeatures> (void)
3257 {
3258         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES;
3259 }
3260
3261 template<> VkStructureType getStructureType<VkCommandBufferInheritanceRenderingInfo> (void)
3262 {
3263         return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO;
3264 }
3265
3266 template<> VkStructureType getStructureType<VkAttachmentSampleCountInfoAMD> (void)
3267 {
3268         return VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD;
3269 }
3270
3271 template<> VkStructureType getStructureType<VkMultiviewPerViewAttributesInfoNVX> (void)
3272 {
3273         return VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX;
3274 }
3275
3276 template<> VkStructureType getStructureType<VkPhysicalDeviceImageViewMinLodFeaturesEXT> (void)
3277 {
3278         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT;
3279 }
3280
3281 template<> VkStructureType getStructureType<VkImageViewMinLodCreateInfoEXT> (void)
3282 {
3283         return VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT;
3284 }
3285
3286 template<> VkStructureType getStructureType<VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT> (void)
3287 {
3288         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT;
3289 }
3290
3291 template<> VkStructureType getStructureType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV> (void)
3292 {
3293         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV;
3294 }
3295
3296 template<> VkStructureType getStructureType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT> (void)
3297 {
3298         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT;
3299 }
3300
3301 template<> VkStructureType getStructureType<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT> (void)
3302 {
3303         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT;
3304 }
3305
3306 template<> VkStructureType getStructureType<VkGraphicsPipelineLibraryCreateInfoEXT> (void)
3307 {
3308         return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT;
3309 }
3310
3311 template<> VkStructureType getStructureType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE> (void)
3312 {
3313         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE;
3314 }
3315
3316 template<> VkStructureType getStructureType<VkDescriptorSetBindingReferenceVALVE> (void)
3317 {
3318         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE;
3319 }
3320
3321 template<> VkStructureType getStructureType<VkDescriptorSetLayoutHostMappingInfoVALVE> (void)
3322 {
3323         return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE;
3324 }
3325
3326 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT> (void)
3327 {
3328         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT;
3329 }
3330
3331 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT> (void)
3332 {
3333         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT;
3334 }
3335
3336 template<> VkStructureType getStructureType<VkPipelineShaderStageModuleIdentifierCreateInfoEXT> (void)
3337 {
3338         return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT;
3339 }
3340
3341 template<> VkStructureType getStructureType<VkShaderModuleIdentifierEXT> (void)
3342 {
3343         return VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT;
3344 }
3345
3346 template<> VkStructureType getStructureType<VkImageCompressionControlEXT> (void)
3347 {
3348         return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT;
3349 }
3350
3351 template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlFeaturesEXT> (void)
3352 {
3353         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT;
3354 }
3355
3356 template<> VkStructureType getStructureType<VkImageCompressionPropertiesEXT> (void)
3357 {
3358         return VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT;
3359 }
3360
3361 template<> VkStructureType getStructureType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT> (void)
3362 {
3363         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT;
3364 }
3365
3366 template<> VkStructureType getStructureType<VkImageSubresource2EXT> (void)
3367 {
3368         return VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT;
3369 }
3370
3371 template<> VkStructureType getStructureType<VkSubresourceLayout2EXT> (void)
3372 {
3373         return VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT;
3374 }
3375
3376 template<> VkStructureType getStructureType<VkRenderPassCreationControlEXT> (void)
3377 {
3378         return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT;
3379 }
3380
3381 template<> VkStructureType getStructureType<VkRenderPassCreationFeedbackCreateInfoEXT> (void)
3382 {
3383         return VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT;
3384 }
3385
3386 template<> VkStructureType getStructureType<VkRenderPassSubpassFeedbackCreateInfoEXT> (void)
3387 {
3388         return VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT;
3389 }
3390
3391 template<> VkStructureType getStructureType<VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT> (void)
3392 {
3393         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT;
3394 }
3395
3396 template<> VkStructureType getStructureType<VkMicromapBuildInfoEXT> (void)
3397 {
3398         return VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT;
3399 }
3400
3401 template<> VkStructureType getStructureType<VkMicromapCreateInfoEXT> (void)
3402 {
3403         return VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT;
3404 }
3405
3406 template<> VkStructureType getStructureType<VkMicromapVersionInfoEXT> (void)
3407 {
3408         return VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT;
3409 }
3410
3411 template<> VkStructureType getStructureType<VkCopyMicromapInfoEXT> (void)
3412 {
3413         return VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT;
3414 }
3415
3416 template<> VkStructureType getStructureType<VkCopyMicromapToMemoryInfoEXT> (void)
3417 {
3418         return VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT;
3419 }
3420
3421 template<> VkStructureType getStructureType<VkCopyMemoryToMicromapInfoEXT> (void)
3422 {
3423         return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT;
3424 }
3425
3426 template<> VkStructureType getStructureType<VkMicromapBuildSizesInfoEXT> (void)
3427 {
3428         return VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT;
3429 }
3430
3431 template<> VkStructureType getStructureType<VkPhysicalDeviceOpacityMicromapFeaturesEXT> (void)
3432 {
3433         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT;
3434 }
3435
3436 template<> VkStructureType getStructureType<VkPhysicalDeviceOpacityMicromapPropertiesEXT> (void)
3437 {
3438         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT;
3439 }
3440
3441 template<> VkStructureType getStructureType<VkAccelerationStructureTrianglesOpacityMicromapEXT> (void)
3442 {
3443         return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT;
3444 }
3445
3446 template<> VkStructureType getStructureType<VkPipelinePropertiesIdentifierEXT> (void)
3447 {
3448         return VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT;
3449 }
3450
3451 template<> VkStructureType getStructureType<VkPhysicalDevicePipelinePropertiesFeaturesEXT> (void)
3452 {
3453         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT;
3454 }
3455
3456 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD> (void)
3457 {
3458         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD;
3459 }
3460
3461 template<> VkStructureType getStructureType<VkExportMetalObjectCreateInfoEXT> (void)
3462 {
3463         return VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT;
3464 }
3465
3466 template<> VkStructureType getStructureType<VkExportMetalObjectsInfoEXT> (void)
3467 {
3468         return VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT;
3469 }
3470
3471 template<> VkStructureType getStructureType<VkExportMetalDeviceInfoEXT> (void)
3472 {
3473         return VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT;
3474 }
3475
3476 template<> VkStructureType getStructureType<VkExportMetalCommandQueueInfoEXT> (void)
3477 {
3478         return VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT;
3479 }
3480
3481 template<> VkStructureType getStructureType<VkExportMetalBufferInfoEXT> (void)
3482 {
3483         return VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT;
3484 }
3485
3486 template<> VkStructureType getStructureType<VkImportMetalBufferInfoEXT> (void)
3487 {
3488         return VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT;
3489 }
3490
3491 template<> VkStructureType getStructureType<VkExportMetalTextureInfoEXT> (void)
3492 {
3493         return VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT;
3494 }
3495
3496 template<> VkStructureType getStructureType<VkImportMetalTextureInfoEXT> (void)
3497 {
3498         return VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT;
3499 }
3500
3501 template<> VkStructureType getStructureType<VkExportMetalIOSurfaceInfoEXT> (void)
3502 {
3503         return VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT;
3504 }
3505
3506 template<> VkStructureType getStructureType<VkImportMetalIOSurfaceInfoEXT> (void)
3507 {
3508         return VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT;
3509 }
3510
3511 template<> VkStructureType getStructureType<VkExportMetalSharedEventInfoEXT> (void)
3512 {
3513         return VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT;
3514 }
3515
3516 template<> VkStructureType getStructureType<VkImportMetalSharedEventInfoEXT> (void)
3517 {
3518         return VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT;
3519 }
3520
3521 template<> VkStructureType getStructureType<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT> (void)
3522 {
3523         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT;
3524 }
3525
3526 template<> VkStructureType getStructureType<VkPhysicalDevicePipelineRobustnessFeaturesEXT> (void)
3527 {
3528         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT;
3529 }
3530
3531 template<> VkStructureType getStructureType<VkPipelineRobustnessCreateInfoEXT> (void)
3532 {
3533         return VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT;
3534 }
3535
3536 template<> VkStructureType getStructureType<VkPhysicalDevicePipelineRobustnessPropertiesEXT> (void)
3537 {
3538         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT;
3539 }
3540
3541 template<> VkStructureType getStructureType<VkImageViewSampleWeightCreateInfoQCOM> (void)
3542 {
3543         return VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM;
3544 }
3545
3546 template<> VkStructureType getStructureType<VkPhysicalDeviceImageProcessingFeaturesQCOM> (void)
3547 {
3548         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM;
3549 }
3550
3551 template<> VkStructureType getStructureType<VkPhysicalDeviceImageProcessingPropertiesQCOM> (void)
3552 {
3553         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM;
3554 }
3555
3556 template<> VkStructureType getStructureType<VkPhysicalDeviceTilePropertiesFeaturesQCOM> (void)
3557 {
3558         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM;
3559 }
3560
3561 template<> VkStructureType getStructureType<VkTilePropertiesQCOM> (void)
3562 {
3563         return VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM;
3564 }
3565
3566 template<> VkStructureType getStructureType<VkPhysicalDeviceAmigoProfilingFeaturesSEC> (void)
3567 {
3568         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC;
3569 }
3570
3571 template<> VkStructureType getStructureType<VkAmigoProfilingSubmitInfoSEC> (void)
3572 {
3573         return VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC;
3574 }
3575
3576 template<> VkStructureType getStructureType<VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT> (void)
3577 {
3578         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT;
3579 }
3580
3581 template<> VkStructureType getStructureType<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT> (void)
3582 {
3583         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT;
3584 }
3585
3586 template<> VkStructureType getStructureType<VkPhysicalDeviceAddressBindingReportFeaturesEXT> (void)
3587 {
3588         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT;
3589 }
3590
3591 template<> VkStructureType getStructureType<VkDeviceAddressBindingCallbackDataEXT> (void)
3592 {
3593         return VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT;
3594 }
3595
3596 template<> VkStructureType getStructureType<VkPhysicalDeviceOpticalFlowFeaturesNV> (void)
3597 {
3598         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV;
3599 }
3600
3601 template<> VkStructureType getStructureType<VkPhysicalDeviceOpticalFlowPropertiesNV> (void)
3602 {
3603         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV;
3604 }
3605
3606 template<> VkStructureType getStructureType<VkOpticalFlowImageFormatInfoNV> (void)
3607 {
3608         return VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV;
3609 }
3610
3611 template<> VkStructureType getStructureType<VkOpticalFlowImageFormatPropertiesNV> (void)
3612 {
3613         return VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV;
3614 }
3615
3616 template<> VkStructureType getStructureType<VkOpticalFlowSessionCreateInfoNV> (void)
3617 {
3618         return VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV;
3619 }
3620
3621 template<> VkStructureType getStructureType<VkOpticalFlowSessionCreatePrivateDataInfoNV> (void)
3622 {
3623         return VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV;
3624 }
3625
3626 template<> VkStructureType getStructureType<VkOpticalFlowExecuteInfoNV> (void)
3627 {
3628         return VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV;
3629 }
3630
3631 template<> VkStructureType getStructureType<VkPhysicalDeviceFaultFeaturesEXT> (void)
3632 {
3633         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT;
3634 }
3635
3636 template<> VkStructureType getStructureType<VkDeviceFaultCountsEXT> (void)
3637 {
3638         return VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT;
3639 }
3640
3641 template<> VkStructureType getStructureType<VkDeviceFaultInfoEXT> (void)
3642 {
3643         return VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT;
3644 }
3645
3646 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM> (void)
3647 {
3648         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM;
3649 }
3650
3651 template<> VkStructureType getStructureType<VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM> (void)
3652 {
3653         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM;
3654 }
3655
3656 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV> (void)
3657 {
3658         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV;
3659 }
3660
3661 template<> VkStructureType getStructureType<VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV> (void)
3662 {
3663         return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV;
3664 }
3665