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