• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2025 The Khronos Group Inc.
2 //
3 // SPDX-License-Identifier: Apache-2.0 OR MIT
4 //
5 
6 // This header is generated from the Khronos Vulkan XML API Registry.
7 
8 #ifndef VULKAN_EXTENSION_INSPECTION_HPP
9 #define VULKAN_EXTENSION_INSPECTION_HPP
10 
11 #if defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE )
12 import VULKAN_HPP_STD_MODULE;
13 #else
14 #  include <map>
15 #  include <set>
16 #  include <string>
17 #  include <vector>
18 #  include <vulkan/vulkan.hpp>
19 #endif
20 
21 namespace VULKAN_HPP_NAMESPACE
22 {
23   //======================================
24   //=== Extension inspection functions ===
25   //======================================
26 
27   std::set<std::string> const &                                        getDeviceExtensions();
28   std::set<std::string> const &                                        getInstanceExtensions();
29   std::map<std::string, std::string> const &                           getDeprecatedExtensions();
30   std::map<std::string, std::vector<std::vector<std::string>>> const & getExtensionDepends( std::string const & extension );
31   std::pair<bool, std::vector<std::vector<std::string>> const &>       getExtensionDepends( std::string const & version, std::string const & extension );
32   std::map<std::string, std::string> const &                           getObsoletedExtensions();
33   std::map<std::string, std::string> const &                           getPromotedExtensions();
34   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionDeprecatedBy( std::string const & extension );
35   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionObsoletedBy( std::string const & extension );
36   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionPromotedTo( std::string const & extension );
37   VULKAN_HPP_CONSTEXPR_20 bool        isDeprecatedExtension( std::string const & extension );
38   VULKAN_HPP_CONSTEXPR_20 bool        isDeviceExtension( std::string const & extension );
39   VULKAN_HPP_CONSTEXPR_20 bool        isInstanceExtension( std::string const & extension );
40   VULKAN_HPP_CONSTEXPR_20 bool        isObsoletedExtension( std::string const & extension );
41   VULKAN_HPP_CONSTEXPR_20 bool        isPromotedExtension( std::string const & extension );
42 
43   //=====================================================
44   //=== Extension inspection function implementations ===
45   //=====================================================
46 
getDeprecatedExtensions()47   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getDeprecatedExtensions()
48   {
49     static const std::map<std::string, std::string> deprecatedExtensions = {
50       { "VK_EXT_debug_report", "VK_EXT_debug_utils" },
51       { "VK_NV_glsl_shader", "" },
52       { "VK_NV_dedicated_allocation", "VK_KHR_dedicated_allocation" },
53       { "VK_AMD_gpu_shader_half_float", "VK_KHR_shader_float16_int8" },
54       { "VK_IMG_format_pvrtc", "" },
55       { "VK_NV_external_memory_capabilities", "VK_KHR_external_memory_capabilities" },
56       { "VK_NV_external_memory", "VK_KHR_external_memory" },
57 #if defined( VK_USE_PLATFORM_WIN32_KHR )
58       { "VK_NV_external_memory_win32", "VK_KHR_external_memory_win32" },
59 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
60       { "VK_EXT_validation_flags", "VK_EXT_layer_settings" },
61       { "VK_EXT_shader_subgroup_ballot", "VK_VERSION_1_2" },
62       { "VK_EXT_shader_subgroup_vote", "VK_VERSION_1_1" },
63 #if defined( VK_USE_PLATFORM_IOS_MVK )
64       { "VK_MVK_ios_surface", "VK_EXT_metal_surface" },
65 #endif /*VK_USE_PLATFORM_IOS_MVK*/
66 #if defined( VK_USE_PLATFORM_MACOS_MVK )
67       { "VK_MVK_macos_surface", "VK_EXT_metal_surface" },
68 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
69       { "VK_AMD_gpu_shader_int16", "VK_KHR_shader_float16_int8" },
70       { "VK_NV_ray_tracing", "VK_KHR_ray_tracing_pipeline" },
71       { "VK_EXT_buffer_device_address", "VK_KHR_buffer_device_address" },
72       { "VK_EXT_validation_features", "VK_EXT_layer_settings" }
73     };
74     return deprecatedExtensions;
75   }
76 
getDeviceExtensions()77   VULKAN_HPP_INLINE std::set<std::string> const & getDeviceExtensions()
78   {
79     static const std::set<std::string> deviceExtensions = {
80       "VK_KHR_swapchain",
81       "VK_KHR_display_swapchain",
82       "VK_NV_glsl_shader",
83       "VK_EXT_depth_range_unrestricted",
84       "VK_KHR_sampler_mirror_clamp_to_edge",
85       "VK_IMG_filter_cubic",
86       "VK_AMD_rasterization_order",
87       "VK_AMD_shader_trinary_minmax",
88       "VK_AMD_shader_explicit_vertex_parameter",
89       "VK_EXT_debug_marker",
90       "VK_KHR_video_queue",
91       "VK_KHR_video_decode_queue",
92       "VK_AMD_gcn_shader",
93       "VK_NV_dedicated_allocation",
94       "VK_EXT_transform_feedback",
95       "VK_NVX_binary_import",
96       "VK_NVX_image_view_handle",
97       "VK_AMD_draw_indirect_count",
98       "VK_AMD_negative_viewport_height",
99       "VK_AMD_gpu_shader_half_float",
100       "VK_AMD_shader_ballot",
101       "VK_KHR_video_encode_h264",
102       "VK_KHR_video_encode_h265",
103       "VK_KHR_video_decode_h264",
104       "VK_AMD_texture_gather_bias_lod",
105       "VK_AMD_shader_info",
106       "VK_KHR_dynamic_rendering",
107       "VK_AMD_shader_image_load_store_lod",
108       "VK_NV_corner_sampled_image",
109       "VK_KHR_multiview",
110       "VK_IMG_format_pvrtc",
111       "VK_NV_external_memory",
112 #if defined( VK_USE_PLATFORM_WIN32_KHR )
113       "VK_NV_external_memory_win32",
114       "VK_NV_win32_keyed_mutex",
115 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
116       "VK_KHR_device_group",
117       "VK_KHR_shader_draw_parameters",
118       "VK_EXT_shader_subgroup_ballot",
119       "VK_EXT_shader_subgroup_vote",
120       "VK_EXT_texture_compression_astc_hdr",
121       "VK_EXT_astc_decode_mode",
122       "VK_EXT_pipeline_robustness",
123       "VK_KHR_maintenance1",
124       "VK_KHR_external_memory",
125 #if defined( VK_USE_PLATFORM_WIN32_KHR )
126       "VK_KHR_external_memory_win32",
127 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
128       "VK_KHR_external_memory_fd",
129 #if defined( VK_USE_PLATFORM_WIN32_KHR )
130       "VK_KHR_win32_keyed_mutex",
131 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
132       "VK_KHR_external_semaphore",
133 #if defined( VK_USE_PLATFORM_WIN32_KHR )
134       "VK_KHR_external_semaphore_win32",
135 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
136       "VK_KHR_external_semaphore_fd",
137       "VK_KHR_push_descriptor",
138       "VK_EXT_conditional_rendering",
139       "VK_KHR_shader_float16_int8",
140       "VK_KHR_16bit_storage",
141       "VK_KHR_incremental_present",
142       "VK_KHR_descriptor_update_template",
143       "VK_NV_clip_space_w_scaling",
144       "VK_EXT_display_control",
145       "VK_GOOGLE_display_timing",
146       "VK_NV_sample_mask_override_coverage",
147       "VK_NV_geometry_shader_passthrough",
148       "VK_NV_viewport_array2",
149       "VK_NVX_multiview_per_view_attributes",
150       "VK_NV_viewport_swizzle",
151       "VK_EXT_discard_rectangles",
152       "VK_EXT_conservative_rasterization",
153       "VK_EXT_depth_clip_enable",
154       "VK_EXT_hdr_metadata",
155       "VK_KHR_imageless_framebuffer",
156       "VK_KHR_create_renderpass2",
157       "VK_IMG_relaxed_line_rasterization",
158       "VK_KHR_shared_presentable_image",
159       "VK_KHR_external_fence",
160 #if defined( VK_USE_PLATFORM_WIN32_KHR )
161       "VK_KHR_external_fence_win32",
162 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
163       "VK_KHR_external_fence_fd",
164       "VK_KHR_performance_query",
165       "VK_KHR_maintenance2",
166       "VK_KHR_variable_pointers",
167       "VK_EXT_external_memory_dma_buf",
168       "VK_EXT_queue_family_foreign",
169       "VK_KHR_dedicated_allocation",
170 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
171       "VK_ANDROID_external_memory_android_hardware_buffer",
172 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
173       "VK_EXT_sampler_filter_minmax",
174       "VK_KHR_storage_buffer_storage_class",
175       "VK_AMD_gpu_shader_int16",
176 #if defined( VK_ENABLE_BETA_EXTENSIONS )
177       "VK_AMDX_shader_enqueue",
178 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
179       "VK_AMD_mixed_attachment_samples",
180       "VK_AMD_shader_fragment_mask",
181       "VK_EXT_inline_uniform_block",
182       "VK_EXT_shader_stencil_export",
183       "VK_EXT_sample_locations",
184       "VK_KHR_relaxed_block_layout",
185       "VK_KHR_get_memory_requirements2",
186       "VK_KHR_image_format_list",
187       "VK_EXT_blend_operation_advanced",
188       "VK_NV_fragment_coverage_to_color",
189       "VK_KHR_acceleration_structure",
190       "VK_KHR_ray_tracing_pipeline",
191       "VK_KHR_ray_query",
192       "VK_NV_framebuffer_mixed_samples",
193       "VK_NV_fill_rectangle",
194       "VK_NV_shader_sm_builtins",
195       "VK_EXT_post_depth_coverage",
196       "VK_KHR_sampler_ycbcr_conversion",
197       "VK_KHR_bind_memory2",
198       "VK_EXT_image_drm_format_modifier",
199       "VK_EXT_validation_cache",
200       "VK_EXT_descriptor_indexing",
201       "VK_EXT_shader_viewport_index_layer",
202 #if defined( VK_ENABLE_BETA_EXTENSIONS )
203       "VK_KHR_portability_subset",
204 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
205       "VK_NV_shading_rate_image",
206       "VK_NV_ray_tracing",
207       "VK_NV_representative_fragment_test",
208       "VK_KHR_maintenance3",
209       "VK_KHR_draw_indirect_count",
210       "VK_EXT_filter_cubic",
211       "VK_QCOM_render_pass_shader_resolve",
212       "VK_EXT_global_priority",
213       "VK_KHR_shader_subgroup_extended_types",
214       "VK_KHR_8bit_storage",
215       "VK_EXT_external_memory_host",
216       "VK_AMD_buffer_marker",
217       "VK_KHR_shader_atomic_int64",
218       "VK_KHR_shader_clock",
219       "VK_AMD_pipeline_compiler_control",
220       "VK_EXT_calibrated_timestamps",
221       "VK_AMD_shader_core_properties",
222       "VK_KHR_video_decode_h265",
223       "VK_KHR_global_priority",
224       "VK_AMD_memory_overallocation_behavior",
225       "VK_EXT_vertex_attribute_divisor",
226 #if defined( VK_USE_PLATFORM_GGP )
227       "VK_GGP_frame_token",
228 #endif /*VK_USE_PLATFORM_GGP*/
229       "VK_EXT_pipeline_creation_feedback",
230       "VK_KHR_driver_properties",
231       "VK_KHR_shader_float_controls",
232       "VK_NV_shader_subgroup_partitioned",
233       "VK_KHR_depth_stencil_resolve",
234       "VK_KHR_swapchain_mutable_format",
235       "VK_NV_compute_shader_derivatives",
236       "VK_NV_mesh_shader",
237       "VK_NV_fragment_shader_barycentric",
238       "VK_NV_shader_image_footprint",
239       "VK_NV_scissor_exclusive",
240       "VK_NV_device_diagnostic_checkpoints",
241       "VK_KHR_timeline_semaphore",
242       "VK_INTEL_shader_integer_functions2",
243       "VK_INTEL_performance_query",
244       "VK_KHR_vulkan_memory_model",
245       "VK_EXT_pci_bus_info",
246       "VK_AMD_display_native_hdr",
247       "VK_KHR_shader_terminate_invocation",
248       "VK_EXT_fragment_density_map",
249       "VK_EXT_scalar_block_layout",
250       "VK_GOOGLE_hlsl_functionality1",
251       "VK_GOOGLE_decorate_string",
252       "VK_EXT_subgroup_size_control",
253       "VK_KHR_fragment_shading_rate",
254       "VK_AMD_shader_core_properties2",
255       "VK_AMD_device_coherent_memory",
256       "VK_KHR_dynamic_rendering_local_read",
257       "VK_EXT_shader_image_atomic_int64",
258       "VK_KHR_shader_quad_control",
259       "VK_KHR_spirv_1_4",
260       "VK_EXT_memory_budget",
261       "VK_EXT_memory_priority",
262       "VK_NV_dedicated_allocation_image_aliasing",
263       "VK_KHR_separate_depth_stencil_layouts",
264       "VK_EXT_buffer_device_address",
265       "VK_EXT_tooling_info",
266       "VK_EXT_separate_stencil_usage",
267       "VK_KHR_present_wait",
268       "VK_NV_cooperative_matrix",
269       "VK_NV_coverage_reduction_mode",
270       "VK_EXT_fragment_shader_interlock",
271       "VK_EXT_ycbcr_image_arrays",
272       "VK_KHR_uniform_buffer_standard_layout",
273       "VK_EXT_provoking_vertex",
274 #if defined( VK_USE_PLATFORM_WIN32_KHR )
275       "VK_EXT_full_screen_exclusive",
276 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
277       "VK_KHR_buffer_device_address",
278       "VK_EXT_line_rasterization",
279       "VK_EXT_shader_atomic_float",
280       "VK_EXT_host_query_reset",
281       "VK_EXT_index_type_uint8",
282       "VK_EXT_extended_dynamic_state",
283       "VK_KHR_deferred_host_operations",
284       "VK_KHR_pipeline_executable_properties",
285       "VK_EXT_host_image_copy",
286       "VK_KHR_map_memory2",
287       "VK_EXT_map_memory_placed",
288       "VK_EXT_shader_atomic_float2",
289       "VK_EXT_swapchain_maintenance1",
290       "VK_EXT_shader_demote_to_helper_invocation",
291       "VK_NV_device_generated_commands",
292       "VK_NV_inherited_viewport_scissor",
293       "VK_KHR_shader_integer_dot_product",
294       "VK_EXT_texel_buffer_alignment",
295       "VK_QCOM_render_pass_transform",
296       "VK_EXT_depth_bias_control",
297       "VK_EXT_device_memory_report",
298       "VK_EXT_robustness2",
299       "VK_EXT_custom_border_color",
300       "VK_GOOGLE_user_type",
301       "VK_KHR_pipeline_library",
302       "VK_NV_present_barrier",
303       "VK_KHR_shader_non_semantic_info",
304       "VK_KHR_present_id",
305       "VK_EXT_private_data",
306       "VK_EXT_pipeline_creation_cache_control",
307       "VK_KHR_video_encode_queue",
308       "VK_NV_device_diagnostics_config",
309       "VK_QCOM_render_pass_store_ops",
310 #if defined( VK_ENABLE_BETA_EXTENSIONS )
311       "VK_NV_cuda_kernel_launch",
312 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
313       "VK_NV_low_latency",
314 #if defined( VK_USE_PLATFORM_METAL_EXT )
315       "VK_EXT_metal_objects",
316 #endif /*VK_USE_PLATFORM_METAL_EXT*/
317       "VK_KHR_synchronization2",
318       "VK_EXT_descriptor_buffer",
319       "VK_EXT_graphics_pipeline_library",
320       "VK_AMD_shader_early_and_late_fragment_tests",
321       "VK_KHR_fragment_shader_barycentric",
322       "VK_KHR_shader_subgroup_uniform_control_flow",
323       "VK_KHR_zero_initialize_workgroup_memory",
324       "VK_NV_fragment_shading_rate_enums",
325       "VK_NV_ray_tracing_motion_blur",
326       "VK_EXT_mesh_shader",
327       "VK_EXT_ycbcr_2plane_444_formats",
328       "VK_EXT_fragment_density_map2",
329       "VK_QCOM_rotated_copy_commands",
330       "VK_EXT_image_robustness",
331       "VK_KHR_workgroup_memory_explicit_layout",
332       "VK_KHR_copy_commands2",
333       "VK_EXT_image_compression_control",
334       "VK_EXT_attachment_feedback_loop_layout",
335       "VK_EXT_4444_formats",
336       "VK_EXT_device_fault",
337       "VK_ARM_rasterization_order_attachment_access",
338       "VK_EXT_rgba10x6_formats",
339 #if defined( VK_USE_PLATFORM_WIN32_KHR )
340       "VK_NV_acquire_winrt_display",
341 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
342       "VK_VALVE_mutable_descriptor_type",
343       "VK_EXT_vertex_input_dynamic_state",
344       "VK_EXT_physical_device_drm",
345       "VK_EXT_device_address_binding_report",
346       "VK_EXT_depth_clip_control",
347       "VK_EXT_primitive_topology_list_restart",
348       "VK_KHR_format_feature_flags2",
349       "VK_EXT_present_mode_fifo_latest_ready",
350 #if defined( VK_USE_PLATFORM_FUCHSIA )
351       "VK_FUCHSIA_external_memory",
352       "VK_FUCHSIA_external_semaphore",
353       "VK_FUCHSIA_buffer_collection",
354 #endif /*VK_USE_PLATFORM_FUCHSIA*/
355       "VK_HUAWEI_subpass_shading",
356       "VK_HUAWEI_invocation_mask",
357       "VK_NV_external_memory_rdma",
358       "VK_EXT_pipeline_properties",
359       "VK_EXT_frame_boundary",
360       "VK_EXT_multisampled_render_to_single_sampled",
361       "VK_EXT_extended_dynamic_state2",
362       "VK_EXT_color_write_enable",
363       "VK_EXT_primitives_generated_query",
364       "VK_KHR_ray_tracing_maintenance1",
365       "VK_EXT_global_priority_query",
366       "VK_EXT_image_view_min_lod",
367       "VK_EXT_multi_draw",
368       "VK_EXT_image_2d_view_of_3d",
369       "VK_EXT_shader_tile_image",
370       "VK_EXT_opacity_micromap",
371 #if defined( VK_ENABLE_BETA_EXTENSIONS )
372       "VK_NV_displacement_micromap",
373 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
374       "VK_EXT_load_store_op_none",
375       "VK_HUAWEI_cluster_culling_shader",
376       "VK_EXT_border_color_swizzle",
377       "VK_EXT_pageable_device_local_memory",
378       "VK_KHR_maintenance4",
379       "VK_ARM_shader_core_properties",
380       "VK_KHR_shader_subgroup_rotate",
381       "VK_ARM_scheduling_controls",
382       "VK_EXT_image_sliced_view_of_3d",
383       "VK_VALVE_descriptor_set_host_mapping",
384       "VK_EXT_depth_clamp_zero_one",
385       "VK_EXT_non_seamless_cube_map",
386       "VK_ARM_render_pass_striped",
387       "VK_QCOM_fragment_density_map_offset",
388       "VK_NV_copy_memory_indirect",
389       "VK_NV_memory_decompression",
390       "VK_NV_device_generated_commands_compute",
391       "VK_NV_ray_tracing_linear_swept_spheres",
392       "VK_NV_linear_color_attachment",
393       "VK_KHR_shader_maximal_reconvergence",
394       "VK_EXT_image_compression_control_swapchain",
395       "VK_QCOM_image_processing",
396       "VK_EXT_nested_command_buffer",
397       "VK_EXT_external_memory_acquire_unmodified",
398       "VK_EXT_extended_dynamic_state3",
399       "VK_EXT_subpass_merge_feedback",
400       "VK_EXT_shader_module_identifier",
401       "VK_EXT_rasterization_order_attachment_access",
402       "VK_NV_optical_flow",
403       "VK_EXT_legacy_dithering",
404       "VK_EXT_pipeline_protected_access",
405 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
406       "VK_ANDROID_external_format_resolve",
407 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
408       "VK_KHR_maintenance5",
409       "VK_AMD_anti_lag",
410       "VK_KHR_ray_tracing_position_fetch",
411       "VK_EXT_shader_object",
412       "VK_KHR_pipeline_binary",
413       "VK_QCOM_tile_properties",
414       "VK_SEC_amigo_profiling",
415       "VK_QCOM_multiview_per_view_viewports",
416       "VK_NV_ray_tracing_invocation_reorder",
417       "VK_NV_cooperative_vector",
418       "VK_NV_extended_sparse_address_space",
419       "VK_EXT_mutable_descriptor_type",
420       "VK_EXT_legacy_vertex_attributes",
421       "VK_ARM_shader_core_builtins",
422       "VK_EXT_pipeline_library_group_handles",
423       "VK_EXT_dynamic_rendering_unused_attachments",
424       "VK_NV_low_latency2",
425       "VK_KHR_cooperative_matrix",
426       "VK_QCOM_multiview_per_view_render_areas",
427       "VK_KHR_compute_shader_derivatives",
428       "VK_KHR_video_decode_av1",
429       "VK_KHR_video_encode_av1",
430       "VK_KHR_video_maintenance1",
431       "VK_NV_per_stage_descriptor_set",
432       "VK_QCOM_image_processing2",
433       "VK_QCOM_filter_cubic_weights",
434       "VK_QCOM_ycbcr_degamma",
435       "VK_QCOM_filter_cubic_clamp",
436       "VK_EXT_attachment_feedback_loop_dynamic_state",
437       "VK_KHR_vertex_attribute_divisor",
438       "VK_KHR_load_store_op_none",
439       "VK_KHR_shader_float_controls2",
440 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
441       "VK_QNX_external_memory_screen_buffer",
442 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
443       "VK_MSFT_layered_driver",
444       "VK_KHR_index_type_uint8",
445       "VK_KHR_line_rasterization",
446       "VK_KHR_calibrated_timestamps",
447       "VK_KHR_shader_expect_assume",
448       "VK_KHR_maintenance6",
449       "VK_NV_descriptor_pool_overallocation",
450       "VK_KHR_video_encode_quantization_map",
451       "VK_NV_raw_access_chains",
452       "VK_KHR_shader_relaxed_extended_instruction",
453       "VK_NV_command_buffer_inheritance",
454       "VK_KHR_maintenance7",
455       "VK_NV_shader_atomic_float16_vector",
456       "VK_EXT_shader_replicated_composites",
457       "VK_NV_ray_tracing_validation",
458       "VK_NV_cluster_acceleration_structure",
459       "VK_NV_partitioned_acceleration_structure",
460       "VK_EXT_device_generated_commands",
461       "VK_KHR_maintenance8",
462       "VK_MESA_image_alignment_control",
463       "VK_EXT_depth_clamp_control",
464       "VK_KHR_video_maintenance2",
465       "VK_HUAWEI_hdr_vivid",
466       "VK_NV_cooperative_matrix2",
467       "VK_ARM_pipeline_opacity_micromap",
468 #if defined( VK_USE_PLATFORM_METAL_EXT )
469       "VK_EXT_external_memory_metal",
470 #endif /*VK_USE_PLATFORM_METAL_EXT*/
471       "VK_KHR_depth_clamp_zero_one",
472       "VK_EXT_vertex_attribute_robustness",
473 #if defined( VK_ENABLE_BETA_EXTENSIONS )
474       "VK_NV_present_metering"
475 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
476     };
477     return deviceExtensions;
478   }
479 
getInstanceExtensions()480   VULKAN_HPP_INLINE std::set<std::string> const & getInstanceExtensions()
481   {
482     static const std::set<std::string> instanceExtensions = {
483       "VK_KHR_surface",
484       "VK_KHR_display",
485 #if defined( VK_USE_PLATFORM_XLIB_KHR )
486       "VK_KHR_xlib_surface",
487 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
488 #if defined( VK_USE_PLATFORM_XCB_KHR )
489       "VK_KHR_xcb_surface",
490 #endif /*VK_USE_PLATFORM_XCB_KHR*/
491 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
492       "VK_KHR_wayland_surface",
493 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
494 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
495       "VK_KHR_android_surface",
496 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
497 #if defined( VK_USE_PLATFORM_OHOS )
498       "VK_OHOS_surface",
499 #endif /*VK_USE_PLATFORM_OHOS*/
500 #if defined( VK_USE_PLATFORM_WIN32_KHR )
501       "VK_KHR_win32_surface",
502 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
503       "VK_EXT_debug_report",
504 #if defined( VK_USE_PLATFORM_GGP )
505       "VK_GGP_stream_descriptor_surface",
506 #endif /*VK_USE_PLATFORM_GGP*/
507       "VK_NV_external_memory_capabilities",
508       "VK_KHR_get_physical_device_properties2",
509       "VK_EXT_validation_flags",
510 #if defined( VK_USE_PLATFORM_VI_NN )
511       "VK_NN_vi_surface",
512 #endif /*VK_USE_PLATFORM_VI_NN*/
513       "VK_KHR_device_group_creation",
514       "VK_KHR_external_memory_capabilities",
515       "VK_KHR_external_semaphore_capabilities",
516       "VK_EXT_direct_mode_display",
517 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
518       "VK_EXT_acquire_xlib_display",
519 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
520       "VK_EXT_display_surface_counter",
521       "VK_EXT_swapchain_colorspace",
522       "VK_KHR_external_fence_capabilities",
523       "VK_KHR_get_surface_capabilities2",
524       "VK_KHR_get_display_properties2",
525 #if defined( VK_USE_PLATFORM_IOS_MVK )
526       "VK_MVK_ios_surface",
527 #endif /*VK_USE_PLATFORM_IOS_MVK*/
528 #if defined( VK_USE_PLATFORM_MACOS_MVK )
529       "VK_MVK_macos_surface",
530 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
531       "VK_EXT_debug_utils",
532 #if defined( VK_USE_PLATFORM_FUCHSIA )
533       "VK_FUCHSIA_imagepipe_surface",
534 #endif /*VK_USE_PLATFORM_FUCHSIA*/
535 #if defined( VK_USE_PLATFORM_METAL_EXT )
536       "VK_EXT_metal_surface",
537 #endif /*VK_USE_PLATFORM_METAL_EXT*/
538       "VK_KHR_surface_protected_capabilities",
539       "VK_EXT_validation_features",
540       "VK_EXT_headless_surface",
541       "VK_EXT_surface_maintenance1",
542       "VK_EXT_acquire_drm_display",
543 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
544       "VK_EXT_directfb_surface",
545 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
546 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
547       "VK_QNX_screen_surface",
548 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
549       "VK_KHR_portability_enumeration",
550       "VK_GOOGLE_surfaceless_query",
551       "VK_LUNARG_direct_driver_loading",
552       "VK_EXT_layer_settings",
553       "VK_NV_display_stereo"
554     };
555     return instanceExtensions;
556   }
557 
getExtensionDepends(std::string const & extension)558   VULKAN_HPP_INLINE std::map<std::string, std::vector<std::vector<std::string>>> const & getExtensionDepends( std::string const & extension )
559   {
560     static const std::map<std::string, std::vector<std::vector<std::string>>>                        noDependencies;
561     static const std::map<std::string, std::map<std::string, std::vector<std::vector<std::string>>>> dependencies = {
562       { "VK_KHR_swapchain",
563         { { "VK_VERSION_1_0",
564             { {
565               "VK_KHR_surface",
566             } } } } },
567       { "VK_KHR_display",
568         { { "VK_VERSION_1_0",
569             { {
570               "VK_KHR_surface",
571             } } } } },
572       { "VK_KHR_display_swapchain",
573         { { "VK_VERSION_1_0",
574             { {
575               "VK_KHR_swapchain",
576               "VK_KHR_display",
577             } } } } },
578 #if defined( VK_USE_PLATFORM_XLIB_KHR )
579       { "VK_KHR_xlib_surface",
580         { { "VK_VERSION_1_0",
581             { {
582               "VK_KHR_surface",
583             } } } } },
584 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
585 #if defined( VK_USE_PLATFORM_XCB_KHR )
586       { "VK_KHR_xcb_surface",
587         { { "VK_VERSION_1_0",
588             { {
589               "VK_KHR_surface",
590             } } } } },
591 #endif /*VK_USE_PLATFORM_XCB_KHR*/
592 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
593       { "VK_KHR_wayland_surface",
594         { { "VK_VERSION_1_0",
595             { {
596               "VK_KHR_surface",
597             } } } } },
598 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
599 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
600       { "VK_KHR_android_surface",
601         { { "VK_VERSION_1_0",
602             { {
603               "VK_KHR_surface",
604             } } } } },
605 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
606 #if defined( VK_USE_PLATFORM_OHOS )
607       { "VK_OHOS_surface",
608         { { "VK_VERSION_1_0",
609             { {
610               "VK_KHR_surface",
611             } } } } },
612 #endif /*VK_USE_PLATFORM_OHOS*/
613 #if defined( VK_USE_PLATFORM_WIN32_KHR )
614       { "VK_KHR_win32_surface",
615         { { "VK_VERSION_1_0",
616             { {
617               "VK_KHR_surface",
618             } } } } },
619 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
620       { "VK_EXT_debug_marker",
621         { { "VK_VERSION_1_0",
622             { {
623               "VK_EXT_debug_report",
624             } } } } },
625       { "VK_KHR_video_queue",
626         { { "VK_VERSION_1_1",
627             { {
628               "VK_KHR_synchronization2",
629             } } },
630           { "VK_VERSION_1_3", { {} } } } },
631       { "VK_KHR_video_decode_queue",
632         { { "VK_VERSION_1_0",
633             { {
634               "VK_KHR_video_queue",
635               "VK_KHR_synchronization2",
636             } } },
637           { "VK_VERSION_1_3", { {} } } } },
638       { "VK_EXT_transform_feedback",
639         { { "VK_VERSION_1_0",
640             { {
641               "VK_KHR_get_physical_device_properties2",
642             } } },
643           { "VK_VERSION_1_1", { {} } } } },
644       { "VK_KHR_video_encode_h264",
645         { { "VK_VERSION_1_0",
646             { {
647               "VK_KHR_video_encode_queue",
648             } } } } },
649       { "VK_KHR_video_encode_h265",
650         { { "VK_VERSION_1_0",
651             { {
652               "VK_KHR_video_encode_queue",
653             } } } } },
654       { "VK_KHR_video_decode_h264",
655         { { "VK_VERSION_1_0",
656             { {
657               "VK_KHR_video_decode_queue",
658             } } } } },
659       { "VK_AMD_texture_gather_bias_lod",
660         { { "VK_VERSION_1_0",
661             { {
662               "VK_KHR_get_physical_device_properties2",
663             } } },
664           { "VK_VERSION_1_1", { {} } } } },
665       { "VK_KHR_dynamic_rendering",
666         { { "VK_VERSION_1_0",
667             { {
668               "VK_KHR_get_physical_device_properties2",
669             } } },
670           { "VK_VERSION_1_1",
671             { {
672               "VK_KHR_depth_stencil_resolve",
673             } } },
674           { "VK_VERSION_1_2", { {} } } } },
675 #if defined( VK_USE_PLATFORM_GGP )
676       { "VK_GGP_stream_descriptor_surface",
677         { { "VK_VERSION_1_0",
678             { {
679               "VK_KHR_surface",
680             } } } } },
681 #endif /*VK_USE_PLATFORM_GGP*/
682       { "VK_NV_corner_sampled_image",
683         { { "VK_VERSION_1_0",
684             { {
685               "VK_KHR_get_physical_device_properties2",
686             } } },
687           { "VK_VERSION_1_1", { {} } } } },
688       { "VK_KHR_multiview",
689         { { "VK_VERSION_1_0",
690             { {
691               "VK_KHR_get_physical_device_properties2",
692             } } },
693           { "VK_VERSION_1_1", { {} } } } },
694       { "VK_NV_external_memory",
695         { { "VK_VERSION_1_0",
696             { {
697               "VK_NV_external_memory_capabilities",
698             } } } } },
699 #if defined( VK_USE_PLATFORM_WIN32_KHR )
700       { "VK_NV_external_memory_win32",
701         { { "VK_VERSION_1_0",
702             { {
703               "VK_NV_external_memory",
704             } } } } },
705       { "VK_NV_win32_keyed_mutex",
706         { { "VK_VERSION_1_0",
707             { {
708               "VK_NV_external_memory_win32",
709             } } } } },
710 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
711       { "VK_KHR_device_group",
712         { { "VK_VERSION_1_0",
713             { {
714               "VK_KHR_device_group_creation",
715             } } } } },
716 #if defined( VK_USE_PLATFORM_VI_NN )
717       { "VK_NN_vi_surface",
718         { { "VK_VERSION_1_0",
719             { {
720               "VK_KHR_surface",
721             } } } } },
722 #endif /*VK_USE_PLATFORM_VI_NN*/
723       { "VK_EXT_texture_compression_astc_hdr",
724         { { "VK_VERSION_1_0",
725             { {
726               "VK_KHR_get_physical_device_properties2",
727             } } },
728           { "VK_VERSION_1_1", { {} } } } },
729       { "VK_EXT_astc_decode_mode",
730         { { "VK_VERSION_1_0",
731             { {
732               "VK_KHR_get_physical_device_properties2",
733             } } },
734           { "VK_VERSION_1_1", { {} } } } },
735       { "VK_EXT_pipeline_robustness",
736         { { "VK_VERSION_1_0",
737             { {
738               "VK_KHR_get_physical_device_properties2",
739             } } },
740           { "VK_VERSION_1_1", { {} } } } },
741       { "VK_KHR_external_memory_capabilities",
742         { { "VK_VERSION_1_0",
743             { {
744               "VK_KHR_get_physical_device_properties2",
745             } } },
746           { "VK_VERSION_1_1", { {} } } } },
747       { "VK_KHR_external_memory",
748         { { "VK_VERSION_1_0",
749             { {
750               "VK_KHR_external_memory_capabilities",
751             } } },
752           { "VK_VERSION_1_1", { {} } } } },
753 #if defined( VK_USE_PLATFORM_WIN32_KHR )
754       { "VK_KHR_external_memory_win32",
755         { { "VK_VERSION_1_0",
756             { {
757               "VK_KHR_external_memory",
758             } } },
759           { "VK_VERSION_1_1", { {} } } } },
760 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
761       { "VK_KHR_external_memory_fd",
762         { { "VK_VERSION_1_0",
763             { {
764               "VK_KHR_external_memory",
765             } } },
766           { "VK_VERSION_1_1", { {} } } } },
767 #if defined( VK_USE_PLATFORM_WIN32_KHR )
768       { "VK_KHR_win32_keyed_mutex",
769         { { "VK_VERSION_1_0",
770             { {
771               "VK_KHR_external_memory_win32",
772             } } } } },
773 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
774       { "VK_KHR_external_semaphore_capabilities",
775         { { "VK_VERSION_1_0",
776             { {
777               "VK_KHR_get_physical_device_properties2",
778             } } },
779           { "VK_VERSION_1_1", { {} } } } },
780       { "VK_KHR_external_semaphore",
781         { { "VK_VERSION_1_0",
782             { {
783               "VK_KHR_external_semaphore_capabilities",
784             } } } } },
785 #if defined( VK_USE_PLATFORM_WIN32_KHR )
786       { "VK_KHR_external_semaphore_win32",
787         { { "VK_VERSION_1_0",
788             { {
789               "VK_KHR_external_semaphore",
790             } } } } },
791 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
792       { "VK_KHR_external_semaphore_fd",
793         { { "VK_VERSION_1_0",
794             { {
795               "VK_KHR_external_semaphore",
796             } } },
797           { "VK_VERSION_1_1", { {} } } } },
798       { "VK_KHR_push_descriptor",
799         { { "VK_VERSION_1_0",
800             { {
801               "VK_KHR_get_physical_device_properties2",
802             } } },
803           { "VK_VERSION_1_1", { {} } } } },
804       { "VK_EXT_conditional_rendering",
805         { { "VK_VERSION_1_0",
806             { {
807               "VK_KHR_get_physical_device_properties2",
808             } } },
809           { "VK_VERSION_1_1", { {} } } } },
810       { "VK_KHR_shader_float16_int8",
811         { { "VK_VERSION_1_0",
812             { {
813               "VK_KHR_get_physical_device_properties2",
814             } } },
815           { "VK_VERSION_1_1", { {} } } } },
816       { "VK_KHR_16bit_storage",
817         { { "VK_VERSION_1_0",
818             { {
819               "VK_KHR_get_physical_device_properties2",
820               "VK_KHR_storage_buffer_storage_class",
821             } } },
822           { "VK_VERSION_1_1", { {} } } } },
823       { "VK_KHR_incremental_present",
824         { { "VK_VERSION_1_0",
825             { {
826               "VK_KHR_swapchain",
827             } } } } },
828       { "VK_EXT_direct_mode_display",
829         { { "VK_VERSION_1_0",
830             { {
831               "VK_KHR_display",
832             } } } } },
833 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
834       { "VK_EXT_acquire_xlib_display",
835         { { "VK_VERSION_1_0",
836             { {
837               "VK_EXT_direct_mode_display",
838             } } } } },
839 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
840       { "VK_EXT_display_surface_counter",
841         { { "VK_VERSION_1_0",
842             { {
843               "VK_KHR_display",
844             } } } } },
845       { "VK_EXT_display_control",
846         { { "VK_VERSION_1_0",
847             { {
848               "VK_EXT_display_surface_counter",
849               "VK_KHR_swapchain",
850             } } } } },
851       { "VK_GOOGLE_display_timing",
852         { { "VK_VERSION_1_0",
853             { {
854               "VK_KHR_swapchain",
855             } } } } },
856       { "VK_NVX_multiview_per_view_attributes",
857         { { "VK_VERSION_1_0",
858             { {
859               "VK_KHR_multiview",
860             } } },
861           { "VK_VERSION_1_1", { {} } } } },
862       { "VK_EXT_discard_rectangles",
863         { { "VK_VERSION_1_0",
864             { {
865               "VK_KHR_get_physical_device_properties2",
866             } } },
867           { "VK_VERSION_1_1", { {} } } } },
868       { "VK_EXT_conservative_rasterization",
869         { { "VK_VERSION_1_0",
870             { {
871               "VK_KHR_get_physical_device_properties2",
872             } } },
873           { "VK_VERSION_1_1", { {} } } } },
874       { "VK_EXT_depth_clip_enable",
875         { { "VK_VERSION_1_0",
876             { {
877               "VK_KHR_get_physical_device_properties2",
878             } } },
879           { "VK_VERSION_1_1", { {} } } } },
880       { "VK_EXT_swapchain_colorspace",
881         { { "VK_VERSION_1_0",
882             { {
883               "VK_KHR_surface",
884             } } } } },
885       { "VK_EXT_hdr_metadata",
886         { { "VK_VERSION_1_0",
887             { {
888               "VK_KHR_swapchain",
889             } } } } },
890       { "VK_KHR_imageless_framebuffer",
891         { { "VK_VERSION_1_0",
892             { {
893               "VK_KHR_get_physical_device_properties2",
894               "VK_KHR_maintenance2",
895             } } },
896           { "VK_VERSION_1_1",
897             { {
898               "VK_KHR_image_format_list",
899             } } },
900           { "VK_VERSION_1_2", { {} } } } },
901       { "VK_KHR_create_renderpass2",
902         { { "VK_VERSION_1_0",
903             { {
904               "VK_KHR_multiview",
905               "VK_KHR_maintenance2",
906             } } },
907           { "VK_VERSION_1_1", { {} } } } },
908       { "VK_IMG_relaxed_line_rasterization",
909         { { "VK_VERSION_1_0",
910             { {
911               "VK_KHR_get_physical_device_properties2",
912             } } },
913           { "VK_VERSION_1_1", { {} } } } },
914       { "VK_KHR_shared_presentable_image",
915         { { "VK_VERSION_1_0",
916             { {
917               "VK_KHR_swapchain",
918               "VK_KHR_get_surface_capabilities2",
919               "VK_KHR_get_physical_device_properties2",
920             } } },
921           { "VK_VERSION_1_1",
922             { {
923               "VK_KHR_swapchain",
924               "VK_KHR_get_surface_capabilities2",
925             } } } } },
926       { "VK_KHR_external_fence_capabilities",
927         { { "VK_VERSION_1_0",
928             { {
929               "VK_KHR_get_physical_device_properties2",
930             } } },
931           { "VK_VERSION_1_1", { {} } } } },
932       { "VK_KHR_external_fence",
933         { { "VK_VERSION_1_0",
934             { {
935               "VK_KHR_external_fence_capabilities",
936             } } } } },
937 #if defined( VK_USE_PLATFORM_WIN32_KHR )
938       { "VK_KHR_external_fence_win32",
939         { { "VK_VERSION_1_0",
940             { {
941               "VK_KHR_external_fence",
942             } } } } },
943 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
944       { "VK_KHR_external_fence_fd",
945         { { "VK_VERSION_1_0",
946             { {
947               "VK_KHR_external_fence",
948             } } },
949           { "VK_VERSION_1_1", { {} } } } },
950       { "VK_KHR_performance_query",
951         { { "VK_VERSION_1_0",
952             { {
953               "VK_KHR_get_physical_device_properties2",
954             } } },
955           { "VK_VERSION_1_1", { {} } } } },
956       { "VK_KHR_get_surface_capabilities2",
957         { { "VK_VERSION_1_0",
958             { {
959               "VK_KHR_surface",
960             } } } } },
961       { "VK_KHR_variable_pointers",
962         { { "VK_VERSION_1_0",
963             { {
964               "VK_KHR_get_physical_device_properties2",
965               "VK_KHR_storage_buffer_storage_class",
966             } } },
967           { "VK_VERSION_1_1", { {} } } } },
968       { "VK_KHR_get_display_properties2",
969         { { "VK_VERSION_1_0",
970             { {
971               "VK_KHR_display",
972             } } } } },
973 #if defined( VK_USE_PLATFORM_IOS_MVK )
974       { "VK_MVK_ios_surface",
975         { { "VK_VERSION_1_0",
976             { {
977               "VK_KHR_surface",
978             } } } } },
979 #endif /*VK_USE_PLATFORM_IOS_MVK*/
980 #if defined( VK_USE_PLATFORM_MACOS_MVK )
981       { "VK_MVK_macos_surface",
982         { { "VK_VERSION_1_0",
983             { {
984               "VK_KHR_surface",
985             } } } } },
986 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
987       { "VK_EXT_external_memory_dma_buf",
988         { { "VK_VERSION_1_0",
989             { {
990               "VK_KHR_external_memory_fd",
991             } } } } },
992       { "VK_EXT_queue_family_foreign",
993         { { "VK_VERSION_1_0",
994             { {
995               "VK_KHR_external_memory",
996             } } },
997           { "VK_VERSION_1_1", { {} } } } },
998       { "VK_KHR_dedicated_allocation",
999         { { "VK_VERSION_1_0",
1000             { {
1001               "VK_KHR_get_memory_requirements2",
1002             } } },
1003           { "VK_VERSION_1_1", { {} } } } },
1004 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
1005       { "VK_ANDROID_external_memory_android_hardware_buffer",
1006         { { "VK_VERSION_1_0",
1007             { {
1008               "VK_KHR_sampler_ycbcr_conversion",
1009               "VK_KHR_external_memory",
1010               "VK_KHR_dedicated_allocation",
1011             } } },
1012           { "VK_VERSION_1_1",
1013             { {
1014               "VK_EXT_queue_family_foreign",
1015             } } } } },
1016 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1017       { "VK_EXT_sampler_filter_minmax",
1018         { { "VK_VERSION_1_0",
1019             { {
1020               "VK_KHR_get_physical_device_properties2",
1021             } } },
1022           { "VK_VERSION_1_1", { {} } } } },
1023 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1024       { "VK_AMDX_shader_enqueue",
1025         { { "VK_VERSION_1_0",
1026             { {
1027               "VK_KHR_synchronization2",
1028               "VK_KHR_spirv_1_4",
1029               "VK_EXT_extended_dynamic_state",
1030             } } },
1031           { "VK_VERSION_1_3",
1032             { {
1033               "VK_KHR_maintenance5",
1034               "VK_KHR_pipeline_library",
1035             } } } } },
1036 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1037       { "VK_EXT_inline_uniform_block",
1038         { { "VK_VERSION_1_0",
1039             { {
1040               "VK_KHR_get_physical_device_properties2",
1041               "VK_KHR_maintenance1",
1042             } } },
1043           { "VK_VERSION_1_1", { {} } } } },
1044       { "VK_EXT_sample_locations",
1045         { { "VK_VERSION_1_0",
1046             { {
1047               "VK_KHR_get_physical_device_properties2",
1048             } } },
1049           { "VK_VERSION_1_1", { {} } } } },
1050       { "VK_EXT_blend_operation_advanced",
1051         { { "VK_VERSION_1_0",
1052             { {
1053               "VK_KHR_get_physical_device_properties2",
1054             } } },
1055           { "VK_VERSION_1_1", { {} } } } },
1056       { "VK_KHR_acceleration_structure",
1057         { { "VK_VERSION_1_1",
1058             { {
1059               "VK_EXT_descriptor_indexing",
1060               "VK_KHR_buffer_device_address",
1061             } } },
1062           { "VK_VERSION_1_2",
1063             { {
1064               "VK_KHR_deferred_host_operations",
1065             } } } } },
1066       { "VK_KHR_ray_tracing_pipeline",
1067         { { "VK_VERSION_1_0",
1068             { {
1069               "VK_KHR_spirv_1_4",
1070             } } },
1071           { "VK_VERSION_1_2",
1072             { {
1073               "VK_KHR_acceleration_structure",
1074             } } } } },
1075       { "VK_KHR_ray_query",
1076         { { "VK_VERSION_1_0",
1077             { {
1078               "VK_KHR_spirv_1_4",
1079             } } },
1080           { "VK_VERSION_1_2",
1081             { {
1082               "VK_KHR_acceleration_structure",
1083             } } } } },
1084       { "VK_NV_shader_sm_builtins", { { "VK_VERSION_1_1", { {} } } } },
1085       { "VK_KHR_sampler_ycbcr_conversion",
1086         { { "VK_VERSION_1_0",
1087             { {
1088               "VK_KHR_maintenance1",
1089               "VK_KHR_bind_memory2",
1090               "VK_KHR_get_memory_requirements2",
1091               "VK_KHR_get_physical_device_properties2",
1092             } } },
1093           { "VK_VERSION_1_1", { {} } } } },
1094       { "VK_EXT_image_drm_format_modifier",
1095         { { "VK_VERSION_1_0",
1096             { {
1097               "VK_KHR_bind_memory2",
1098               "VK_KHR_get_physical_device_properties2",
1099               "VK_KHR_sampler_ycbcr_conversion",
1100             } } },
1101           { "VK_VERSION_1_1",
1102             { {
1103               "VK_KHR_image_format_list",
1104             } } },
1105           { "VK_VERSION_1_2", { {} } } } },
1106       { "VK_EXT_descriptor_indexing",
1107         { { "VK_VERSION_1_0",
1108             { {
1109               "VK_KHR_get_physical_device_properties2",
1110               "VK_KHR_maintenance3",
1111             } } },
1112           { "VK_VERSION_1_1", { {} } } } },
1113 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1114       { "VK_KHR_portability_subset",
1115         { { "VK_VERSION_1_0",
1116             { {
1117               "VK_KHR_get_physical_device_properties2",
1118             } } },
1119           { "VK_VERSION_1_1", { {} } } } },
1120 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1121       { "VK_NV_shading_rate_image",
1122         { { "VK_VERSION_1_0",
1123             { {
1124               "VK_KHR_get_physical_device_properties2",
1125             } } },
1126           { "VK_VERSION_1_1", { {} } } } },
1127       { "VK_NV_ray_tracing",
1128         { { "VK_VERSION_1_0",
1129             { {
1130               "VK_KHR_get_physical_device_properties2",
1131               "VK_KHR_get_memory_requirements2",
1132             } } },
1133           { "VK_VERSION_1_1", { {} } } } },
1134       { "VK_NV_representative_fragment_test",
1135         { { "VK_VERSION_1_0",
1136             { {
1137               "VK_KHR_get_physical_device_properties2",
1138             } } },
1139           { "VK_VERSION_1_1", { {} } } } },
1140       { "VK_KHR_maintenance3",
1141         { { "VK_VERSION_1_0",
1142             { {
1143               "VK_KHR_get_physical_device_properties2",
1144             } } },
1145           { "VK_VERSION_1_1", { {} } } } },
1146       { "VK_KHR_shader_subgroup_extended_types", { { "VK_VERSION_1_1", { {} } } } },
1147       { "VK_KHR_8bit_storage",
1148         { { "VK_VERSION_1_0",
1149             { {
1150               "VK_KHR_get_physical_device_properties2",
1151               "VK_KHR_storage_buffer_storage_class",
1152             } } },
1153           { "VK_VERSION_1_1", { {} } } } },
1154       { "VK_EXT_external_memory_host",
1155         { { "VK_VERSION_1_0",
1156             { {
1157               "VK_KHR_external_memory",
1158             } } },
1159           { "VK_VERSION_1_1", { {} } } } },
1160       { "VK_KHR_shader_atomic_int64",
1161         { { "VK_VERSION_1_0",
1162             { {
1163               "VK_KHR_get_physical_device_properties2",
1164             } } },
1165           { "VK_VERSION_1_1", { {} } } } },
1166       { "VK_KHR_shader_clock",
1167         { { "VK_VERSION_1_0",
1168             { {
1169               "VK_KHR_get_physical_device_properties2",
1170             } } },
1171           { "VK_VERSION_1_1", { {} } } } },
1172       { "VK_EXT_calibrated_timestamps",
1173         { { "VK_VERSION_1_0",
1174             { {
1175               "VK_KHR_get_physical_device_properties2",
1176             } } },
1177           { "VK_VERSION_1_1", { {} } } } },
1178       { "VK_AMD_shader_core_properties",
1179         { { "VK_VERSION_1_0",
1180             { {
1181               "VK_KHR_get_physical_device_properties2",
1182             } } },
1183           { "VK_VERSION_1_1", { {} } } } },
1184       { "VK_KHR_video_decode_h265",
1185         { { "VK_VERSION_1_0",
1186             { {
1187               "VK_KHR_video_decode_queue",
1188             } } } } },
1189       { "VK_KHR_global_priority",
1190         { { "VK_VERSION_1_0",
1191             { {
1192               "VK_KHR_get_physical_device_properties2",
1193             } } },
1194           { "VK_VERSION_1_1", { {} } } } },
1195       { "VK_EXT_vertex_attribute_divisor",
1196         { { "VK_VERSION_1_0",
1197             { {
1198               "VK_KHR_get_physical_device_properties2",
1199             } } },
1200           { "VK_VERSION_1_1", { {} } } } },
1201 #if defined( VK_USE_PLATFORM_GGP )
1202       { "VK_GGP_frame_token",
1203         { { "VK_VERSION_1_0",
1204             { {
1205               "VK_KHR_swapchain",
1206               "VK_GGP_stream_descriptor_surface",
1207             } } } } },
1208 #endif /*VK_USE_PLATFORM_GGP*/
1209       { "VK_KHR_driver_properties",
1210         { { "VK_VERSION_1_0",
1211             { {
1212               "VK_KHR_get_physical_device_properties2",
1213             } } },
1214           { "VK_VERSION_1_1", { {} } } } },
1215       { "VK_KHR_shader_float_controls",
1216         { { "VK_VERSION_1_0",
1217             { {
1218               "VK_KHR_get_physical_device_properties2",
1219             } } },
1220           { "VK_VERSION_1_1", { {} } } } },
1221       { "VK_NV_shader_subgroup_partitioned", { { "VK_VERSION_1_1", { {} } } } },
1222       { "VK_KHR_depth_stencil_resolve",
1223         { { "VK_VERSION_1_0",
1224             { {
1225               "VK_KHR_create_renderpass2",
1226             } } },
1227           { "VK_VERSION_1_2", { {} } } } },
1228       { "VK_KHR_swapchain_mutable_format",
1229         { { "VK_VERSION_1_0",
1230             { {
1231               "VK_KHR_swapchain",
1232               "VK_KHR_maintenance2",
1233               "VK_KHR_image_format_list",
1234             } } },
1235           { "VK_VERSION_1_1",
1236             { {
1237               "VK_KHR_swapchain",
1238               "VK_KHR_image_format_list",
1239             } } },
1240           { "VK_VERSION_1_2",
1241             { {
1242               "VK_KHR_swapchain",
1243             } } } } },
1244       { "VK_NV_compute_shader_derivatives",
1245         { { "VK_VERSION_1_0",
1246             { {
1247               "VK_KHR_get_physical_device_properties2",
1248             } } },
1249           { "VK_VERSION_1_1", { {} } } } },
1250       { "VK_NV_mesh_shader",
1251         { { "VK_VERSION_1_0",
1252             { {
1253               "VK_KHR_get_physical_device_properties2",
1254             } } },
1255           { "VK_VERSION_1_1", { {} } } } },
1256       { "VK_NV_fragment_shader_barycentric",
1257         { { "VK_VERSION_1_0",
1258             { {
1259               "VK_KHR_get_physical_device_properties2",
1260             } } },
1261           { "VK_VERSION_1_1", { {} } } } },
1262       { "VK_NV_shader_image_footprint",
1263         { { "VK_VERSION_1_0",
1264             { {
1265               "VK_KHR_get_physical_device_properties2",
1266             } } },
1267           { "VK_VERSION_1_1", { {} } } } },
1268       { "VK_NV_scissor_exclusive",
1269         { { "VK_VERSION_1_0",
1270             { {
1271               "VK_KHR_get_physical_device_properties2",
1272             } } },
1273           { "VK_VERSION_1_1", { {} } } } },
1274       { "VK_NV_device_diagnostic_checkpoints",
1275         { { "VK_VERSION_1_0",
1276             { {
1277               "VK_KHR_get_physical_device_properties2",
1278             } } },
1279           { "VK_VERSION_1_1", { {} } } } },
1280       { "VK_KHR_timeline_semaphore",
1281         { { "VK_VERSION_1_0",
1282             { {
1283               "VK_KHR_get_physical_device_properties2",
1284             } } },
1285           { "VK_VERSION_1_1", { {} } } } },
1286       { "VK_INTEL_shader_integer_functions2",
1287         { { "VK_VERSION_1_0",
1288             { {
1289               "VK_KHR_get_physical_device_properties2",
1290             } } },
1291           { "VK_VERSION_1_1", { {} } } } },
1292       { "VK_KHR_vulkan_memory_model",
1293         { { "VK_VERSION_1_0",
1294             { {
1295               "VK_KHR_get_physical_device_properties2",
1296             } } },
1297           { "VK_VERSION_1_1", { {} } } } },
1298       { "VK_EXT_pci_bus_info",
1299         { { "VK_VERSION_1_0",
1300             { {
1301               "VK_KHR_get_physical_device_properties2",
1302             } } },
1303           { "VK_VERSION_1_1", { {} } } } },
1304       { "VK_AMD_display_native_hdr",
1305         { { "VK_VERSION_1_0",
1306             { {
1307               "VK_KHR_get_physical_device_properties2",
1308             } } },
1309           { "VK_VERSION_1_1",
1310             { {
1311               "VK_KHR_get_surface_capabilities2",
1312               "VK_KHR_swapchain",
1313             } } } } },
1314 #if defined( VK_USE_PLATFORM_FUCHSIA )
1315       { "VK_FUCHSIA_imagepipe_surface",
1316         { { "VK_VERSION_1_0",
1317             { {
1318               "VK_KHR_surface",
1319             } } } } },
1320 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1321       { "VK_KHR_shader_terminate_invocation",
1322         { { "VK_VERSION_1_0",
1323             { {
1324               "VK_KHR_get_physical_device_properties2",
1325             } } },
1326           { "VK_VERSION_1_1", { {} } } } },
1327 #if defined( VK_USE_PLATFORM_METAL_EXT )
1328       { "VK_EXT_metal_surface",
1329         { { "VK_VERSION_1_0",
1330             { {
1331               "VK_KHR_surface",
1332             } } } } },
1333 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1334       { "VK_EXT_fragment_density_map",
1335         { { "VK_VERSION_1_0",
1336             { {
1337               "VK_KHR_get_physical_device_properties2",
1338             } } },
1339           { "VK_VERSION_1_1", { {} } } } },
1340       { "VK_EXT_scalar_block_layout",
1341         { { "VK_VERSION_1_0",
1342             { {
1343               "VK_KHR_get_physical_device_properties2",
1344             } } },
1345           { "VK_VERSION_1_1", { {} } } } },
1346       { "VK_EXT_subgroup_size_control", { { "VK_VERSION_1_1", { {} } } } },
1347       { "VK_KHR_fragment_shading_rate",
1348         { { "VK_VERSION_1_0",
1349             { {
1350               "VK_KHR_get_physical_device_properties2",
1351             } } },
1352           { "VK_VERSION_1_1",
1353             { {
1354               "VK_KHR_create_renderpass2",
1355             } } },
1356           { "VK_VERSION_1_2", { {} } } } },
1357       { "VK_AMD_shader_core_properties2",
1358         { { "VK_VERSION_1_0",
1359             { {
1360               "VK_AMD_shader_core_properties",
1361             } } } } },
1362       { "VK_AMD_device_coherent_memory",
1363         { { "VK_VERSION_1_0",
1364             { {
1365               "VK_KHR_get_physical_device_properties2",
1366             } } },
1367           { "VK_VERSION_1_1", { {} } } } },
1368       { "VK_KHR_dynamic_rendering_local_read",
1369         { { "VK_VERSION_1_0",
1370             { {
1371               "VK_KHR_dynamic_rendering",
1372             } } },
1373           { "VK_VERSION_1_3", { {} } } } },
1374       { "VK_EXT_shader_image_atomic_int64",
1375         { { "VK_VERSION_1_0",
1376             { {
1377               "VK_KHR_get_physical_device_properties2",
1378             } } },
1379           { "VK_VERSION_1_1", { {} } } } },
1380       { "VK_KHR_shader_quad_control",
1381         { { "VK_VERSION_1_1",
1382             { {
1383               "VK_KHR_vulkan_memory_model",
1384             } } },
1385           { "VK_VERSION_1_2",
1386             { {
1387               "VK_KHR_shader_maximal_reconvergence",
1388             } } } } },
1389       { "VK_KHR_spirv_1_4",
1390         { { "VK_VERSION_1_1",
1391             { {
1392               "VK_KHR_shader_float_controls",
1393             } } } } },
1394       { "VK_EXT_memory_budget",
1395         { { "VK_VERSION_1_0",
1396             { {
1397               "VK_KHR_get_physical_device_properties2",
1398             } } },
1399           { "VK_VERSION_1_1", { {} } } } },
1400       { "VK_EXT_memory_priority",
1401         { { "VK_VERSION_1_0",
1402             { {
1403               "VK_KHR_get_physical_device_properties2",
1404             } } },
1405           { "VK_VERSION_1_1", { {} } } } },
1406       { "VK_KHR_surface_protected_capabilities",
1407         { { "VK_VERSION_1_1",
1408             { {
1409               "VK_KHR_get_surface_capabilities2",
1410             } } } } },
1411       { "VK_NV_dedicated_allocation_image_aliasing",
1412         { { "VK_VERSION_1_0",
1413             { {
1414               "VK_KHR_dedicated_allocation",
1415               "VK_KHR_get_physical_device_properties2",
1416             } } },
1417           { "VK_VERSION_1_1", { {} } } } },
1418       { "VK_KHR_separate_depth_stencil_layouts",
1419         { { "VK_VERSION_1_0",
1420             { {
1421               "VK_KHR_get_physical_device_properties2",
1422             } } },
1423           { "VK_VERSION_1_1",
1424             { {
1425               "VK_KHR_create_renderpass2",
1426             } } },
1427           { "VK_VERSION_1_2", { {} } } } },
1428       { "VK_EXT_buffer_device_address",
1429         { { "VK_VERSION_1_0",
1430             { {
1431               "VK_KHR_get_physical_device_properties2",
1432             } } },
1433           { "VK_VERSION_1_1", { {} } } } },
1434       { "VK_KHR_present_wait",
1435         { { "VK_VERSION_1_0",
1436             { {
1437               "VK_KHR_swapchain",
1438               "VK_KHR_present_id",
1439             } } } } },
1440       { "VK_NV_cooperative_matrix",
1441         { { "VK_VERSION_1_0",
1442             { {
1443               "VK_KHR_get_physical_device_properties2",
1444             } } },
1445           { "VK_VERSION_1_1", { {} } } } },
1446       { "VK_NV_coverage_reduction_mode",
1447         { { "VK_VERSION_1_0",
1448             { {
1449               "VK_NV_framebuffer_mixed_samples",
1450               "VK_KHR_get_physical_device_properties2",
1451             } } },
1452           { "VK_VERSION_1_1", { {} } } } },
1453       { "VK_EXT_fragment_shader_interlock",
1454         { { "VK_VERSION_1_0",
1455             { {
1456               "VK_KHR_get_physical_device_properties2",
1457             } } },
1458           { "VK_VERSION_1_1", { {} } } } },
1459       { "VK_EXT_ycbcr_image_arrays",
1460         { { "VK_VERSION_1_0",
1461             { {
1462               "VK_KHR_sampler_ycbcr_conversion",
1463             } } },
1464           { "VK_VERSION_1_1", { {} } } } },
1465       { "VK_KHR_uniform_buffer_standard_layout",
1466         { { "VK_VERSION_1_0",
1467             { {
1468               "VK_KHR_get_physical_device_properties2",
1469             } } },
1470           { "VK_VERSION_1_1", { {} } } } },
1471       { "VK_EXT_provoking_vertex",
1472         { { "VK_VERSION_1_0",
1473             { {
1474               "VK_KHR_get_physical_device_properties2",
1475             } } },
1476           { "VK_VERSION_1_1", { {} } } } },
1477 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1478       { "VK_EXT_full_screen_exclusive",
1479         { { "VK_VERSION_1_0",
1480             { {
1481               "VK_KHR_get_physical_device_properties2",
1482             } } },
1483           { "VK_VERSION_1_1",
1484             { {
1485               "VK_KHR_surface",
1486               "VK_KHR_get_surface_capabilities2",
1487               "VK_KHR_swapchain",
1488             } } } } },
1489 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1490       { "VK_EXT_headless_surface",
1491         { { "VK_VERSION_1_0",
1492             { {
1493               "VK_KHR_surface",
1494             } } } } },
1495       { "VK_KHR_buffer_device_address",
1496         { { "VK_VERSION_1_0",
1497             { {
1498               "VK_KHR_get_physical_device_properties2",
1499               "VK_KHR_device_group",
1500             } } },
1501           { "VK_VERSION_1_1", { {} } } } },
1502       { "VK_EXT_line_rasterization",
1503         { { "VK_VERSION_1_0",
1504             { {
1505               "VK_KHR_get_physical_device_properties2",
1506             } } },
1507           { "VK_VERSION_1_1", { {} } } } },
1508       { "VK_EXT_shader_atomic_float",
1509         { { "VK_VERSION_1_0",
1510             { {
1511               "VK_KHR_get_physical_device_properties2",
1512             } } },
1513           { "VK_VERSION_1_1", { {} } } } },
1514       { "VK_EXT_host_query_reset",
1515         { { "VK_VERSION_1_0",
1516             { {
1517               "VK_KHR_get_physical_device_properties2",
1518             } } },
1519           { "VK_VERSION_1_1", { {} } } } },
1520       { "VK_EXT_index_type_uint8",
1521         { { "VK_VERSION_1_0",
1522             { {
1523               "VK_KHR_get_physical_device_properties2",
1524             } } },
1525           { "VK_VERSION_1_1", { {} } } } },
1526       { "VK_EXT_extended_dynamic_state",
1527         { { "VK_VERSION_1_0",
1528             { {
1529               "VK_KHR_get_physical_device_properties2",
1530             } } },
1531           { "VK_VERSION_1_1", { {} } } } },
1532       { "VK_KHR_pipeline_executable_properties",
1533         { { "VK_VERSION_1_0",
1534             { {
1535               "VK_KHR_get_physical_device_properties2",
1536             } } },
1537           { "VK_VERSION_1_1", { {} } } } },
1538       { "VK_EXT_host_image_copy",
1539         { { "VK_VERSION_1_0",
1540             { {
1541               "VK_KHR_get_physical_device_properties2",
1542             } } },
1543           { "VK_VERSION_1_1",
1544             { {
1545               "VK_KHR_copy_commands2",
1546               "VK_KHR_format_feature_flags2",
1547             } } },
1548           { "VK_VERSION_1_3", { {} } } } },
1549       { "VK_EXT_map_memory_placed",
1550         { { "VK_VERSION_1_0",
1551             { {
1552               "VK_KHR_map_memory2",
1553             } } },
1554           { "VK_VERSION_1_4", { {} } } } },
1555       { "VK_EXT_shader_atomic_float2",
1556         { { "VK_VERSION_1_0",
1557             { {
1558               "VK_EXT_shader_atomic_float",
1559             } } } } },
1560       { "VK_EXT_surface_maintenance1",
1561         { { "VK_VERSION_1_0",
1562             { {
1563               "VK_KHR_surface",
1564               "VK_KHR_get_surface_capabilities2",
1565             } } } } },
1566       { "VK_EXT_swapchain_maintenance1",
1567         { { "VK_VERSION_1_0",
1568             { {
1569               "VK_KHR_swapchain",
1570               "VK_EXT_surface_maintenance1",
1571               "VK_KHR_get_physical_device_properties2",
1572             } } },
1573           { "VK_VERSION_1_1", { {} } } } },
1574       { "VK_EXT_shader_demote_to_helper_invocation",
1575         { { "VK_VERSION_1_0",
1576             { {
1577               "VK_KHR_get_physical_device_properties2",
1578             } } },
1579           { "VK_VERSION_1_1", { {} } } } },
1580       { "VK_NV_device_generated_commands",
1581         { { "VK_VERSION_1_1",
1582             { {
1583               "VK_KHR_buffer_device_address",
1584             } } },
1585           { "VK_VERSION_1_2", { {} } } } },
1586       { "VK_NV_inherited_viewport_scissor",
1587         { { "VK_VERSION_1_0",
1588             { {
1589               "VK_KHR_get_physical_device_properties2",
1590             } } },
1591           { "VK_VERSION_1_1", { {} } } } },
1592       { "VK_KHR_shader_integer_dot_product",
1593         { { "VK_VERSION_1_0",
1594             { {
1595               "VK_KHR_get_physical_device_properties2",
1596             } } },
1597           { "VK_VERSION_1_1", { {} } } } },
1598       { "VK_EXT_texel_buffer_alignment",
1599         { { "VK_VERSION_1_0",
1600             { {
1601               "VK_KHR_get_physical_device_properties2",
1602             } } },
1603           { "VK_VERSION_1_1", { {} } } } },
1604       { "VK_EXT_depth_bias_control",
1605         { { "VK_VERSION_1_0",
1606             { {
1607               "VK_KHR_get_physical_device_properties2",
1608             } } },
1609           { "VK_VERSION_1_1", { {} } } } },
1610       { "VK_EXT_device_memory_report",
1611         { { "VK_VERSION_1_0",
1612             { {
1613               "VK_KHR_get_physical_device_properties2",
1614             } } },
1615           { "VK_VERSION_1_1", { {} } } } },
1616       { "VK_EXT_acquire_drm_display",
1617         { { "VK_VERSION_1_0",
1618             { {
1619               "VK_EXT_direct_mode_display",
1620             } } } } },
1621       { "VK_EXT_robustness2",
1622         { { "VK_VERSION_1_0",
1623             { {
1624               "VK_KHR_get_physical_device_properties2",
1625             } } },
1626           { "VK_VERSION_1_1", { {} } } } },
1627       { "VK_EXT_custom_border_color",
1628         { { "VK_VERSION_1_0",
1629             { {
1630               "VK_KHR_get_physical_device_properties2",
1631             } } },
1632           { "VK_VERSION_1_1", { {} } } } },
1633       { "VK_NV_present_barrier",
1634         { { "VK_VERSION_1_0",
1635             { {
1636               "VK_KHR_get_physical_device_properties2",
1637             } } },
1638           { "VK_VERSION_1_1",
1639             { {
1640               "VK_KHR_surface",
1641               "VK_KHR_get_surface_capabilities2",
1642               "VK_KHR_swapchain",
1643             } } } } },
1644       { "VK_KHR_present_id",
1645         { { "VK_VERSION_1_0",
1646             { {
1647               "VK_KHR_swapchain",
1648               "VK_KHR_get_physical_device_properties2",
1649             } } },
1650           { "VK_VERSION_1_1", { {} } } } },
1651       { "VK_EXT_private_data",
1652         { { "VK_VERSION_1_0",
1653             { {
1654               "VK_KHR_get_physical_device_properties2",
1655             } } },
1656           { "VK_VERSION_1_1", { {} } } } },
1657       { "VK_EXT_pipeline_creation_cache_control",
1658         { { "VK_VERSION_1_0",
1659             { {
1660               "VK_KHR_get_physical_device_properties2",
1661             } } },
1662           { "VK_VERSION_1_1", { {} } } } },
1663       { "VK_KHR_video_encode_queue",
1664         { { "VK_VERSION_1_0",
1665             { {
1666               "VK_KHR_video_queue",
1667               "VK_KHR_synchronization2",
1668             } } },
1669           { "VK_VERSION_1_3", { {} } } } },
1670       { "VK_NV_device_diagnostics_config",
1671         { { "VK_VERSION_1_0",
1672             { {
1673               "VK_KHR_get_physical_device_properties2",
1674             } } },
1675           { "VK_VERSION_1_1", { {} } } } },
1676       { "VK_KHR_synchronization2",
1677         { { "VK_VERSION_1_0",
1678             { {
1679               "VK_KHR_get_physical_device_properties2",
1680             } } },
1681           { "VK_VERSION_1_1", { {} } } } },
1682       { "VK_EXT_descriptor_buffer",
1683         { { "VK_VERSION_1_0",
1684             { {
1685               "VK_KHR_get_physical_device_properties2",
1686             } } },
1687           { "VK_VERSION_1_1",
1688             { {
1689               "VK_KHR_buffer_device_address",
1690               "VK_EXT_descriptor_indexing",
1691             } } },
1692           { "VK_VERSION_1_2",
1693             { {
1694               "VK_KHR_synchronization2",
1695             } } },
1696           { "VK_VERSION_1_3", { {} } } } },
1697       { "VK_EXT_graphics_pipeline_library",
1698         { { "VK_VERSION_1_0",
1699             { {
1700               "VK_KHR_get_physical_device_properties2",
1701             } } },
1702           { "VK_VERSION_1_1",
1703             { {
1704               "VK_KHR_pipeline_library",
1705             } } } } },
1706       { "VK_AMD_shader_early_and_late_fragment_tests",
1707         { { "VK_VERSION_1_0",
1708             { {
1709               "VK_KHR_get_physical_device_properties2",
1710             } } },
1711           { "VK_VERSION_1_1", { {} } } } },
1712       { "VK_KHR_fragment_shader_barycentric",
1713         { { "VK_VERSION_1_0",
1714             { {
1715               "VK_KHR_get_physical_device_properties2",
1716             } } },
1717           { "VK_VERSION_1_1", { {} } } } },
1718       { "VK_KHR_shader_subgroup_uniform_control_flow", { { "VK_VERSION_1_1", { {} } } } },
1719       { "VK_KHR_zero_initialize_workgroup_memory",
1720         { { "VK_VERSION_1_0",
1721             { {
1722               "VK_KHR_get_physical_device_properties2",
1723             } } },
1724           { "VK_VERSION_1_1", { {} } } } },
1725       { "VK_NV_fragment_shading_rate_enums",
1726         { { "VK_VERSION_1_0",
1727             { {
1728               "VK_KHR_fragment_shading_rate",
1729             } } } } },
1730       { "VK_NV_ray_tracing_motion_blur",
1731         { { "VK_VERSION_1_0",
1732             { {
1733               "VK_KHR_ray_tracing_pipeline",
1734             } } } } },
1735       { "VK_EXT_mesh_shader",
1736         { { "VK_VERSION_1_0",
1737             { {
1738               "VK_KHR_spirv_1_4",
1739             } } },
1740           { "VK_VERSION_1_2", { {} } } } },
1741       { "VK_EXT_ycbcr_2plane_444_formats",
1742         { { "VK_VERSION_1_0",
1743             { {
1744               "VK_KHR_sampler_ycbcr_conversion",
1745             } } },
1746           { "VK_VERSION_1_1", { {} } } } },
1747       { "VK_EXT_fragment_density_map2",
1748         { { "VK_VERSION_1_0",
1749             { {
1750               "VK_EXT_fragment_density_map",
1751             } } } } },
1752       { "VK_QCOM_rotated_copy_commands",
1753         { { "VK_VERSION_1_0",
1754             { {
1755               "VK_KHR_copy_commands2",
1756             } } },
1757           { "VK_VERSION_1_3", { {} } } } },
1758       { "VK_EXT_image_robustness",
1759         { { "VK_VERSION_1_0",
1760             { {
1761               "VK_KHR_get_physical_device_properties2",
1762             } } },
1763           { "VK_VERSION_1_1", { {} } } } },
1764       { "VK_KHR_workgroup_memory_explicit_layout",
1765         { { "VK_VERSION_1_0",
1766             { {
1767               "VK_KHR_get_physical_device_properties2",
1768             } } },
1769           { "VK_VERSION_1_1", { {} } } } },
1770       { "VK_KHR_copy_commands2",
1771         { { "VK_VERSION_1_0",
1772             { {
1773               "VK_KHR_get_physical_device_properties2",
1774             } } },
1775           { "VK_VERSION_1_1", { {} } } } },
1776       { "VK_EXT_image_compression_control",
1777         { { "VK_VERSION_1_0",
1778             { {
1779               "VK_KHR_get_physical_device_properties2",
1780             } } },
1781           { "VK_VERSION_1_1", { {} } } } },
1782       { "VK_EXT_attachment_feedback_loop_layout",
1783         { { "VK_VERSION_1_0",
1784             { {
1785               "VK_KHR_get_physical_device_properties2",
1786             } } },
1787           { "VK_VERSION_1_1", { {} } } } },
1788       { "VK_EXT_4444_formats",
1789         { { "VK_VERSION_1_0",
1790             { {
1791               "VK_KHR_get_physical_device_properties2",
1792             } } },
1793           { "VK_VERSION_1_1", { {} } } } },
1794       { "VK_EXT_device_fault",
1795         { { "VK_VERSION_1_0",
1796             { {
1797               "VK_KHR_get_physical_device_properties2",
1798             } } },
1799           { "VK_VERSION_1_1", { {} } } } },
1800       { "VK_ARM_rasterization_order_attachment_access",
1801         { { "VK_VERSION_1_0",
1802             { {
1803               "VK_KHR_get_physical_device_properties2",
1804             } } },
1805           { "VK_VERSION_1_1", { {} } } } },
1806       { "VK_EXT_rgba10x6_formats",
1807         { { "VK_VERSION_1_0",
1808             { {
1809               "VK_KHR_sampler_ycbcr_conversion",
1810             } } },
1811           { "VK_VERSION_1_1", { {} } } } },
1812 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1813       { "VK_NV_acquire_winrt_display",
1814         { { "VK_VERSION_1_0",
1815             { {
1816               "VK_EXT_direct_mode_display",
1817             } } } } },
1818 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1819 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
1820       { "VK_EXT_directfb_surface",
1821         { { "VK_VERSION_1_0",
1822             { {
1823               "VK_KHR_surface",
1824             } } } } },
1825 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
1826       { "VK_VALVE_mutable_descriptor_type",
1827         { { "VK_VERSION_1_0",
1828             { {
1829               "VK_KHR_maintenance3",
1830             } } } } },
1831       { "VK_EXT_vertex_input_dynamic_state",
1832         { { "VK_VERSION_1_0",
1833             { {
1834               "VK_KHR_get_physical_device_properties2",
1835             } } },
1836           { "VK_VERSION_1_1", { {} } } } },
1837       { "VK_EXT_physical_device_drm",
1838         { { "VK_VERSION_1_0",
1839             { {
1840               "VK_KHR_get_physical_device_properties2",
1841             } } },
1842           { "VK_VERSION_1_1", { {} } } } },
1843       { "VK_EXT_device_address_binding_report",
1844         { { "VK_VERSION_1_0",
1845             { {
1846               "VK_KHR_get_physical_device_properties2",
1847             } } },
1848           { "VK_VERSION_1_1",
1849             { {
1850               "VK_EXT_debug_utils",
1851             } } } } },
1852       { "VK_EXT_depth_clip_control",
1853         { { "VK_VERSION_1_0",
1854             { {
1855               "VK_KHR_get_physical_device_properties2",
1856             } } },
1857           { "VK_VERSION_1_1", { {} } } } },
1858       { "VK_EXT_primitive_topology_list_restart",
1859         { { "VK_VERSION_1_0",
1860             { {
1861               "VK_KHR_get_physical_device_properties2",
1862             } } },
1863           { "VK_VERSION_1_1", { {} } } } },
1864       { "VK_KHR_format_feature_flags2",
1865         { { "VK_VERSION_1_0",
1866             { {
1867               "VK_KHR_get_physical_device_properties2",
1868             } } },
1869           { "VK_VERSION_1_1", { {} } } } },
1870       { "VK_EXT_present_mode_fifo_latest_ready",
1871         { { "VK_VERSION_1_0",
1872             { {
1873               "VK_KHR_swapchain",
1874             } } } } },
1875 #if defined( VK_USE_PLATFORM_FUCHSIA )
1876       { "VK_FUCHSIA_external_memory",
1877         { { "VK_VERSION_1_0",
1878             { {
1879               "VK_KHR_external_memory_capabilities",
1880               "VK_KHR_external_memory",
1881             } } },
1882           { "VK_VERSION_1_1", { {} } } } },
1883       { "VK_FUCHSIA_external_semaphore",
1884         { { "VK_VERSION_1_0",
1885             { {
1886               "VK_KHR_external_semaphore_capabilities",
1887               "VK_KHR_external_semaphore",
1888             } } } } },
1889       { "VK_FUCHSIA_buffer_collection",
1890         { { "VK_VERSION_1_0",
1891             { {
1892               "VK_FUCHSIA_external_memory",
1893               "VK_KHR_sampler_ycbcr_conversion",
1894             } } },
1895           { "VK_VERSION_1_1", { {} } } } },
1896 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1897       { "VK_HUAWEI_subpass_shading",
1898         { { "VK_VERSION_1_0",
1899             { {
1900               "VK_KHR_create_renderpass2",
1901             } } },
1902           { "VK_VERSION_1_2",
1903             { {
1904               "VK_KHR_synchronization2",
1905             } } },
1906           { "VK_VERSION_1_3", { {} } } } },
1907       { "VK_HUAWEI_invocation_mask",
1908         { { "VK_VERSION_1_0",
1909             { {
1910               "VK_KHR_ray_tracing_pipeline",
1911               "VK_KHR_synchronization2",
1912             } } },
1913           { "VK_VERSION_1_3", { {} } } } },
1914       { "VK_NV_external_memory_rdma",
1915         { { "VK_VERSION_1_0",
1916             { {
1917               "VK_KHR_external_memory",
1918             } } },
1919           { "VK_VERSION_1_1", { {} } } } },
1920       { "VK_EXT_pipeline_properties",
1921         { { "VK_VERSION_1_0",
1922             { {
1923               "VK_KHR_get_physical_device_properties2",
1924             } } },
1925           { "VK_VERSION_1_1", { {} } } } },
1926       { "VK_EXT_multisampled_render_to_single_sampled",
1927         { { "VK_VERSION_1_0",
1928             { {
1929               "VK_KHR_create_renderpass2",
1930               "VK_KHR_depth_stencil_resolve",
1931             } } },
1932           { "VK_VERSION_1_2", { {} } } } },
1933       { "VK_EXT_extended_dynamic_state2",
1934         { { "VK_VERSION_1_0",
1935             { {
1936               "VK_KHR_get_physical_device_properties2",
1937             } } },
1938           { "VK_VERSION_1_1", { {} } } } },
1939 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
1940       { "VK_QNX_screen_surface",
1941         { { "VK_VERSION_1_0",
1942             { {
1943               "VK_KHR_surface",
1944             } } } } },
1945 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
1946       { "VK_EXT_color_write_enable",
1947         { { "VK_VERSION_1_0",
1948             { {
1949               "VK_KHR_get_physical_device_properties2",
1950             } } },
1951           { "VK_VERSION_1_1", { {} } } } },
1952       { "VK_EXT_primitives_generated_query",
1953         { { "VK_VERSION_1_0",
1954             { {
1955               "VK_EXT_transform_feedback",
1956             } } } } },
1957       { "VK_KHR_ray_tracing_maintenance1",
1958         { { "VK_VERSION_1_0",
1959             { {
1960               "VK_KHR_acceleration_structure",
1961             } } } } },
1962       { "VK_EXT_global_priority_query",
1963         { { "VK_VERSION_1_0",
1964             { {
1965               "VK_EXT_global_priority",
1966               "VK_KHR_get_physical_device_properties2",
1967             } } },
1968           { "VK_VERSION_1_1", { {} } } } },
1969       { "VK_EXT_image_view_min_lod",
1970         { { "VK_VERSION_1_0",
1971             { {
1972               "VK_KHR_get_physical_device_properties2",
1973             } } },
1974           { "VK_VERSION_1_1", { {} } } } },
1975       { "VK_EXT_multi_draw",
1976         { { "VK_VERSION_1_0",
1977             { {
1978               "VK_KHR_get_physical_device_properties2",
1979             } } },
1980           { "VK_VERSION_1_1", { {} } } } },
1981       { "VK_EXT_image_2d_view_of_3d",
1982         { { "VK_VERSION_1_0",
1983             { {
1984               "VK_KHR_maintenance1",
1985               "VK_KHR_get_physical_device_properties2",
1986             } } },
1987           { "VK_VERSION_1_1", { {} } } } },
1988       { "VK_EXT_shader_tile_image", { { "VK_VERSION_1_3", { {} } } } },
1989       { "VK_EXT_opacity_micromap",
1990         { { "VK_VERSION_1_0",
1991             { {
1992               "VK_KHR_acceleration_structure",
1993               "VK_KHR_synchronization2",
1994             } } },
1995           { "VK_VERSION_1_3", { {} } } } },
1996 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1997       { "VK_NV_displacement_micromap",
1998         { { "VK_VERSION_1_0",
1999             { {
2000               "VK_EXT_opacity_micromap",
2001             } } } } },
2002 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
2003       { "VK_HUAWEI_cluster_culling_shader",
2004         { { "VK_VERSION_1_0",
2005             { {
2006               "VK_KHR_get_physical_device_properties2",
2007             } } },
2008           { "VK_VERSION_1_1", { {} } } } },
2009       { "VK_EXT_border_color_swizzle",
2010         { { "VK_VERSION_1_0",
2011             { {
2012               "VK_EXT_custom_border_color",
2013             } } } } },
2014       { "VK_EXT_pageable_device_local_memory",
2015         { { "VK_VERSION_1_0",
2016             { {
2017               "VK_EXT_memory_priority",
2018             } } } } },
2019       { "VK_KHR_maintenance4", { { "VK_VERSION_1_1", { {} } } } },
2020       { "VK_ARM_shader_core_properties", { { "VK_VERSION_1_1", { {} } } } },
2021       { "VK_ARM_scheduling_controls",
2022         { { "VK_VERSION_1_0",
2023             { {
2024               "VK_ARM_shader_core_builtins",
2025             } } } } },
2026       { "VK_EXT_image_sliced_view_of_3d",
2027         { { "VK_VERSION_1_0",
2028             { {
2029               "VK_KHR_maintenance1",
2030               "VK_KHR_get_physical_device_properties2",
2031             } } },
2032           { "VK_VERSION_1_1", { {} } } } },
2033       { "VK_VALVE_descriptor_set_host_mapping",
2034         { { "VK_VERSION_1_0",
2035             { {
2036               "VK_KHR_get_physical_device_properties2",
2037             } } },
2038           { "VK_VERSION_1_1", { {} } } } },
2039       { "VK_EXT_depth_clamp_zero_one",
2040         { { "VK_VERSION_1_0",
2041             { {
2042               "VK_KHR_get_physical_device_properties2",
2043             } } },
2044           { "VK_VERSION_1_1", { {} } } } },
2045       { "VK_EXT_non_seamless_cube_map",
2046         { { "VK_VERSION_1_0",
2047             { {
2048               "VK_KHR_get_physical_device_properties2",
2049             } } },
2050           { "VK_VERSION_1_1", { {} } } } },
2051       { "VK_ARM_render_pass_striped",
2052         { { "VK_VERSION_1_0",
2053             { {
2054               "VK_KHR_get_physical_device_properties2",
2055             } } },
2056           { "VK_VERSION_1_1",
2057             { {
2058               "VK_KHR_synchronization2",
2059             } } },
2060           { "VK_VERSION_1_3", { {} } } } },
2061       { "VK_QCOM_fragment_density_map_offset",
2062         { { "VK_VERSION_1_0",
2063             { {
2064               "VK_KHR_get_physical_device_properties2",
2065             } } },
2066           { "VK_VERSION_1_1",
2067             { {
2068               "VK_EXT_fragment_density_map",
2069             } } } } },
2070       { "VK_NV_copy_memory_indirect",
2071         { { "VK_VERSION_1_0",
2072             { {
2073               "VK_KHR_get_physical_device_properties2",
2074             } } },
2075           { "VK_VERSION_1_1",
2076             { {
2077               "VK_KHR_buffer_device_address",
2078             } } },
2079           { "VK_VERSION_1_2", { {} } } } },
2080       { "VK_NV_memory_decompression",
2081         { { "VK_VERSION_1_0",
2082             { {
2083               "VK_KHR_get_physical_device_properties2",
2084             } } },
2085           { "VK_VERSION_1_1",
2086             { {
2087               "VK_KHR_buffer_device_address",
2088             } } },
2089           { "VK_VERSION_1_2", { {} } } } },
2090       { "VK_NV_device_generated_commands_compute",
2091         { { "VK_VERSION_1_0",
2092             { {
2093               "VK_NV_device_generated_commands",
2094             } } } } },
2095       { "VK_NV_ray_tracing_linear_swept_spheres",
2096         { { "VK_VERSION_1_0",
2097             { {
2098               "VK_KHR_ray_tracing_pipeline",
2099             } } } } },
2100       { "VK_NV_linear_color_attachment",
2101         { { "VK_VERSION_1_0",
2102             { {
2103               "VK_KHR_get_physical_device_properties2",
2104             } } },
2105           { "VK_VERSION_1_1", { {} } } } },
2106       { "VK_GOOGLE_surfaceless_query",
2107         { { "VK_VERSION_1_0",
2108             { {
2109               "VK_KHR_surface",
2110             } } } } },
2111       { "VK_KHR_shader_maximal_reconvergence", { { "VK_VERSION_1_1", { {} } } } },
2112       { "VK_EXT_image_compression_control_swapchain",
2113         { { "VK_VERSION_1_0",
2114             { {
2115               "VK_EXT_image_compression_control",
2116             } } } } },
2117       { "VK_QCOM_image_processing",
2118         { { "VK_VERSION_1_0",
2119             { {
2120               "VK_KHR_format_feature_flags2",
2121             } } },
2122           { "VK_VERSION_1_3", { {} } } } },
2123       { "VK_EXT_nested_command_buffer",
2124         { { "VK_VERSION_1_0",
2125             { {
2126               "VK_KHR_get_physical_device_properties2",
2127             } } },
2128           { "VK_VERSION_1_1", { {} } } } },
2129       { "VK_EXT_external_memory_acquire_unmodified",
2130         { { "VK_VERSION_1_0",
2131             { {
2132               "VK_KHR_external_memory",
2133             } } },
2134           { "VK_VERSION_1_1", { {} } } } },
2135       { "VK_EXT_extended_dynamic_state3",
2136         { { "VK_VERSION_1_0",
2137             { {
2138               "VK_KHR_get_physical_device_properties2",
2139             } } },
2140           { "VK_VERSION_1_1", { {} } } } },
2141       { "VK_EXT_subpass_merge_feedback",
2142         { { "VK_VERSION_1_0",
2143             { {
2144               "VK_KHR_get_physical_device_properties2",
2145             } } },
2146           { "VK_VERSION_1_1", { {} } } } },
2147       { "VK_EXT_shader_module_identifier",
2148         { { "VK_VERSION_1_0",
2149             { {
2150               "VK_KHR_get_physical_device_properties2",
2151             } } },
2152           { "VK_VERSION_1_1",
2153             { {
2154               "VK_EXT_pipeline_creation_cache_control",
2155             } } },
2156           { "VK_VERSION_1_3", { {} } } } },
2157       { "VK_EXT_rasterization_order_attachment_access",
2158         { { "VK_VERSION_1_0",
2159             { {
2160               "VK_KHR_get_physical_device_properties2",
2161             } } },
2162           { "VK_VERSION_1_1", { {} } } } },
2163       { "VK_NV_optical_flow",
2164         { { "VK_VERSION_1_0",
2165             { {
2166               "VK_KHR_get_physical_device_properties2",
2167             } } },
2168           { "VK_VERSION_1_1",
2169             { {
2170               "VK_KHR_format_feature_flags2",
2171               "VK_KHR_synchronization2",
2172             } } },
2173           { "VK_VERSION_1_3", { {} } } } },
2174       { "VK_EXT_legacy_dithering",
2175         { { "VK_VERSION_1_0",
2176             { {
2177               "VK_KHR_get_physical_device_properties2",
2178             } } },
2179           { "VK_VERSION_1_1", { {} } } } },
2180       { "VK_EXT_pipeline_protected_access",
2181         { { "VK_VERSION_1_0",
2182             { {
2183               "VK_KHR_get_physical_device_properties2",
2184             } } },
2185           { "VK_VERSION_1_1", { {} } } } },
2186 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
2187       { "VK_ANDROID_external_format_resolve",
2188         { { "VK_VERSION_1_0",
2189             { {
2190               "VK_ANDROID_external_memory_android_hardware_buffer",
2191             } } } } },
2192 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2193       { "VK_KHR_maintenance5",
2194         { { "VK_VERSION_1_1",
2195             { {
2196               "VK_KHR_dynamic_rendering",
2197             } } },
2198           { "VK_VERSION_1_3", { {} } } } },
2199       { "VK_KHR_ray_tracing_position_fetch",
2200         { { "VK_VERSION_1_0",
2201             { {
2202               "VK_KHR_acceleration_structure",
2203             } } } } },
2204       { "VK_EXT_shader_object",
2205         { { "VK_VERSION_1_0",
2206             { {
2207               "VK_KHR_get_physical_device_properties2",
2208             } } },
2209           { "VK_VERSION_1_1",
2210             { {
2211               "VK_KHR_dynamic_rendering",
2212             } } },
2213           { "VK_VERSION_1_3", { {} } } } },
2214       { "VK_KHR_pipeline_binary",
2215         { { "VK_VERSION_1_0",
2216             { {
2217               "VK_KHR_maintenance5",
2218             } } },
2219           { "VK_VERSION_1_4", { {} } } } },
2220       { "VK_QCOM_tile_properties",
2221         { { "VK_VERSION_1_0",
2222             { {
2223               "VK_KHR_get_physical_device_properties2",
2224             } } },
2225           { "VK_VERSION_1_1", { {} } } } },
2226       { "VK_SEC_amigo_profiling",
2227         { { "VK_VERSION_1_0",
2228             { {
2229               "VK_KHR_get_physical_device_properties2",
2230             } } },
2231           { "VK_VERSION_1_1", { {} } } } },
2232       { "VK_QCOM_multiview_per_view_viewports",
2233         { { "VK_VERSION_1_0",
2234             { {
2235               "VK_KHR_get_physical_device_properties2",
2236             } } },
2237           { "VK_VERSION_1_1", { {} } } } },
2238       { "VK_NV_ray_tracing_invocation_reorder",
2239         { { "VK_VERSION_1_0",
2240             { {
2241               "VK_KHR_ray_tracing_pipeline",
2242             } } } } },
2243       { "VK_EXT_mutable_descriptor_type",
2244         { { "VK_VERSION_1_0",
2245             { {
2246               "VK_KHR_maintenance3",
2247             } } },
2248           { "VK_VERSION_1_1", { {} } } } },
2249       { "VK_EXT_legacy_vertex_attributes",
2250         { { "VK_VERSION_1_0",
2251             { {
2252               "VK_EXT_vertex_input_dynamic_state",
2253             } } } } },
2254       { "VK_ARM_shader_core_builtins",
2255         { { "VK_VERSION_1_0",
2256             { {
2257               "VK_KHR_get_physical_device_properties2",
2258             } } },
2259           { "VK_VERSION_1_1", { {} } } } },
2260       { "VK_EXT_pipeline_library_group_handles",
2261         { { "VK_VERSION_1_0",
2262             { {
2263               "VK_KHR_ray_tracing_pipeline",
2264               "VK_KHR_pipeline_library",
2265             } } } } },
2266       { "VK_EXT_dynamic_rendering_unused_attachments",
2267         { { "VK_VERSION_1_0",
2268             { {
2269               "VK_KHR_get_physical_device_properties2",
2270             } } },
2271           { "VK_VERSION_1_1",
2272             { {
2273               "VK_KHR_dynamic_rendering",
2274             } } },
2275           { "VK_VERSION_1_3", { {} } } } },
2276       { "VK_NV_low_latency2",
2277         { { "VK_VERSION_1_0",
2278             { {
2279               "VK_KHR_timeline_semaphore",
2280             } } },
2281           { "VK_VERSION_1_2", { {} } } } },
2282       { "VK_KHR_cooperative_matrix",
2283         { { "VK_VERSION_1_0",
2284             { {
2285               "VK_KHR_get_physical_device_properties2",
2286             } } },
2287           { "VK_VERSION_1_1", { {} } } } },
2288       { "VK_KHR_compute_shader_derivatives",
2289         { { "VK_VERSION_1_0",
2290             { {
2291               "VK_KHR_get_physical_device_properties2",
2292             } } },
2293           { "VK_VERSION_1_1", { {} } } } },
2294       { "VK_KHR_video_decode_av1",
2295         { { "VK_VERSION_1_0",
2296             { {
2297               "VK_KHR_video_decode_queue",
2298             } } } } },
2299       { "VK_KHR_video_encode_av1",
2300         { { "VK_VERSION_1_0",
2301             { {
2302               "VK_KHR_video_encode_queue",
2303             } } } } },
2304       { "VK_KHR_video_maintenance1",
2305         { { "VK_VERSION_1_0",
2306             { {
2307               "VK_KHR_video_queue",
2308             } } } } },
2309       { "VK_NV_per_stage_descriptor_set",
2310         { { "VK_VERSION_1_0",
2311             { {
2312               "VK_KHR_maintenance6",
2313             } } },
2314           { "VK_VERSION_1_4", { {} } } } },
2315       { "VK_QCOM_image_processing2",
2316         { { "VK_VERSION_1_0",
2317             { {
2318               "VK_QCOM_image_processing",
2319             } } } } },
2320       { "VK_QCOM_filter_cubic_weights",
2321         { { "VK_VERSION_1_0",
2322             { {
2323               "VK_EXT_filter_cubic",
2324             } } } } },
2325       { "VK_QCOM_filter_cubic_clamp",
2326         { { "VK_VERSION_1_0",
2327             { {
2328               "VK_EXT_filter_cubic",
2329               "VK_EXT_sampler_filter_minmax",
2330             } } },
2331           { "VK_VERSION_1_2",
2332             { {
2333               "VK_EXT_filter_cubic",
2334             } } } } },
2335       { "VK_EXT_attachment_feedback_loop_dynamic_state",
2336         { { "VK_VERSION_1_0",
2337             { {
2338               "VK_KHR_get_physical_device_properties2",
2339             } } },
2340           { "VK_VERSION_1_1",
2341             { {
2342               "VK_EXT_attachment_feedback_loop_layout",
2343             } } } } },
2344       { "VK_KHR_vertex_attribute_divisor",
2345         { { "VK_VERSION_1_0",
2346             { {
2347               "VK_KHR_get_physical_device_properties2",
2348             } } },
2349           { "VK_VERSION_1_1", { {} } } } },
2350       { "VK_KHR_shader_float_controls2",
2351         { { "VK_VERSION_1_1",
2352             { {
2353               "VK_KHR_shader_float_controls",
2354             } } } } },
2355 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
2356       { "VK_QNX_external_memory_screen_buffer",
2357         { { "VK_VERSION_1_0",
2358             { {
2359               "VK_KHR_sampler_ycbcr_conversion",
2360               "VK_KHR_external_memory",
2361               "VK_KHR_dedicated_allocation",
2362             } } },
2363           { "VK_VERSION_1_1",
2364             { {
2365               "VK_EXT_queue_family_foreign",
2366             } } } } },
2367 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
2368       { "VK_MSFT_layered_driver",
2369         { { "VK_VERSION_1_0",
2370             { {
2371               "VK_KHR_get_physical_device_properties2",
2372             } } },
2373           { "VK_VERSION_1_1", { {} } } } },
2374       { "VK_KHR_index_type_uint8",
2375         { { "VK_VERSION_1_0",
2376             { {
2377               "VK_KHR_get_physical_device_properties2",
2378             } } },
2379           { "VK_VERSION_1_1", { {} } } } },
2380       { "VK_KHR_line_rasterization",
2381         { { "VK_VERSION_1_0",
2382             { {
2383               "VK_KHR_get_physical_device_properties2",
2384             } } },
2385           { "VK_VERSION_1_1", { {} } } } },
2386       { "VK_KHR_calibrated_timestamps",
2387         { { "VK_VERSION_1_0",
2388             { {
2389               "VK_KHR_get_physical_device_properties2",
2390             } } },
2391           { "VK_VERSION_1_1", { {} } } } },
2392       { "VK_KHR_shader_expect_assume",
2393         { { "VK_VERSION_1_0",
2394             { {
2395               "VK_KHR_get_physical_device_properties2",
2396             } } },
2397           { "VK_VERSION_1_1", { {} } } } },
2398       { "VK_KHR_maintenance6", { { "VK_VERSION_1_1", { {} } } } },
2399       { "VK_NV_descriptor_pool_overallocation", { { "VK_VERSION_1_1", { {} } } } },
2400       { "VK_NV_display_stereo",
2401         { { "VK_VERSION_1_0",
2402             { {
2403               "VK_KHR_display",
2404               "VK_KHR_get_display_properties2",
2405             } } } } },
2406       { "VK_KHR_video_encode_quantization_map",
2407         { { "VK_VERSION_1_0",
2408             { {
2409               "VK_KHR_video_encode_queue",
2410               "VK_KHR_format_feature_flags2",
2411             } } },
2412           { "VK_VERSION_1_3", { {} } } } },
2413       { "VK_KHR_maintenance7", { { "VK_VERSION_1_1", { {} } } } },
2414       { "VK_NV_cluster_acceleration_structure",
2415         { { "VK_VERSION_1_0",
2416             { {
2417               "VK_KHR_acceleration_structure",
2418             } } } } },
2419       { "VK_NV_partitioned_acceleration_structure",
2420         { { "VK_VERSION_1_0",
2421             { {
2422               "VK_KHR_acceleration_structure",
2423             } } } } },
2424       { "VK_EXT_device_generated_commands",
2425         { { "VK_VERSION_1_0",
2426             { {
2427               "VK_KHR_buffer_device_address",
2428             } } },
2429           { "VK_VERSION_1_2",
2430             { {
2431               "VK_KHR_maintenance5",
2432             } } },
2433           { "VK_VERSION_1_3", { {} } } } },
2434       { "VK_KHR_maintenance8", { { "VK_VERSION_1_1", { {} } } } },
2435       { "VK_MESA_image_alignment_control",
2436         { { "VK_VERSION_1_0",
2437             { {
2438               "VK_KHR_get_physical_device_properties2",
2439             } } },
2440           { "VK_VERSION_1_1", { {} } } } },
2441       { "VK_EXT_depth_clamp_control",
2442         { { "VK_VERSION_1_0",
2443             { {
2444               "VK_KHR_get_physical_device_properties2",
2445             } } },
2446           { "VK_VERSION_1_1", { {} } } } },
2447       { "VK_KHR_video_maintenance2",
2448         { { "VK_VERSION_1_0",
2449             { {
2450               "VK_KHR_video_queue",
2451             } } } } },
2452       { "VK_HUAWEI_hdr_vivid",
2453         { { "VK_VERSION_1_0",
2454             { {
2455               "VK_KHR_get_physical_device_properties2",
2456             } } },
2457           { "VK_VERSION_1_1",
2458             { {
2459               "VK_KHR_swapchain",
2460               "VK_EXT_hdr_metadata",
2461             } } } } },
2462       { "VK_NV_cooperative_matrix2",
2463         { { "VK_VERSION_1_0",
2464             { {
2465               "VK_KHR_cooperative_matrix",
2466             } } } } },
2467       { "VK_ARM_pipeline_opacity_micromap",
2468         { { "VK_VERSION_1_0",
2469             { {
2470               "VK_EXT_opacity_micromap",
2471             } } } } },
2472 #if defined( VK_USE_PLATFORM_METAL_EXT )
2473       { "VK_EXT_external_memory_metal",
2474         { { "VK_VERSION_1_0",
2475             { {
2476               "VK_KHR_external_memory",
2477             } } },
2478           { "VK_VERSION_1_1", { {} } } } },
2479 #endif /*VK_USE_PLATFORM_METAL_EXT*/
2480       { "VK_KHR_depth_clamp_zero_one",
2481         { { "VK_VERSION_1_0",
2482             { {
2483               "VK_KHR_get_physical_device_properties2",
2484             } } },
2485           { "VK_VERSION_1_1", { {} } } } },
2486       { "VK_EXT_vertex_attribute_robustness",
2487         { { "VK_VERSION_1_0",
2488             { {
2489               "VK_KHR_get_physical_device_properties2",
2490             } } },
2491           { "VK_VERSION_1_1", { {} } } } }
2492     };
2493     auto depIt = dependencies.find( extension );
2494     return ( depIt != dependencies.end() ) ? depIt->second : noDependencies;
2495   }
2496 
getExtensionDepends(std::string const & version,std::string const & extension)2497   VULKAN_HPP_INLINE std::pair<bool, std::vector<std::vector<std::string>> const &> getExtensionDepends( std::string const & version,
2498                                                                                                         std::string const & extension )
2499   {
2500 #if !defined( NDEBUG )
2501     static std::set<std::string> versions = { "VK_VERSION_1_0", "VK_VERSION_1_1", "VK_VERSION_1_2", "VK_VERSION_1_3", "VK_VERSION_1_4" };
2502     assert( versions.find( version ) != versions.end() );
2503 #endif
2504     static std::vector<std::vector<std::string>> noDependencies;
2505 
2506     std::map<std::string, std::vector<std::vector<std::string>>> const & dependencies = getExtensionDepends( extension );
2507     if ( dependencies.empty() )
2508     {
2509       return { true, noDependencies };
2510     }
2511     auto depIt = dependencies.lower_bound( version );
2512     if ( ( depIt == dependencies.end() ) || ( depIt->first != version ) )
2513     {
2514       depIt = std::prev( depIt );
2515     }
2516     if ( depIt == dependencies.end() )
2517     {
2518       return { false, noDependencies };
2519     }
2520     else
2521     {
2522       return { true, depIt->second };
2523     }
2524   }
2525 
getObsoletedExtensions()2526   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getObsoletedExtensions()
2527   {
2528     static const std::map<std::string, std::string> obsoletedExtensions = { { "VK_AMD_negative_viewport_height", "VK_KHR_maintenance1" } };
2529     return obsoletedExtensions;
2530   }
2531 
getPromotedExtensions()2532   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getPromotedExtensions()
2533   {
2534     static const std::map<std::string, std::string> promotedExtensions = {
2535       { "VK_KHR_sampler_mirror_clamp_to_edge", "VK_VERSION_1_2" },
2536       { "VK_EXT_debug_marker", "VK_EXT_debug_utils" },
2537       { "VK_AMD_draw_indirect_count", "VK_KHR_draw_indirect_count" },
2538       { "VK_KHR_dynamic_rendering", "VK_VERSION_1_3" },
2539       { "VK_KHR_multiview", "VK_VERSION_1_1" },
2540 #if defined( VK_USE_PLATFORM_WIN32_KHR )
2541       { "VK_NV_win32_keyed_mutex", "VK_KHR_win32_keyed_mutex" },
2542 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2543       { "VK_KHR_get_physical_device_properties2", "VK_VERSION_1_1" },
2544       { "VK_KHR_device_group", "VK_VERSION_1_1" },
2545       { "VK_KHR_shader_draw_parameters", "VK_VERSION_1_1" },
2546       { "VK_EXT_texture_compression_astc_hdr", "VK_VERSION_1_3" },
2547       { "VK_EXT_pipeline_robustness", "VK_VERSION_1_4" },
2548       { "VK_KHR_maintenance1", "VK_VERSION_1_1" },
2549       { "VK_KHR_device_group_creation", "VK_VERSION_1_1" },
2550       { "VK_KHR_external_memory_capabilities", "VK_VERSION_1_1" },
2551       { "VK_KHR_external_memory", "VK_VERSION_1_1" },
2552       { "VK_KHR_external_semaphore_capabilities", "VK_VERSION_1_1" },
2553       { "VK_KHR_external_semaphore", "VK_VERSION_1_1" },
2554       { "VK_KHR_push_descriptor", "VK_VERSION_1_4" },
2555       { "VK_KHR_shader_float16_int8", "VK_VERSION_1_2" },
2556       { "VK_KHR_16bit_storage", "VK_VERSION_1_1" },
2557       { "VK_KHR_descriptor_update_template", "VK_VERSION_1_1" },
2558       { "VK_KHR_imageless_framebuffer", "VK_VERSION_1_2" },
2559       { "VK_KHR_create_renderpass2", "VK_VERSION_1_2" },
2560       { "VK_KHR_external_fence_capabilities", "VK_VERSION_1_1" },
2561       { "VK_KHR_external_fence", "VK_VERSION_1_1" },
2562       { "VK_KHR_maintenance2", "VK_VERSION_1_1" },
2563       { "VK_KHR_variable_pointers", "VK_VERSION_1_1" },
2564       { "VK_KHR_dedicated_allocation", "VK_VERSION_1_1" },
2565       { "VK_EXT_sampler_filter_minmax", "VK_VERSION_1_2" },
2566       { "VK_KHR_storage_buffer_storage_class", "VK_VERSION_1_1" },
2567       { "VK_EXT_inline_uniform_block", "VK_VERSION_1_3" },
2568       { "VK_KHR_relaxed_block_layout", "VK_VERSION_1_1" },
2569       { "VK_KHR_get_memory_requirements2", "VK_VERSION_1_1" },
2570       { "VK_KHR_image_format_list", "VK_VERSION_1_2" },
2571       { "VK_KHR_sampler_ycbcr_conversion", "VK_VERSION_1_1" },
2572       { "VK_KHR_bind_memory2", "VK_VERSION_1_1" },
2573       { "VK_EXT_descriptor_indexing", "VK_VERSION_1_2" },
2574       { "VK_EXT_shader_viewport_index_layer", "VK_VERSION_1_2" },
2575       { "VK_KHR_maintenance3", "VK_VERSION_1_1" },
2576       { "VK_KHR_draw_indirect_count", "VK_VERSION_1_2" },
2577       { "VK_EXT_global_priority", "VK_KHR_global_priority" },
2578       { "VK_KHR_shader_subgroup_extended_types", "VK_VERSION_1_2" },
2579       { "VK_KHR_8bit_storage", "VK_VERSION_1_2" },
2580       { "VK_KHR_shader_atomic_int64", "VK_VERSION_1_2" },
2581       { "VK_EXT_calibrated_timestamps", "VK_KHR_calibrated_timestamps" },
2582       { "VK_KHR_global_priority", "VK_VERSION_1_4" },
2583       { "VK_EXT_vertex_attribute_divisor", "VK_KHR_vertex_attribute_divisor" },
2584       { "VK_EXT_pipeline_creation_feedback", "VK_VERSION_1_3" },
2585       { "VK_KHR_driver_properties", "VK_VERSION_1_2" },
2586       { "VK_KHR_shader_float_controls", "VK_VERSION_1_2" },
2587       { "VK_KHR_depth_stencil_resolve", "VK_VERSION_1_2" },
2588       { "VK_NV_compute_shader_derivatives", "VK_KHR_compute_shader_derivatives" },
2589       { "VK_NV_fragment_shader_barycentric", "VK_KHR_fragment_shader_barycentric" },
2590       { "VK_KHR_timeline_semaphore", "VK_VERSION_1_2" },
2591       { "VK_KHR_vulkan_memory_model", "VK_VERSION_1_2" },
2592       { "VK_KHR_shader_terminate_invocation", "VK_VERSION_1_3" },
2593       { "VK_EXT_scalar_block_layout", "VK_VERSION_1_2" },
2594       { "VK_EXT_subgroup_size_control", "VK_VERSION_1_3" },
2595       { "VK_KHR_dynamic_rendering_local_read", "VK_VERSION_1_4" },
2596       { "VK_KHR_spirv_1_4", "VK_VERSION_1_2" },
2597       { "VK_KHR_separate_depth_stencil_layouts", "VK_VERSION_1_2" },
2598       { "VK_EXT_tooling_info", "VK_VERSION_1_3" },
2599       { "VK_EXT_separate_stencil_usage", "VK_VERSION_1_2" },
2600       { "VK_KHR_uniform_buffer_standard_layout", "VK_VERSION_1_2" },
2601       { "VK_KHR_buffer_device_address", "VK_VERSION_1_2" },
2602       { "VK_EXT_line_rasterization", "VK_KHR_line_rasterization" },
2603       { "VK_EXT_host_query_reset", "VK_VERSION_1_2" },
2604       { "VK_EXT_index_type_uint8", "VK_KHR_index_type_uint8" },
2605       { "VK_EXT_extended_dynamic_state", "VK_VERSION_1_3" },
2606       { "VK_EXT_host_image_copy", "VK_VERSION_1_4" },
2607       { "VK_KHR_map_memory2", "VK_VERSION_1_4" },
2608       { "VK_EXT_shader_demote_to_helper_invocation", "VK_VERSION_1_3" },
2609       { "VK_KHR_shader_integer_dot_product", "VK_VERSION_1_3" },
2610       { "VK_EXT_texel_buffer_alignment", "VK_VERSION_1_3" },
2611       { "VK_KHR_shader_non_semantic_info", "VK_VERSION_1_3" },
2612       { "VK_EXT_private_data", "VK_VERSION_1_3" },
2613       { "VK_EXT_pipeline_creation_cache_control", "VK_VERSION_1_3" },
2614       { "VK_KHR_synchronization2", "VK_VERSION_1_3" },
2615       { "VK_KHR_zero_initialize_workgroup_memory", "VK_VERSION_1_3" },
2616       { "VK_EXT_ycbcr_2plane_444_formats", "VK_VERSION_1_3" },
2617       { "VK_EXT_image_robustness", "VK_VERSION_1_3" },
2618       { "VK_KHR_copy_commands2", "VK_VERSION_1_3" },
2619       { "VK_EXT_4444_formats", "VK_VERSION_1_3" },
2620       { "VK_ARM_rasterization_order_attachment_access", "VK_EXT_rasterization_order_attachment_access" },
2621       { "VK_VALVE_mutable_descriptor_type", "VK_EXT_mutable_descriptor_type" },
2622       { "VK_KHR_format_feature_flags2", "VK_VERSION_1_3" },
2623       { "VK_EXT_extended_dynamic_state2", "VK_VERSION_1_3" },
2624       { "VK_EXT_global_priority_query", "VK_KHR_global_priority" },
2625       { "VK_EXT_load_store_op_none", "VK_KHR_load_store_op_none" },
2626       { "VK_KHR_maintenance4", "VK_VERSION_1_3" },
2627       { "VK_KHR_shader_subgroup_rotate", "VK_VERSION_1_4" },
2628       { "VK_EXT_depth_clamp_zero_one", "VK_KHR_depth_clamp_zero_one" },
2629       { "VK_EXT_pipeline_protected_access", "VK_VERSION_1_4" },
2630       { "VK_KHR_maintenance5", "VK_VERSION_1_4" },
2631       { "VK_KHR_vertex_attribute_divisor", "VK_VERSION_1_4" },
2632       { "VK_KHR_load_store_op_none", "VK_VERSION_1_4" },
2633       { "VK_KHR_shader_float_controls2", "VK_VERSION_1_4" },
2634       { "VK_KHR_index_type_uint8", "VK_VERSION_1_4" },
2635       { "VK_KHR_line_rasterization", "VK_VERSION_1_4" },
2636       { "VK_KHR_shader_expect_assume", "VK_VERSION_1_4" },
2637       { "VK_KHR_maintenance6", "VK_VERSION_1_4" }
2638     };
2639     return promotedExtensions;
2640   }
2641 
getExtensionDeprecatedBy(std::string const & extension)2642   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionDeprecatedBy( std::string const & extension )
2643   {
2644     if ( extension == "VK_EXT_debug_report" )
2645     {
2646       return "VK_EXT_debug_utils";
2647     }
2648     if ( extension == "VK_NV_glsl_shader" )
2649     {
2650       return "";
2651     }
2652     if ( extension == "VK_NV_dedicated_allocation" )
2653     {
2654       return "VK_KHR_dedicated_allocation";
2655     }
2656     if ( extension == "VK_AMD_gpu_shader_half_float" )
2657     {
2658       return "VK_KHR_shader_float16_int8";
2659     }
2660     if ( extension == "VK_IMG_format_pvrtc" )
2661     {
2662       return "";
2663     }
2664     if ( extension == "VK_NV_external_memory_capabilities" )
2665     {
2666       return "VK_KHR_external_memory_capabilities";
2667     }
2668     if ( extension == "VK_NV_external_memory" )
2669     {
2670       return "VK_KHR_external_memory";
2671     }
2672 #if defined( VK_USE_PLATFORM_WIN32_KHR )
2673     if ( extension == "VK_NV_external_memory_win32" )
2674     {
2675       return "VK_KHR_external_memory_win32";
2676     }
2677 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2678     if ( extension == "VK_EXT_validation_flags" )
2679     {
2680       return "VK_EXT_layer_settings";
2681     }
2682     if ( extension == "VK_EXT_shader_subgroup_ballot" )
2683     {
2684       return "VK_VERSION_1_2";
2685     }
2686     if ( extension == "VK_EXT_shader_subgroup_vote" )
2687     {
2688       return "VK_VERSION_1_1";
2689     }
2690 #if defined( VK_USE_PLATFORM_IOS_MVK )
2691     if ( extension == "VK_MVK_ios_surface" )
2692     {
2693       return "VK_EXT_metal_surface";
2694     }
2695 #endif /*VK_USE_PLATFORM_IOS_MVK*/
2696 #if defined( VK_USE_PLATFORM_MACOS_MVK )
2697     if ( extension == "VK_MVK_macos_surface" )
2698     {
2699       return "VK_EXT_metal_surface";
2700     }
2701 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
2702     if ( extension == "VK_AMD_gpu_shader_int16" )
2703     {
2704       return "VK_KHR_shader_float16_int8";
2705     }
2706     if ( extension == "VK_NV_ray_tracing" )
2707     {
2708       return "VK_KHR_ray_tracing_pipeline";
2709     }
2710     if ( extension == "VK_EXT_buffer_device_address" )
2711     {
2712       return "VK_KHR_buffer_device_address";
2713     }
2714     if ( extension == "VK_EXT_validation_features" )
2715     {
2716       return "VK_EXT_layer_settings";
2717     }
2718     return "";
2719   }
2720 
getExtensionObsoletedBy(std::string const & extension)2721   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionObsoletedBy( std::string const & extension )
2722   {
2723     if ( extension == "VK_AMD_negative_viewport_height" )
2724     {
2725       return "VK_KHR_maintenance1";
2726     }
2727     return "";
2728   }
2729 
getExtensionPromotedTo(std::string const & extension)2730   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionPromotedTo( std::string const & extension )
2731   {
2732     if ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" )
2733     {
2734       return "VK_VERSION_1_2";
2735     }
2736     if ( extension == "VK_EXT_debug_marker" )
2737     {
2738       return "VK_EXT_debug_utils";
2739     }
2740     if ( extension == "VK_AMD_draw_indirect_count" )
2741     {
2742       return "VK_KHR_draw_indirect_count";
2743     }
2744     if ( extension == "VK_KHR_dynamic_rendering" )
2745     {
2746       return "VK_VERSION_1_3";
2747     }
2748     if ( extension == "VK_KHR_multiview" )
2749     {
2750       return "VK_VERSION_1_1";
2751     }
2752 #if defined( VK_USE_PLATFORM_WIN32_KHR )
2753     if ( extension == "VK_NV_win32_keyed_mutex" )
2754     {
2755       return "VK_KHR_win32_keyed_mutex";
2756     }
2757 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
2758     if ( extension == "VK_KHR_get_physical_device_properties2" )
2759     {
2760       return "VK_VERSION_1_1";
2761     }
2762     if ( extension == "VK_KHR_device_group" )
2763     {
2764       return "VK_VERSION_1_1";
2765     }
2766     if ( extension == "VK_KHR_shader_draw_parameters" )
2767     {
2768       return "VK_VERSION_1_1";
2769     }
2770     if ( extension == "VK_EXT_texture_compression_astc_hdr" )
2771     {
2772       return "VK_VERSION_1_3";
2773     }
2774     if ( extension == "VK_EXT_pipeline_robustness" )
2775     {
2776       return "VK_VERSION_1_4";
2777     }
2778     if ( extension == "VK_KHR_maintenance1" )
2779     {
2780       return "VK_VERSION_1_1";
2781     }
2782     if ( extension == "VK_KHR_device_group_creation" )
2783     {
2784       return "VK_VERSION_1_1";
2785     }
2786     if ( extension == "VK_KHR_external_memory_capabilities" )
2787     {
2788       return "VK_VERSION_1_1";
2789     }
2790     if ( extension == "VK_KHR_external_memory" )
2791     {
2792       return "VK_VERSION_1_1";
2793     }
2794     if ( extension == "VK_KHR_external_semaphore_capabilities" )
2795     {
2796       return "VK_VERSION_1_1";
2797     }
2798     if ( extension == "VK_KHR_external_semaphore" )
2799     {
2800       return "VK_VERSION_1_1";
2801     }
2802     if ( extension == "VK_KHR_push_descriptor" )
2803     {
2804       return "VK_VERSION_1_4";
2805     }
2806     if ( extension == "VK_KHR_shader_float16_int8" )
2807     {
2808       return "VK_VERSION_1_2";
2809     }
2810     if ( extension == "VK_KHR_16bit_storage" )
2811     {
2812       return "VK_VERSION_1_1";
2813     }
2814     if ( extension == "VK_KHR_descriptor_update_template" )
2815     {
2816       return "VK_VERSION_1_1";
2817     }
2818     if ( extension == "VK_KHR_imageless_framebuffer" )
2819     {
2820       return "VK_VERSION_1_2";
2821     }
2822     if ( extension == "VK_KHR_create_renderpass2" )
2823     {
2824       return "VK_VERSION_1_2";
2825     }
2826     if ( extension == "VK_KHR_external_fence_capabilities" )
2827     {
2828       return "VK_VERSION_1_1";
2829     }
2830     if ( extension == "VK_KHR_external_fence" )
2831     {
2832       return "VK_VERSION_1_1";
2833     }
2834     if ( extension == "VK_KHR_maintenance2" )
2835     {
2836       return "VK_VERSION_1_1";
2837     }
2838     if ( extension == "VK_KHR_variable_pointers" )
2839     {
2840       return "VK_VERSION_1_1";
2841     }
2842     if ( extension == "VK_KHR_dedicated_allocation" )
2843     {
2844       return "VK_VERSION_1_1";
2845     }
2846     if ( extension == "VK_EXT_sampler_filter_minmax" )
2847     {
2848       return "VK_VERSION_1_2";
2849     }
2850     if ( extension == "VK_KHR_storage_buffer_storage_class" )
2851     {
2852       return "VK_VERSION_1_1";
2853     }
2854     if ( extension == "VK_EXT_inline_uniform_block" )
2855     {
2856       return "VK_VERSION_1_3";
2857     }
2858     if ( extension == "VK_KHR_relaxed_block_layout" )
2859     {
2860       return "VK_VERSION_1_1";
2861     }
2862     if ( extension == "VK_KHR_get_memory_requirements2" )
2863     {
2864       return "VK_VERSION_1_1";
2865     }
2866     if ( extension == "VK_KHR_image_format_list" )
2867     {
2868       return "VK_VERSION_1_2";
2869     }
2870     if ( extension == "VK_KHR_sampler_ycbcr_conversion" )
2871     {
2872       return "VK_VERSION_1_1";
2873     }
2874     if ( extension == "VK_KHR_bind_memory2" )
2875     {
2876       return "VK_VERSION_1_1";
2877     }
2878     if ( extension == "VK_EXT_descriptor_indexing" )
2879     {
2880       return "VK_VERSION_1_2";
2881     }
2882     if ( extension == "VK_EXT_shader_viewport_index_layer" )
2883     {
2884       return "VK_VERSION_1_2";
2885     }
2886     if ( extension == "VK_KHR_maintenance3" )
2887     {
2888       return "VK_VERSION_1_1";
2889     }
2890     if ( extension == "VK_KHR_draw_indirect_count" )
2891     {
2892       return "VK_VERSION_1_2";
2893     }
2894     if ( extension == "VK_EXT_global_priority" )
2895     {
2896       return "VK_KHR_global_priority";
2897     }
2898     if ( extension == "VK_KHR_shader_subgroup_extended_types" )
2899     {
2900       return "VK_VERSION_1_2";
2901     }
2902     if ( extension == "VK_KHR_8bit_storage" )
2903     {
2904       return "VK_VERSION_1_2";
2905     }
2906     if ( extension == "VK_KHR_shader_atomic_int64" )
2907     {
2908       return "VK_VERSION_1_2";
2909     }
2910     if ( extension == "VK_EXT_calibrated_timestamps" )
2911     {
2912       return "VK_KHR_calibrated_timestamps";
2913     }
2914     if ( extension == "VK_KHR_global_priority" )
2915     {
2916       return "VK_VERSION_1_4";
2917     }
2918     if ( extension == "VK_EXT_vertex_attribute_divisor" )
2919     {
2920       return "VK_KHR_vertex_attribute_divisor";
2921     }
2922     if ( extension == "VK_EXT_pipeline_creation_feedback" )
2923     {
2924       return "VK_VERSION_1_3";
2925     }
2926     if ( extension == "VK_KHR_driver_properties" )
2927     {
2928       return "VK_VERSION_1_2";
2929     }
2930     if ( extension == "VK_KHR_shader_float_controls" )
2931     {
2932       return "VK_VERSION_1_2";
2933     }
2934     if ( extension == "VK_KHR_depth_stencil_resolve" )
2935     {
2936       return "VK_VERSION_1_2";
2937     }
2938     if ( extension == "VK_NV_compute_shader_derivatives" )
2939     {
2940       return "VK_KHR_compute_shader_derivatives";
2941     }
2942     if ( extension == "VK_NV_fragment_shader_barycentric" )
2943     {
2944       return "VK_KHR_fragment_shader_barycentric";
2945     }
2946     if ( extension == "VK_KHR_timeline_semaphore" )
2947     {
2948       return "VK_VERSION_1_2";
2949     }
2950     if ( extension == "VK_KHR_vulkan_memory_model" )
2951     {
2952       return "VK_VERSION_1_2";
2953     }
2954     if ( extension == "VK_KHR_shader_terminate_invocation" )
2955     {
2956       return "VK_VERSION_1_3";
2957     }
2958     if ( extension == "VK_EXT_scalar_block_layout" )
2959     {
2960       return "VK_VERSION_1_2";
2961     }
2962     if ( extension == "VK_EXT_subgroup_size_control" )
2963     {
2964       return "VK_VERSION_1_3";
2965     }
2966     if ( extension == "VK_KHR_dynamic_rendering_local_read" )
2967     {
2968       return "VK_VERSION_1_4";
2969     }
2970     if ( extension == "VK_KHR_spirv_1_4" )
2971     {
2972       return "VK_VERSION_1_2";
2973     }
2974     if ( extension == "VK_KHR_separate_depth_stencil_layouts" )
2975     {
2976       return "VK_VERSION_1_2";
2977     }
2978     if ( extension == "VK_EXT_tooling_info" )
2979     {
2980       return "VK_VERSION_1_3";
2981     }
2982     if ( extension == "VK_EXT_separate_stencil_usage" )
2983     {
2984       return "VK_VERSION_1_2";
2985     }
2986     if ( extension == "VK_KHR_uniform_buffer_standard_layout" )
2987     {
2988       return "VK_VERSION_1_2";
2989     }
2990     if ( extension == "VK_KHR_buffer_device_address" )
2991     {
2992       return "VK_VERSION_1_2";
2993     }
2994     if ( extension == "VK_EXT_line_rasterization" )
2995     {
2996       return "VK_KHR_line_rasterization";
2997     }
2998     if ( extension == "VK_EXT_host_query_reset" )
2999     {
3000       return "VK_VERSION_1_2";
3001     }
3002     if ( extension == "VK_EXT_index_type_uint8" )
3003     {
3004       return "VK_KHR_index_type_uint8";
3005     }
3006     if ( extension == "VK_EXT_extended_dynamic_state" )
3007     {
3008       return "VK_VERSION_1_3";
3009     }
3010     if ( extension == "VK_EXT_host_image_copy" )
3011     {
3012       return "VK_VERSION_1_4";
3013     }
3014     if ( extension == "VK_KHR_map_memory2" )
3015     {
3016       return "VK_VERSION_1_4";
3017     }
3018     if ( extension == "VK_EXT_shader_demote_to_helper_invocation" )
3019     {
3020       return "VK_VERSION_1_3";
3021     }
3022     if ( extension == "VK_KHR_shader_integer_dot_product" )
3023     {
3024       return "VK_VERSION_1_3";
3025     }
3026     if ( extension == "VK_EXT_texel_buffer_alignment" )
3027     {
3028       return "VK_VERSION_1_3";
3029     }
3030     if ( extension == "VK_KHR_shader_non_semantic_info" )
3031     {
3032       return "VK_VERSION_1_3";
3033     }
3034     if ( extension == "VK_EXT_private_data" )
3035     {
3036       return "VK_VERSION_1_3";
3037     }
3038     if ( extension == "VK_EXT_pipeline_creation_cache_control" )
3039     {
3040       return "VK_VERSION_1_3";
3041     }
3042     if ( extension == "VK_KHR_synchronization2" )
3043     {
3044       return "VK_VERSION_1_3";
3045     }
3046     if ( extension == "VK_KHR_zero_initialize_workgroup_memory" )
3047     {
3048       return "VK_VERSION_1_3";
3049     }
3050     if ( extension == "VK_EXT_ycbcr_2plane_444_formats" )
3051     {
3052       return "VK_VERSION_1_3";
3053     }
3054     if ( extension == "VK_EXT_image_robustness" )
3055     {
3056       return "VK_VERSION_1_3";
3057     }
3058     if ( extension == "VK_KHR_copy_commands2" )
3059     {
3060       return "VK_VERSION_1_3";
3061     }
3062     if ( extension == "VK_EXT_4444_formats" )
3063     {
3064       return "VK_VERSION_1_3";
3065     }
3066     if ( extension == "VK_ARM_rasterization_order_attachment_access" )
3067     {
3068       return "VK_EXT_rasterization_order_attachment_access";
3069     }
3070     if ( extension == "VK_VALVE_mutable_descriptor_type" )
3071     {
3072       return "VK_EXT_mutable_descriptor_type";
3073     }
3074     if ( extension == "VK_KHR_format_feature_flags2" )
3075     {
3076       return "VK_VERSION_1_3";
3077     }
3078     if ( extension == "VK_EXT_extended_dynamic_state2" )
3079     {
3080       return "VK_VERSION_1_3";
3081     }
3082     if ( extension == "VK_EXT_global_priority_query" )
3083     {
3084       return "VK_KHR_global_priority";
3085     }
3086     if ( extension == "VK_EXT_load_store_op_none" )
3087     {
3088       return "VK_KHR_load_store_op_none";
3089     }
3090     if ( extension == "VK_KHR_maintenance4" )
3091     {
3092       return "VK_VERSION_1_3";
3093     }
3094     if ( extension == "VK_KHR_shader_subgroup_rotate" )
3095     {
3096       return "VK_VERSION_1_4";
3097     }
3098     if ( extension == "VK_EXT_depth_clamp_zero_one" )
3099     {
3100       return "VK_KHR_depth_clamp_zero_one";
3101     }
3102     if ( extension == "VK_EXT_pipeline_protected_access" )
3103     {
3104       return "VK_VERSION_1_4";
3105     }
3106     if ( extension == "VK_KHR_maintenance5" )
3107     {
3108       return "VK_VERSION_1_4";
3109     }
3110     if ( extension == "VK_KHR_vertex_attribute_divisor" )
3111     {
3112       return "VK_VERSION_1_4";
3113     }
3114     if ( extension == "VK_KHR_load_store_op_none" )
3115     {
3116       return "VK_VERSION_1_4";
3117     }
3118     if ( extension == "VK_KHR_shader_float_controls2" )
3119     {
3120       return "VK_VERSION_1_4";
3121     }
3122     if ( extension == "VK_KHR_index_type_uint8" )
3123     {
3124       return "VK_VERSION_1_4";
3125     }
3126     if ( extension == "VK_KHR_line_rasterization" )
3127     {
3128       return "VK_VERSION_1_4";
3129     }
3130     if ( extension == "VK_KHR_shader_expect_assume" )
3131     {
3132       return "VK_VERSION_1_4";
3133     }
3134     if ( extension == "VK_KHR_maintenance6" )
3135     {
3136       return "VK_VERSION_1_4";
3137     }
3138     return "";
3139   }
3140 
isDeprecatedExtension(std::string const & extension)3141   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isDeprecatedExtension( std::string const & extension )
3142   {
3143     return ( extension == "VK_EXT_debug_report" ) || ( extension == "VK_NV_glsl_shader" ) || ( extension == "VK_NV_dedicated_allocation" ) ||
3144            ( extension == "VK_AMD_gpu_shader_half_float" ) || ( extension == "VK_IMG_format_pvrtc" ) || ( extension == "VK_NV_external_memory_capabilities" ) ||
3145            ( extension == "VK_NV_external_memory" ) ||
3146 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3147            ( extension == "VK_NV_external_memory_win32" ) ||
3148 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3149            ( extension == "VK_EXT_validation_flags" ) || ( extension == "VK_EXT_shader_subgroup_ballot" ) || ( extension == "VK_EXT_shader_subgroup_vote" ) ||
3150 #if defined( VK_USE_PLATFORM_IOS_MVK )
3151            ( extension == "VK_MVK_ios_surface" ) ||
3152 #endif /*VK_USE_PLATFORM_IOS_MVK*/
3153 #if defined( VK_USE_PLATFORM_MACOS_MVK )
3154            ( extension == "VK_MVK_macos_surface" ) ||
3155 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
3156            ( extension == "VK_AMD_gpu_shader_int16" ) || ( extension == "VK_NV_ray_tracing" ) || ( extension == "VK_EXT_buffer_device_address" ) ||
3157            ( extension == "VK_EXT_validation_features" );
3158   }
3159 
isDeviceExtension(std::string const & extension)3160   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isDeviceExtension( std::string const & extension )
3161   {
3162     return ( extension == "VK_KHR_swapchain" ) || ( extension == "VK_KHR_display_swapchain" ) || ( extension == "VK_NV_glsl_shader" ) ||
3163            ( extension == "VK_EXT_depth_range_unrestricted" ) || ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" ) ||
3164            ( extension == "VK_IMG_filter_cubic" ) || ( extension == "VK_AMD_rasterization_order" ) || ( extension == "VK_AMD_shader_trinary_minmax" ) ||
3165            ( extension == "VK_AMD_shader_explicit_vertex_parameter" ) || ( extension == "VK_EXT_debug_marker" ) || ( extension == "VK_KHR_video_queue" ) ||
3166            ( extension == "VK_KHR_video_decode_queue" ) || ( extension == "VK_AMD_gcn_shader" ) || ( extension == "VK_NV_dedicated_allocation" ) ||
3167            ( extension == "VK_EXT_transform_feedback" ) || ( extension == "VK_NVX_binary_import" ) || ( extension == "VK_NVX_image_view_handle" ) ||
3168            ( extension == "VK_AMD_draw_indirect_count" ) || ( extension == "VK_AMD_negative_viewport_height" ) ||
3169            ( extension == "VK_AMD_gpu_shader_half_float" ) || ( extension == "VK_AMD_shader_ballot" ) || ( extension == "VK_KHR_video_encode_h264" ) ||
3170            ( extension == "VK_KHR_video_encode_h265" ) || ( extension == "VK_KHR_video_decode_h264" ) || ( extension == "VK_AMD_texture_gather_bias_lod" ) ||
3171            ( extension == "VK_AMD_shader_info" ) || ( extension == "VK_KHR_dynamic_rendering" ) || ( extension == "VK_AMD_shader_image_load_store_lod" ) ||
3172            ( extension == "VK_NV_corner_sampled_image" ) || ( extension == "VK_KHR_multiview" ) || ( extension == "VK_IMG_format_pvrtc" ) ||
3173            ( extension == "VK_NV_external_memory" )
3174 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3175         || ( extension == "VK_NV_external_memory_win32" ) || ( extension == "VK_NV_win32_keyed_mutex" )
3176 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3177         || ( extension == "VK_KHR_device_group" ) || ( extension == "VK_KHR_shader_draw_parameters" ) || ( extension == "VK_EXT_shader_subgroup_ballot" ) ||
3178            ( extension == "VK_EXT_shader_subgroup_vote" ) || ( extension == "VK_EXT_texture_compression_astc_hdr" ) ||
3179            ( extension == "VK_EXT_astc_decode_mode" ) || ( extension == "VK_EXT_pipeline_robustness" ) || ( extension == "VK_KHR_maintenance1" ) ||
3180            ( extension == "VK_KHR_external_memory" )
3181 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3182         || ( extension == "VK_KHR_external_memory_win32" )
3183 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3184         || ( extension == "VK_KHR_external_memory_fd" )
3185 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3186         || ( extension == "VK_KHR_win32_keyed_mutex" )
3187 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3188         || ( extension == "VK_KHR_external_semaphore" )
3189 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3190         || ( extension == "VK_KHR_external_semaphore_win32" )
3191 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3192         || ( extension == "VK_KHR_external_semaphore_fd" ) || ( extension == "VK_KHR_push_descriptor" ) || ( extension == "VK_EXT_conditional_rendering" ) ||
3193            ( extension == "VK_KHR_shader_float16_int8" ) || ( extension == "VK_KHR_16bit_storage" ) || ( extension == "VK_KHR_incremental_present" ) ||
3194            ( extension == "VK_KHR_descriptor_update_template" ) || ( extension == "VK_NV_clip_space_w_scaling" ) || ( extension == "VK_EXT_display_control" ) ||
3195            ( extension == "VK_GOOGLE_display_timing" ) || ( extension == "VK_NV_sample_mask_override_coverage" ) ||
3196            ( extension == "VK_NV_geometry_shader_passthrough" ) || ( extension == "VK_NV_viewport_array2" ) ||
3197            ( extension == "VK_NVX_multiview_per_view_attributes" ) || ( extension == "VK_NV_viewport_swizzle" ) ||
3198            ( extension == "VK_EXT_discard_rectangles" ) || ( extension == "VK_EXT_conservative_rasterization" ) ||
3199            ( extension == "VK_EXT_depth_clip_enable" ) || ( extension == "VK_EXT_hdr_metadata" ) || ( extension == "VK_KHR_imageless_framebuffer" ) ||
3200            ( extension == "VK_KHR_create_renderpass2" ) || ( extension == "VK_IMG_relaxed_line_rasterization" ) ||
3201            ( extension == "VK_KHR_shared_presentable_image" ) || ( extension == "VK_KHR_external_fence" )
3202 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3203         || ( extension == "VK_KHR_external_fence_win32" )
3204 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3205         || ( extension == "VK_KHR_external_fence_fd" ) || ( extension == "VK_KHR_performance_query" ) || ( extension == "VK_KHR_maintenance2" ) ||
3206            ( extension == "VK_KHR_variable_pointers" ) || ( extension == "VK_EXT_external_memory_dma_buf" ) || ( extension == "VK_EXT_queue_family_foreign" ) ||
3207            ( extension == "VK_KHR_dedicated_allocation" )
3208 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
3209         || ( extension == "VK_ANDROID_external_memory_android_hardware_buffer" )
3210 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3211         || ( extension == "VK_EXT_sampler_filter_minmax" ) || ( extension == "VK_KHR_storage_buffer_storage_class" ) ||
3212            ( extension == "VK_AMD_gpu_shader_int16" )
3213 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3214         || ( extension == "VK_AMDX_shader_enqueue" )
3215 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3216         || ( extension == "VK_AMD_mixed_attachment_samples" ) || ( extension == "VK_AMD_shader_fragment_mask" ) ||
3217            ( extension == "VK_EXT_inline_uniform_block" ) || ( extension == "VK_EXT_shader_stencil_export" ) || ( extension == "VK_EXT_sample_locations" ) ||
3218            ( extension == "VK_KHR_relaxed_block_layout" ) || ( extension == "VK_KHR_get_memory_requirements2" ) ||
3219            ( extension == "VK_KHR_image_format_list" ) || ( extension == "VK_EXT_blend_operation_advanced" ) ||
3220            ( extension == "VK_NV_fragment_coverage_to_color" ) || ( extension == "VK_KHR_acceleration_structure" ) ||
3221            ( extension == "VK_KHR_ray_tracing_pipeline" ) || ( extension == "VK_KHR_ray_query" ) || ( extension == "VK_NV_framebuffer_mixed_samples" ) ||
3222            ( extension == "VK_NV_fill_rectangle" ) || ( extension == "VK_NV_shader_sm_builtins" ) || ( extension == "VK_EXT_post_depth_coverage" ) ||
3223            ( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) ||
3224            ( extension == "VK_EXT_image_drm_format_modifier" ) || ( extension == "VK_EXT_validation_cache" ) || ( extension == "VK_EXT_descriptor_indexing" ) ||
3225            ( extension == "VK_EXT_shader_viewport_index_layer" )
3226 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3227         || ( extension == "VK_KHR_portability_subset" )
3228 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3229         || ( extension == "VK_NV_shading_rate_image" ) || ( extension == "VK_NV_ray_tracing" ) || ( extension == "VK_NV_representative_fragment_test" ) ||
3230            ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) || ( extension == "VK_EXT_filter_cubic" ) ||
3231            ( extension == "VK_QCOM_render_pass_shader_resolve" ) || ( extension == "VK_EXT_global_priority" ) ||
3232            ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
3233            ( extension == "VK_EXT_external_memory_host" ) || ( extension == "VK_AMD_buffer_marker" ) || ( extension == "VK_KHR_shader_atomic_int64" ) ||
3234            ( extension == "VK_KHR_shader_clock" ) || ( extension == "VK_AMD_pipeline_compiler_control" ) || ( extension == "VK_EXT_calibrated_timestamps" ) ||
3235            ( extension == "VK_AMD_shader_core_properties" ) || ( extension == "VK_KHR_video_decode_h265" ) || ( extension == "VK_KHR_global_priority" ) ||
3236            ( extension == "VK_AMD_memory_overallocation_behavior" ) || ( extension == "VK_EXT_vertex_attribute_divisor" )
3237 #if defined( VK_USE_PLATFORM_GGP )
3238         || ( extension == "VK_GGP_frame_token" )
3239 #endif /*VK_USE_PLATFORM_GGP*/
3240         || ( extension == "VK_EXT_pipeline_creation_feedback" ) || ( extension == "VK_KHR_driver_properties" ) ||
3241            ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_NV_shader_subgroup_partitioned" ) ||
3242            ( extension == "VK_KHR_depth_stencil_resolve" ) || ( extension == "VK_KHR_swapchain_mutable_format" ) ||
3243            ( extension == "VK_NV_compute_shader_derivatives" ) || ( extension == "VK_NV_mesh_shader" ) ||
3244            ( extension == "VK_NV_fragment_shader_barycentric" ) || ( extension == "VK_NV_shader_image_footprint" ) ||
3245            ( extension == "VK_NV_scissor_exclusive" ) || ( extension == "VK_NV_device_diagnostic_checkpoints" ) ||
3246            ( extension == "VK_KHR_timeline_semaphore" ) || ( extension == "VK_INTEL_shader_integer_functions2" ) ||
3247            ( extension == "VK_INTEL_performance_query" ) || ( extension == "VK_KHR_vulkan_memory_model" ) || ( extension == "VK_EXT_pci_bus_info" ) ||
3248            ( extension == "VK_AMD_display_native_hdr" ) || ( extension == "VK_KHR_shader_terminate_invocation" ) ||
3249            ( extension == "VK_EXT_fragment_density_map" ) || ( extension == "VK_EXT_scalar_block_layout" ) ||
3250            ( extension == "VK_GOOGLE_hlsl_functionality1" ) || ( extension == "VK_GOOGLE_decorate_string" ) ||
3251            ( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_fragment_shading_rate" ) ||
3252            ( extension == "VK_AMD_shader_core_properties2" ) || ( extension == "VK_AMD_device_coherent_memory" ) ||
3253            ( extension == "VK_KHR_dynamic_rendering_local_read" ) || ( extension == "VK_EXT_shader_image_atomic_int64" ) ||
3254            ( extension == "VK_KHR_shader_quad_control" ) || ( extension == "VK_KHR_spirv_1_4" ) || ( extension == "VK_EXT_memory_budget" ) ||
3255            ( extension == "VK_EXT_memory_priority" ) || ( extension == "VK_NV_dedicated_allocation_image_aliasing" ) ||
3256            ( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_buffer_device_address" ) ||
3257            ( extension == "VK_EXT_tooling_info" ) || ( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_present_wait" ) ||
3258            ( extension == "VK_NV_cooperative_matrix" ) || ( extension == "VK_NV_coverage_reduction_mode" ) ||
3259            ( extension == "VK_EXT_fragment_shader_interlock" ) || ( extension == "VK_EXT_ycbcr_image_arrays" ) ||
3260            ( extension == "VK_KHR_uniform_buffer_standard_layout" ) || ( extension == "VK_EXT_provoking_vertex" )
3261 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3262         || ( extension == "VK_EXT_full_screen_exclusive" )
3263 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3264         || ( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_line_rasterization" ) || ( extension == "VK_EXT_shader_atomic_float" ) ||
3265            ( extension == "VK_EXT_host_query_reset" ) || ( extension == "VK_EXT_index_type_uint8" ) || ( extension == "VK_EXT_extended_dynamic_state" ) ||
3266            ( extension == "VK_KHR_deferred_host_operations" ) || ( extension == "VK_KHR_pipeline_executable_properties" ) ||
3267            ( extension == "VK_EXT_host_image_copy" ) || ( extension == "VK_KHR_map_memory2" ) || ( extension == "VK_EXT_map_memory_placed" ) ||
3268            ( extension == "VK_EXT_shader_atomic_float2" ) || ( extension == "VK_EXT_swapchain_maintenance1" ) ||
3269            ( extension == "VK_EXT_shader_demote_to_helper_invocation" ) || ( extension == "VK_NV_device_generated_commands" ) ||
3270            ( extension == "VK_NV_inherited_viewport_scissor" ) || ( extension == "VK_KHR_shader_integer_dot_product" ) ||
3271            ( extension == "VK_EXT_texel_buffer_alignment" ) || ( extension == "VK_QCOM_render_pass_transform" ) ||
3272            ( extension == "VK_EXT_depth_bias_control" ) || ( extension == "VK_EXT_device_memory_report" ) || ( extension == "VK_EXT_robustness2" ) ||
3273            ( extension == "VK_EXT_custom_border_color" ) || ( extension == "VK_GOOGLE_user_type" ) || ( extension == "VK_KHR_pipeline_library" ) ||
3274            ( extension == "VK_NV_present_barrier" ) || ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_KHR_present_id" ) ||
3275            ( extension == "VK_EXT_private_data" ) || ( extension == "VK_EXT_pipeline_creation_cache_control" ) ||
3276            ( extension == "VK_KHR_video_encode_queue" ) || ( extension == "VK_NV_device_diagnostics_config" ) ||
3277            ( extension == "VK_QCOM_render_pass_store_ops" )
3278 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3279         || ( extension == "VK_NV_cuda_kernel_launch" )
3280 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3281         || ( extension == "VK_NV_low_latency" )
3282 #if defined( VK_USE_PLATFORM_METAL_EXT )
3283         || ( extension == "VK_EXT_metal_objects" )
3284 #endif /*VK_USE_PLATFORM_METAL_EXT*/
3285         || ( extension == "VK_KHR_synchronization2" ) || ( extension == "VK_EXT_descriptor_buffer" ) || ( extension == "VK_EXT_graphics_pipeline_library" ) ||
3286            ( extension == "VK_AMD_shader_early_and_late_fragment_tests" ) || ( extension == "VK_KHR_fragment_shader_barycentric" ) ||
3287            ( extension == "VK_KHR_shader_subgroup_uniform_control_flow" ) || ( extension == "VK_KHR_zero_initialize_workgroup_memory" ) ||
3288            ( extension == "VK_NV_fragment_shading_rate_enums" ) || ( extension == "VK_NV_ray_tracing_motion_blur" ) || ( extension == "VK_EXT_mesh_shader" ) ||
3289            ( extension == "VK_EXT_ycbcr_2plane_444_formats" ) || ( extension == "VK_EXT_fragment_density_map2" ) ||
3290            ( extension == "VK_QCOM_rotated_copy_commands" ) || ( extension == "VK_EXT_image_robustness" ) ||
3291            ( extension == "VK_KHR_workgroup_memory_explicit_layout" ) || ( extension == "VK_KHR_copy_commands2" ) ||
3292            ( extension == "VK_EXT_image_compression_control" ) || ( extension == "VK_EXT_attachment_feedback_loop_layout" ) ||
3293            ( extension == "VK_EXT_4444_formats" ) || ( extension == "VK_EXT_device_fault" ) ||
3294            ( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_EXT_rgba10x6_formats" )
3295 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3296         || ( extension == "VK_NV_acquire_winrt_display" )
3297 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3298         || ( extension == "VK_VALVE_mutable_descriptor_type" ) || ( extension == "VK_EXT_vertex_input_dynamic_state" ) ||
3299            ( extension == "VK_EXT_physical_device_drm" ) || ( extension == "VK_EXT_device_address_binding_report" ) ||
3300            ( extension == "VK_EXT_depth_clip_control" ) || ( extension == "VK_EXT_primitive_topology_list_restart" ) ||
3301            ( extension == "VK_KHR_format_feature_flags2" ) || ( extension == "VK_EXT_present_mode_fifo_latest_ready" )
3302 #if defined( VK_USE_PLATFORM_FUCHSIA )
3303         || ( extension == "VK_FUCHSIA_external_memory" ) || ( extension == "VK_FUCHSIA_external_semaphore" ) || ( extension == "VK_FUCHSIA_buffer_collection" )
3304 #endif /*VK_USE_PLATFORM_FUCHSIA*/
3305         || ( extension == "VK_HUAWEI_subpass_shading" ) || ( extension == "VK_HUAWEI_invocation_mask" ) || ( extension == "VK_NV_external_memory_rdma" ) ||
3306            ( extension == "VK_EXT_pipeline_properties" ) || ( extension == "VK_EXT_frame_boundary" ) ||
3307            ( extension == "VK_EXT_multisampled_render_to_single_sampled" ) || ( extension == "VK_EXT_extended_dynamic_state2" ) ||
3308            ( extension == "VK_EXT_color_write_enable" ) || ( extension == "VK_EXT_primitives_generated_query" ) ||
3309            ( extension == "VK_KHR_ray_tracing_maintenance1" ) || ( extension == "VK_EXT_global_priority_query" ) ||
3310            ( extension == "VK_EXT_image_view_min_lod" ) || ( extension == "VK_EXT_multi_draw" ) || ( extension == "VK_EXT_image_2d_view_of_3d" ) ||
3311            ( extension == "VK_EXT_shader_tile_image" ) || ( extension == "VK_EXT_opacity_micromap" )
3312 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3313         || ( extension == "VK_NV_displacement_micromap" )
3314 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3315         || ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_HUAWEI_cluster_culling_shader" ) ||
3316            ( extension == "VK_EXT_border_color_swizzle" ) || ( extension == "VK_EXT_pageable_device_local_memory" ) || ( extension == "VK_KHR_maintenance4" ) ||
3317            ( extension == "VK_ARM_shader_core_properties" ) || ( extension == "VK_KHR_shader_subgroup_rotate" ) ||
3318            ( extension == "VK_ARM_scheduling_controls" ) || ( extension == "VK_EXT_image_sliced_view_of_3d" ) ||
3319            ( extension == "VK_VALVE_descriptor_set_host_mapping" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) ||
3320            ( extension == "VK_EXT_non_seamless_cube_map" ) || ( extension == "VK_ARM_render_pass_striped" ) ||
3321            ( extension == "VK_QCOM_fragment_density_map_offset" ) || ( extension == "VK_NV_copy_memory_indirect" ) ||
3322            ( extension == "VK_NV_memory_decompression" ) || ( extension == "VK_NV_device_generated_commands_compute" ) ||
3323            ( extension == "VK_NV_ray_tracing_linear_swept_spheres" ) || ( extension == "VK_NV_linear_color_attachment" ) ||
3324            ( extension == "VK_KHR_shader_maximal_reconvergence" ) || ( extension == "VK_EXT_image_compression_control_swapchain" ) ||
3325            ( extension == "VK_QCOM_image_processing" ) || ( extension == "VK_EXT_nested_command_buffer" ) ||
3326            ( extension == "VK_EXT_external_memory_acquire_unmodified" ) || ( extension == "VK_EXT_extended_dynamic_state3" ) ||
3327            ( extension == "VK_EXT_subpass_merge_feedback" ) || ( extension == "VK_EXT_shader_module_identifier" ) ||
3328            ( extension == "VK_EXT_rasterization_order_attachment_access" ) || ( extension == "VK_NV_optical_flow" ) ||
3329            ( extension == "VK_EXT_legacy_dithering" ) || ( extension == "VK_EXT_pipeline_protected_access" )
3330 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
3331         || ( extension == "VK_ANDROID_external_format_resolve" )
3332 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3333         || ( extension == "VK_KHR_maintenance5" ) || ( extension == "VK_AMD_anti_lag" ) || ( extension == "VK_KHR_ray_tracing_position_fetch" ) ||
3334            ( extension == "VK_EXT_shader_object" ) || ( extension == "VK_KHR_pipeline_binary" ) || ( extension == "VK_QCOM_tile_properties" ) ||
3335            ( extension == "VK_SEC_amigo_profiling" ) || ( extension == "VK_QCOM_multiview_per_view_viewports" ) ||
3336            ( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_NV_cooperative_vector" ) ||
3337            ( extension == "VK_NV_extended_sparse_address_space" ) || ( extension == "VK_EXT_mutable_descriptor_type" ) ||
3338            ( extension == "VK_EXT_legacy_vertex_attributes" ) || ( extension == "VK_ARM_shader_core_builtins" ) ||
3339            ( extension == "VK_EXT_pipeline_library_group_handles" ) || ( extension == "VK_EXT_dynamic_rendering_unused_attachments" ) ||
3340            ( extension == "VK_NV_low_latency2" ) || ( extension == "VK_KHR_cooperative_matrix" ) ||
3341            ( extension == "VK_QCOM_multiview_per_view_render_areas" ) || ( extension == "VK_KHR_compute_shader_derivatives" ) ||
3342            ( extension == "VK_KHR_video_decode_av1" ) || ( extension == "VK_KHR_video_encode_av1" ) || ( extension == "VK_KHR_video_maintenance1" ) ||
3343            ( extension == "VK_NV_per_stage_descriptor_set" ) || ( extension == "VK_QCOM_image_processing2" ) ||
3344            ( extension == "VK_QCOM_filter_cubic_weights" ) || ( extension == "VK_QCOM_ycbcr_degamma" ) || ( extension == "VK_QCOM_filter_cubic_clamp" ) ||
3345            ( extension == "VK_EXT_attachment_feedback_loop_dynamic_state" ) || ( extension == "VK_KHR_vertex_attribute_divisor" ) ||
3346            ( extension == "VK_KHR_load_store_op_none" ) || ( extension == "VK_KHR_shader_float_controls2" )
3347 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
3348         || ( extension == "VK_QNX_external_memory_screen_buffer" )
3349 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
3350         || ( extension == "VK_MSFT_layered_driver" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) ||
3351            ( extension == "VK_KHR_calibrated_timestamps" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) ||
3352            ( extension == "VK_NV_descriptor_pool_overallocation" ) || ( extension == "VK_KHR_video_encode_quantization_map" ) ||
3353            ( extension == "VK_NV_raw_access_chains" ) || ( extension == "VK_KHR_shader_relaxed_extended_instruction" ) ||
3354            ( extension == "VK_NV_command_buffer_inheritance" ) || ( extension == "VK_KHR_maintenance7" ) ||
3355            ( extension == "VK_NV_shader_atomic_float16_vector" ) || ( extension == "VK_EXT_shader_replicated_composites" ) ||
3356            ( extension == "VK_NV_ray_tracing_validation" ) || ( extension == "VK_NV_cluster_acceleration_structure" ) ||
3357            ( extension == "VK_NV_partitioned_acceleration_structure" ) || ( extension == "VK_EXT_device_generated_commands" ) ||
3358            ( extension == "VK_KHR_maintenance8" ) || ( extension == "VK_MESA_image_alignment_control" ) || ( extension == "VK_EXT_depth_clamp_control" ) ||
3359            ( extension == "VK_KHR_video_maintenance2" ) || ( extension == "VK_HUAWEI_hdr_vivid" ) || ( extension == "VK_NV_cooperative_matrix2" ) ||
3360            ( extension == "VK_ARM_pipeline_opacity_micromap" )
3361 #if defined( VK_USE_PLATFORM_METAL_EXT )
3362         || ( extension == "VK_EXT_external_memory_metal" )
3363 #endif /*VK_USE_PLATFORM_METAL_EXT*/
3364         || ( extension == "VK_KHR_depth_clamp_zero_one" ) || ( extension == "VK_EXT_vertex_attribute_robustness" )
3365 #if defined( VK_ENABLE_BETA_EXTENSIONS )
3366         || ( extension == "VK_NV_present_metering" )
3367 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
3368       ;
3369   }
3370 
isInstanceExtension(std::string const & extension)3371   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension )
3372   {
3373     return ( extension == "VK_KHR_surface" ) || ( extension == "VK_KHR_display" )
3374 #if defined( VK_USE_PLATFORM_XLIB_KHR )
3375         || ( extension == "VK_KHR_xlib_surface" )
3376 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
3377 #if defined( VK_USE_PLATFORM_XCB_KHR )
3378         || ( extension == "VK_KHR_xcb_surface" )
3379 #endif /*VK_USE_PLATFORM_XCB_KHR*/
3380 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
3381         || ( extension == "VK_KHR_wayland_surface" )
3382 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
3383 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
3384         || ( extension == "VK_KHR_android_surface" )
3385 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3386 #if defined( VK_USE_PLATFORM_OHOS )
3387         || ( extension == "VK_OHOS_surface" )
3388 #endif /*VK_USE_PLATFORM_OHOS*/
3389 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3390         || ( extension == "VK_KHR_win32_surface" )
3391 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3392         || ( extension == "VK_EXT_debug_report" )
3393 #if defined( VK_USE_PLATFORM_GGP )
3394         || ( extension == "VK_GGP_stream_descriptor_surface" )
3395 #endif /*VK_USE_PLATFORM_GGP*/
3396         || ( extension == "VK_NV_external_memory_capabilities" ) || ( extension == "VK_KHR_get_physical_device_properties2" ) ||
3397            ( extension == "VK_EXT_validation_flags" )
3398 #if defined( VK_USE_PLATFORM_VI_NN )
3399         || ( extension == "VK_NN_vi_surface" )
3400 #endif /*VK_USE_PLATFORM_VI_NN*/
3401         || ( extension == "VK_KHR_device_group_creation" ) || ( extension == "VK_KHR_external_memory_capabilities" ) ||
3402            ( extension == "VK_KHR_external_semaphore_capabilities" ) || ( extension == "VK_EXT_direct_mode_display" )
3403 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3404         || ( extension == "VK_EXT_acquire_xlib_display" )
3405 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3406         || ( extension == "VK_EXT_display_surface_counter" ) || ( extension == "VK_EXT_swapchain_colorspace" ) ||
3407            ( extension == "VK_KHR_external_fence_capabilities" ) || ( extension == "VK_KHR_get_surface_capabilities2" ) ||
3408            ( extension == "VK_KHR_get_display_properties2" )
3409 #if defined( VK_USE_PLATFORM_IOS_MVK )
3410         || ( extension == "VK_MVK_ios_surface" )
3411 #endif /*VK_USE_PLATFORM_IOS_MVK*/
3412 #if defined( VK_USE_PLATFORM_MACOS_MVK )
3413         || ( extension == "VK_MVK_macos_surface" )
3414 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
3415         || ( extension == "VK_EXT_debug_utils" )
3416 #if defined( VK_USE_PLATFORM_FUCHSIA )
3417         || ( extension == "VK_FUCHSIA_imagepipe_surface" )
3418 #endif /*VK_USE_PLATFORM_FUCHSIA*/
3419 #if defined( VK_USE_PLATFORM_METAL_EXT )
3420         || ( extension == "VK_EXT_metal_surface" )
3421 #endif /*VK_USE_PLATFORM_METAL_EXT*/
3422         || ( extension == "VK_KHR_surface_protected_capabilities" ) || ( extension == "VK_EXT_validation_features" ) ||
3423            ( extension == "VK_EXT_headless_surface" ) || ( extension == "VK_EXT_surface_maintenance1" ) || ( extension == "VK_EXT_acquire_drm_display" )
3424 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
3425         || ( extension == "VK_EXT_directfb_surface" )
3426 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
3427 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
3428         || ( extension == "VK_QNX_screen_surface" )
3429 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
3430         || ( extension == "VK_KHR_portability_enumeration" ) || ( extension == "VK_GOOGLE_surfaceless_query" ) ||
3431            ( extension == "VK_LUNARG_direct_driver_loading" ) || ( extension == "VK_EXT_layer_settings" ) || ( extension == "VK_NV_display_stereo" );
3432   }
3433 
isObsoletedExtension(std::string const & extension)3434   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isObsoletedExtension( std::string const & extension )
3435   {
3436     return ( extension == "VK_AMD_negative_viewport_height" );
3437   }
3438 
isPromotedExtension(std::string const & extension)3439   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isPromotedExtension( std::string const & extension )
3440   {
3441     return ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" ) || ( extension == "VK_EXT_debug_marker" ) || ( extension == "VK_AMD_draw_indirect_count" ) ||
3442            ( extension == "VK_KHR_dynamic_rendering" ) || ( extension == "VK_KHR_multiview" ) ||
3443 #if defined( VK_USE_PLATFORM_WIN32_KHR )
3444            ( extension == "VK_NV_win32_keyed_mutex" ) ||
3445 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
3446            ( extension == "VK_KHR_get_physical_device_properties2" ) || ( extension == "VK_KHR_device_group" ) ||
3447            ( extension == "VK_KHR_shader_draw_parameters" ) || ( extension == "VK_EXT_texture_compression_astc_hdr" ) ||
3448            ( extension == "VK_EXT_pipeline_robustness" ) || ( extension == "VK_KHR_maintenance1" ) || ( extension == "VK_KHR_device_group_creation" ) ||
3449            ( extension == "VK_KHR_external_memory_capabilities" ) || ( extension == "VK_KHR_external_memory" ) ||
3450            ( extension == "VK_KHR_external_semaphore_capabilities" ) || ( extension == "VK_KHR_external_semaphore" ) ||
3451            ( extension == "VK_KHR_push_descriptor" ) || ( extension == "VK_KHR_shader_float16_int8" ) || ( extension == "VK_KHR_16bit_storage" ) ||
3452            ( extension == "VK_KHR_descriptor_update_template" ) || ( extension == "VK_KHR_imageless_framebuffer" ) ||
3453            ( extension == "VK_KHR_create_renderpass2" ) || ( extension == "VK_KHR_external_fence_capabilities" ) || ( extension == "VK_KHR_external_fence" ) ||
3454            ( extension == "VK_KHR_maintenance2" ) || ( extension == "VK_KHR_variable_pointers" ) || ( extension == "VK_KHR_dedicated_allocation" ) ||
3455            ( extension == "VK_EXT_sampler_filter_minmax" ) || ( extension == "VK_KHR_storage_buffer_storage_class" ) ||
3456            ( extension == "VK_EXT_inline_uniform_block" ) || ( extension == "VK_KHR_relaxed_block_layout" ) ||
3457            ( extension == "VK_KHR_get_memory_requirements2" ) || ( extension == "VK_KHR_image_format_list" ) ||
3458            ( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) || ( extension == "VK_EXT_descriptor_indexing" ) ||
3459            ( extension == "VK_EXT_shader_viewport_index_layer" ) || ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) ||
3460            ( extension == "VK_EXT_global_priority" ) || ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
3461            ( extension == "VK_KHR_shader_atomic_int64" ) || ( extension == "VK_EXT_calibrated_timestamps" ) || ( extension == "VK_KHR_global_priority" ) ||
3462            ( extension == "VK_EXT_vertex_attribute_divisor" ) || ( extension == "VK_EXT_pipeline_creation_feedback" ) ||
3463            ( extension == "VK_KHR_driver_properties" ) || ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_KHR_depth_stencil_resolve" ) ||
3464            ( extension == "VK_NV_compute_shader_derivatives" ) || ( extension == "VK_NV_fragment_shader_barycentric" ) ||
3465            ( extension == "VK_KHR_timeline_semaphore" ) || ( extension == "VK_KHR_vulkan_memory_model" ) ||
3466            ( extension == "VK_KHR_shader_terminate_invocation" ) || ( extension == "VK_EXT_scalar_block_layout" ) ||
3467            ( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_dynamic_rendering_local_read" ) || ( extension == "VK_KHR_spirv_1_4" ) ||
3468            ( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_tooling_info" ) ||
3469            ( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_uniform_buffer_standard_layout" ) ||
3470            ( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_line_rasterization" ) || ( extension == "VK_EXT_host_query_reset" ) ||
3471            ( extension == "VK_EXT_index_type_uint8" ) || ( extension == "VK_EXT_extended_dynamic_state" ) || ( extension == "VK_EXT_host_image_copy" ) ||
3472            ( extension == "VK_KHR_map_memory2" ) || ( extension == "VK_EXT_shader_demote_to_helper_invocation" ) ||
3473            ( extension == "VK_KHR_shader_integer_dot_product" ) || ( extension == "VK_EXT_texel_buffer_alignment" ) ||
3474            ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_EXT_private_data" ) ||
3475            ( extension == "VK_EXT_pipeline_creation_cache_control" ) || ( extension == "VK_KHR_synchronization2" ) ||
3476            ( extension == "VK_KHR_zero_initialize_workgroup_memory" ) || ( extension == "VK_EXT_ycbcr_2plane_444_formats" ) ||
3477            ( extension == "VK_EXT_image_robustness" ) || ( extension == "VK_KHR_copy_commands2" ) || ( extension == "VK_EXT_4444_formats" ) ||
3478            ( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_VALVE_mutable_descriptor_type" ) ||
3479            ( extension == "VK_KHR_format_feature_flags2" ) || ( extension == "VK_EXT_extended_dynamic_state2" ) ||
3480            ( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_KHR_maintenance4" ) ||
3481            ( extension == "VK_KHR_shader_subgroup_rotate" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) ||
3482            ( extension == "VK_EXT_pipeline_protected_access" ) || ( extension == "VK_KHR_maintenance5" ) ||
3483            ( extension == "VK_KHR_vertex_attribute_divisor" ) || ( extension == "VK_KHR_load_store_op_none" ) ||
3484            ( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) ||
3485            ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" );
3486   }
3487 }  // namespace VULKAN_HPP_NAMESPACE
3488 
3489 #endif
3490