• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2023 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 #include <map>
12 #include <set>
13 #include <vulkan/vulkan.hpp>
14 
15 namespace VULKAN_HPP_NAMESPACE
16 {
17   //======================================
18   //=== Extension inspection functions ===
19   //======================================
20 
21   std::set<std::string> const &                           getDeviceExtensions();
22   std::set<std::string> const &                           getInstanceExtensions();
23   std::map<std::string, std::string> const &              getDeprecatedExtensions();
24   std::map<std::string, std::vector<std::string>> const & getExtensionDepends( std::string const & extension );
25   std::pair<bool, std::vector<std::string> const &>       getExtensionDepends( std::string const & version, std::string const & extension );
26   std::map<std::string, std::string> const &              getObsoletedExtensions();
27   std::map<std::string, std::string> const &              getPromotedExtensions();
28   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionDeprecatedBy( std::string const & extension );
29   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionObsoletedBy( std::string const & extension );
30   VULKAN_HPP_CONSTEXPR_20 std::string getExtensionPromotedTo( std::string const & extension );
31   VULKAN_HPP_CONSTEXPR_20 bool        isDeprecatedExtension( std::string const & extension );
32   VULKAN_HPP_CONSTEXPR_20 bool        isDeviceExtension( std::string const & extension );
33   VULKAN_HPP_CONSTEXPR_20 bool        isInstanceExtension( std::string const & extension );
34   VULKAN_HPP_CONSTEXPR_20 bool        isObsoletedExtension( std::string const & extension );
35   VULKAN_HPP_CONSTEXPR_20 bool        isPromotedExtension( std::string const & extension );
36 
37   //=====================================================
38   //=== Extension inspection function implementations ===
39   //=====================================================
40 
getDeprecatedExtensions()41   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getDeprecatedExtensions()
42   {
43     static std::map<std::string, std::string> deprecatedExtensions = {
44 { "VK_EXT_debug_report", "VK_EXT_debug_utils"},
45 { "VK_NV_glsl_shader", ""},
46 { "VK_NV_dedicated_allocation", "VK_KHR_dedicated_allocation"},
47 { "VK_AMD_gpu_shader_half_float", "VK_KHR_shader_float16_int8"},
48 { "VK_IMG_format_pvrtc", ""},
49 { "VK_NV_external_memory_capabilities", "VK_KHR_external_memory_capabilities"},
50 { "VK_NV_external_memory", "VK_KHR_external_memory"},
51 #if defined( VK_USE_PLATFORM_WIN32_KHR )
52 { "VK_NV_external_memory_win32", "VK_KHR_external_memory_win32"},
53 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
54 { "VK_EXT_validation_flags", "VK_EXT_validation_features"},
55 { "VK_EXT_shader_subgroup_ballot", "VK_VERSION_1_2"},
56 { "VK_EXT_shader_subgroup_vote", "VK_VERSION_1_1"},
57 #if defined( VK_USE_PLATFORM_IOS_MVK )
58 { "VK_MVK_ios_surface", "VK_EXT_metal_surface"},
59 #endif /*VK_USE_PLATFORM_IOS_MVK*/
60 #if defined( VK_USE_PLATFORM_MACOS_MVK )
61 { "VK_MVK_macos_surface", "VK_EXT_metal_surface"},
62 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
63 { "VK_AMD_gpu_shader_int16", "VK_KHR_shader_float16_int8"},
64 { "VK_EXT_buffer_device_address", "VK_KHR_buffer_device_address"} };
65     return deprecatedExtensions;
66   }
67 
getDeviceExtensions()68   VULKAN_HPP_INLINE std::set<std::string> const & getDeviceExtensions()
69   {
70     static std::set<std::string> deviceExtensions = {
71 "VK_KHR_swapchain",
72 "VK_KHR_display_swapchain",
73 "VK_NV_glsl_shader",
74 "VK_EXT_depth_range_unrestricted",
75 "VK_KHR_sampler_mirror_clamp_to_edge",
76 "VK_IMG_filter_cubic",
77 "VK_AMD_rasterization_order",
78 "VK_AMD_shader_trinary_minmax",
79 "VK_AMD_shader_explicit_vertex_parameter",
80 "VK_EXT_debug_marker",
81 "VK_KHR_video_queue",
82 "VK_KHR_video_decode_queue",
83 "VK_AMD_gcn_shader",
84 "VK_NV_dedicated_allocation",
85 "VK_EXT_transform_feedback",
86 "VK_NVX_binary_import",
87 "VK_NVX_image_view_handle",
88 "VK_AMD_draw_indirect_count",
89 "VK_AMD_negative_viewport_height",
90 "VK_AMD_gpu_shader_half_float",
91 "VK_AMD_shader_ballot",
92 #if defined( VK_ENABLE_BETA_EXTENSIONS )
93 "VK_EXT_video_encode_h264",
94 "VK_EXT_video_encode_h265",
95 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
96 "VK_KHR_video_decode_h264",
97 "VK_AMD_texture_gather_bias_lod",
98 "VK_AMD_shader_info",
99 "VK_KHR_dynamic_rendering",
100 "VK_AMD_shader_image_load_store_lod",
101 "VK_NV_corner_sampled_image",
102 "VK_KHR_multiview",
103 "VK_IMG_format_pvrtc",
104 "VK_NV_external_memory",
105 #if defined( VK_USE_PLATFORM_WIN32_KHR )
106 "VK_NV_external_memory_win32",
107 "VK_NV_win32_keyed_mutex",
108 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
109 "VK_KHR_device_group",
110 "VK_KHR_shader_draw_parameters",
111 "VK_EXT_shader_subgroup_ballot",
112 "VK_EXT_shader_subgroup_vote",
113 "VK_EXT_texture_compression_astc_hdr",
114 "VK_EXT_astc_decode_mode",
115 "VK_EXT_pipeline_robustness",
116 "VK_KHR_maintenance1",
117 "VK_KHR_external_memory",
118 #if defined( VK_USE_PLATFORM_WIN32_KHR )
119 "VK_KHR_external_memory_win32",
120 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
121 "VK_KHR_external_memory_fd",
122 #if defined( VK_USE_PLATFORM_WIN32_KHR )
123 "VK_KHR_win32_keyed_mutex",
124 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
125 "VK_KHR_external_semaphore",
126 #if defined( VK_USE_PLATFORM_WIN32_KHR )
127 "VK_KHR_external_semaphore_win32",
128 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
129 "VK_KHR_external_semaphore_fd",
130 "VK_KHR_push_descriptor",
131 "VK_EXT_conditional_rendering",
132 "VK_KHR_shader_float16_int8",
133 "VK_KHR_16bit_storage",
134 "VK_KHR_incremental_present",
135 "VK_KHR_descriptor_update_template",
136 "VK_NV_clip_space_w_scaling",
137 "VK_EXT_display_control",
138 "VK_GOOGLE_display_timing",
139 "VK_NV_sample_mask_override_coverage",
140 "VK_NV_geometry_shader_passthrough",
141 "VK_NV_viewport_array2",
142 "VK_NVX_multiview_per_view_attributes",
143 "VK_NV_viewport_swizzle",
144 "VK_EXT_discard_rectangles",
145 "VK_EXT_conservative_rasterization",
146 "VK_EXT_depth_clip_enable",
147 "VK_EXT_hdr_metadata",
148 "VK_KHR_imageless_framebuffer",
149 "VK_KHR_create_renderpass2",
150 "VK_KHR_shared_presentable_image",
151 "VK_KHR_external_fence",
152 #if defined( VK_USE_PLATFORM_WIN32_KHR )
153 "VK_KHR_external_fence_win32",
154 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
155 "VK_KHR_external_fence_fd",
156 "VK_KHR_performance_query",
157 "VK_KHR_maintenance2",
158 "VK_KHR_variable_pointers",
159 "VK_EXT_external_memory_dma_buf",
160 "VK_EXT_queue_family_foreign",
161 "VK_KHR_dedicated_allocation",
162 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
163 "VK_ANDROID_external_memory_android_hardware_buffer",
164 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
165 "VK_EXT_sampler_filter_minmax",
166 "VK_KHR_storage_buffer_storage_class",
167 "VK_AMD_gpu_shader_int16",
168 "VK_AMD_mixed_attachment_samples",
169 "VK_AMD_shader_fragment_mask",
170 "VK_EXT_inline_uniform_block",
171 "VK_EXT_shader_stencil_export",
172 "VK_EXT_sample_locations",
173 "VK_KHR_relaxed_block_layout",
174 "VK_KHR_get_memory_requirements2",
175 "VK_KHR_image_format_list",
176 "VK_EXT_blend_operation_advanced",
177 "VK_NV_fragment_coverage_to_color",
178 "VK_KHR_acceleration_structure",
179 "VK_KHR_ray_tracing_pipeline",
180 "VK_KHR_ray_query",
181 "VK_NV_framebuffer_mixed_samples",
182 "VK_NV_fill_rectangle",
183 "VK_NV_shader_sm_builtins",
184 "VK_EXT_post_depth_coverage",
185 "VK_KHR_sampler_ycbcr_conversion",
186 "VK_KHR_bind_memory2",
187 "VK_EXT_image_drm_format_modifier",
188 "VK_EXT_validation_cache",
189 "VK_EXT_descriptor_indexing",
190 "VK_EXT_shader_viewport_index_layer",
191 #if defined( VK_ENABLE_BETA_EXTENSIONS )
192 "VK_KHR_portability_subset",
193 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
194 "VK_NV_shading_rate_image",
195 "VK_NV_ray_tracing",
196 "VK_NV_representative_fragment_test",
197 "VK_KHR_maintenance3",
198 "VK_KHR_draw_indirect_count",
199 "VK_EXT_filter_cubic",
200 "VK_QCOM_render_pass_shader_resolve",
201 "VK_EXT_global_priority",
202 "VK_KHR_shader_subgroup_extended_types",
203 "VK_KHR_8bit_storage",
204 "VK_EXT_external_memory_host",
205 "VK_AMD_buffer_marker",
206 "VK_KHR_shader_atomic_int64",
207 "VK_KHR_shader_clock",
208 "VK_AMD_pipeline_compiler_control",
209 "VK_EXT_calibrated_timestamps",
210 "VK_AMD_shader_core_properties",
211 "VK_KHR_video_decode_h265",
212 "VK_KHR_global_priority",
213 "VK_AMD_memory_overallocation_behavior",
214 "VK_EXT_vertex_attribute_divisor",
215 #if defined( VK_USE_PLATFORM_GGP )
216 "VK_GGP_frame_token",
217 #endif /*VK_USE_PLATFORM_GGP*/
218 "VK_EXT_pipeline_creation_feedback",
219 "VK_KHR_driver_properties",
220 "VK_KHR_shader_float_controls",
221 "VK_NV_shader_subgroup_partitioned",
222 "VK_KHR_depth_stencil_resolve",
223 "VK_KHR_swapchain_mutable_format",
224 "VK_NV_compute_shader_derivatives",
225 "VK_NV_mesh_shader",
226 "VK_NV_fragment_shader_barycentric",
227 "VK_NV_shader_image_footprint",
228 "VK_NV_scissor_exclusive",
229 "VK_NV_device_diagnostic_checkpoints",
230 "VK_KHR_timeline_semaphore",
231 "VK_INTEL_shader_integer_functions2",
232 "VK_INTEL_performance_query",
233 "VK_KHR_vulkan_memory_model",
234 "VK_EXT_pci_bus_info",
235 "VK_AMD_display_native_hdr",
236 "VK_KHR_shader_terminate_invocation",
237 "VK_EXT_fragment_density_map",
238 "VK_EXT_scalar_block_layout",
239 "VK_GOOGLE_hlsl_functionality1",
240 "VK_GOOGLE_decorate_string",
241 "VK_EXT_subgroup_size_control",
242 "VK_KHR_fragment_shading_rate",
243 "VK_AMD_shader_core_properties2",
244 "VK_AMD_device_coherent_memory",
245 "VK_EXT_shader_image_atomic_int64",
246 "VK_KHR_spirv_1_4",
247 "VK_EXT_memory_budget",
248 "VK_EXT_memory_priority",
249 "VK_NV_dedicated_allocation_image_aliasing",
250 "VK_KHR_separate_depth_stencil_layouts",
251 "VK_EXT_buffer_device_address",
252 "VK_EXT_tooling_info",
253 "VK_EXT_separate_stencil_usage",
254 "VK_KHR_present_wait",
255 "VK_NV_cooperative_matrix",
256 "VK_NV_coverage_reduction_mode",
257 "VK_EXT_fragment_shader_interlock",
258 "VK_EXT_ycbcr_image_arrays",
259 "VK_KHR_uniform_buffer_standard_layout",
260 "VK_EXT_provoking_vertex",
261 #if defined( VK_USE_PLATFORM_WIN32_KHR )
262 "VK_EXT_full_screen_exclusive",
263 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
264 "VK_KHR_buffer_device_address",
265 "VK_EXT_line_rasterization",
266 "VK_EXT_shader_atomic_float",
267 "VK_EXT_host_query_reset",
268 "VK_EXT_index_type_uint8",
269 "VK_EXT_extended_dynamic_state",
270 "VK_KHR_deferred_host_operations",
271 "VK_KHR_pipeline_executable_properties",
272 "VK_KHR_map_memory2",
273 "VK_EXT_shader_atomic_float2",
274 "VK_EXT_swapchain_maintenance1",
275 "VK_EXT_shader_demote_to_helper_invocation",
276 "VK_NV_device_generated_commands",
277 "VK_NV_inherited_viewport_scissor",
278 "VK_KHR_shader_integer_dot_product",
279 "VK_EXT_texel_buffer_alignment",
280 "VK_QCOM_render_pass_transform",
281 "VK_EXT_device_memory_report",
282 "VK_EXT_robustness2",
283 "VK_EXT_custom_border_color",
284 "VK_GOOGLE_user_type",
285 "VK_KHR_pipeline_library",
286 "VK_NV_present_barrier",
287 "VK_KHR_shader_non_semantic_info",
288 "VK_KHR_present_id",
289 "VK_EXT_private_data",
290 "VK_EXT_pipeline_creation_cache_control",
291 #if defined( VK_ENABLE_BETA_EXTENSIONS )
292 "VK_KHR_video_encode_queue",
293 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
294 "VK_NV_device_diagnostics_config",
295 "VK_QCOM_render_pass_store_ops",
296 "VK_NV_low_latency",
297 #if defined( VK_USE_PLATFORM_METAL_EXT )
298 "VK_EXT_metal_objects",
299 #endif /*VK_USE_PLATFORM_METAL_EXT*/
300 "VK_KHR_synchronization2",
301 "VK_EXT_descriptor_buffer",
302 "VK_EXT_graphics_pipeline_library",
303 "VK_AMD_shader_early_and_late_fragment_tests",
304 "VK_KHR_fragment_shader_barycentric",
305 "VK_KHR_shader_subgroup_uniform_control_flow",
306 "VK_KHR_zero_initialize_workgroup_memory",
307 "VK_NV_fragment_shading_rate_enums",
308 "VK_NV_ray_tracing_motion_blur",
309 "VK_EXT_mesh_shader",
310 "VK_EXT_ycbcr_2plane_444_formats",
311 "VK_EXT_fragment_density_map2",
312 "VK_QCOM_rotated_copy_commands",
313 "VK_EXT_image_robustness",
314 "VK_KHR_workgroup_memory_explicit_layout",
315 "VK_KHR_copy_commands2",
316 "VK_EXT_image_compression_control",
317 "VK_EXT_attachment_feedback_loop_layout",
318 "VK_EXT_4444_formats",
319 "VK_EXT_device_fault",
320 "VK_ARM_rasterization_order_attachment_access",
321 "VK_EXT_rgba10x6_formats",
322 #if defined( VK_USE_PLATFORM_WIN32_KHR )
323 "VK_NV_acquire_winrt_display",
324 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
325 "VK_VALVE_mutable_descriptor_type",
326 "VK_EXT_vertex_input_dynamic_state",
327 "VK_EXT_physical_device_drm",
328 "VK_EXT_device_address_binding_report",
329 "VK_EXT_depth_clip_control",
330 "VK_EXT_primitive_topology_list_restart",
331 "VK_KHR_format_feature_flags2",
332 #if defined( VK_USE_PLATFORM_FUCHSIA )
333 "VK_FUCHSIA_external_memory",
334 "VK_FUCHSIA_external_semaphore",
335 "VK_FUCHSIA_buffer_collection",
336 #endif /*VK_USE_PLATFORM_FUCHSIA*/
337 "VK_HUAWEI_subpass_shading",
338 "VK_HUAWEI_invocation_mask",
339 "VK_NV_external_memory_rdma",
340 "VK_EXT_pipeline_properties",
341 "VK_EXT_multisampled_render_to_single_sampled",
342 "VK_EXT_extended_dynamic_state2",
343 "VK_EXT_color_write_enable",
344 "VK_EXT_primitives_generated_query",
345 "VK_KHR_ray_tracing_maintenance1",
346 "VK_EXT_global_priority_query",
347 "VK_EXT_image_view_min_lod",
348 "VK_EXT_multi_draw",
349 "VK_EXT_image_2d_view_of_3d",
350 "VK_EXT_shader_tile_image",
351 "VK_EXT_opacity_micromap",
352 #if defined( VK_ENABLE_BETA_EXTENSIONS )
353 "VK_NV_displacement_micromap",
354 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
355 "VK_EXT_load_store_op_none",
356 "VK_HUAWEI_cluster_culling_shader",
357 "VK_EXT_border_color_swizzle",
358 "VK_EXT_pageable_device_local_memory",
359 "VK_KHR_maintenance4",
360 "VK_ARM_shader_core_properties",
361 "VK_EXT_image_sliced_view_of_3d",
362 "VK_VALVE_descriptor_set_host_mapping",
363 "VK_EXT_depth_clamp_zero_one",
364 "VK_EXT_non_seamless_cube_map",
365 "VK_QCOM_fragment_density_map_offset",
366 "VK_NV_copy_memory_indirect",
367 "VK_NV_memory_decompression",
368 "VK_NV_linear_color_attachment",
369 "VK_EXT_image_compression_control_swapchain",
370 "VK_QCOM_image_processing",
371 "VK_EXT_extended_dynamic_state3",
372 "VK_EXT_subpass_merge_feedback",
373 "VK_EXT_shader_module_identifier",
374 "VK_EXT_rasterization_order_attachment_access",
375 "VK_NV_optical_flow",
376 "VK_EXT_legacy_dithering",
377 "VK_EXT_pipeline_protected_access",
378 "VK_KHR_ray_tracing_position_fetch",
379 "VK_EXT_shader_object",
380 "VK_QCOM_tile_properties",
381 "VK_SEC_amigo_profiling",
382 "VK_QCOM_multiview_per_view_viewports",
383 "VK_NV_ray_tracing_invocation_reorder",
384 "VK_EXT_mutable_descriptor_type",
385 "VK_ARM_shader_core_builtins",
386 "VK_EXT_pipeline_library_group_handles",
387 "VK_QCOM_multiview_per_view_render_areas",
388 "VK_EXT_attachment_feedback_loop_dynamic_state" };
389     return deviceExtensions;
390   }
391 
getInstanceExtensions()392   VULKAN_HPP_INLINE std::set<std::string> const & getInstanceExtensions()
393   {
394     static std::set<std::string> instanceExtensions = {
395 "VK_KHR_surface",
396 "VK_KHR_display",
397 #if defined( VK_USE_PLATFORM_XLIB_KHR )
398 "VK_KHR_xlib_surface",
399 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
400 #if defined( VK_USE_PLATFORM_XCB_KHR )
401 "VK_KHR_xcb_surface",
402 #endif /*VK_USE_PLATFORM_XCB_KHR*/
403 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
404 "VK_KHR_wayland_surface",
405 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
406 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
407 "VK_KHR_android_surface",
408 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
409 #if defined( VK_USE_PLATFORM_WIN32_KHR )
410 "VK_KHR_win32_surface",
411 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
412 "VK_EXT_debug_report",
413 #if defined( VK_USE_PLATFORM_GGP )
414 "VK_GGP_stream_descriptor_surface",
415 #endif /*VK_USE_PLATFORM_GGP*/
416 "VK_NV_external_memory_capabilities",
417 "VK_KHR_get_physical_device_properties2",
418 "VK_EXT_validation_flags",
419 #if defined( VK_USE_PLATFORM_VI_NN )
420 "VK_NN_vi_surface",
421 #endif /*VK_USE_PLATFORM_VI_NN*/
422 "VK_KHR_device_group_creation",
423 "VK_KHR_external_memory_capabilities",
424 "VK_KHR_external_semaphore_capabilities",
425 "VK_EXT_direct_mode_display",
426 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
427 "VK_EXT_acquire_xlib_display",
428 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
429 "VK_EXT_display_surface_counter",
430 "VK_EXT_swapchain_colorspace",
431 "VK_KHR_external_fence_capabilities",
432 "VK_KHR_get_surface_capabilities2",
433 "VK_KHR_get_display_properties2",
434 #if defined( VK_USE_PLATFORM_IOS_MVK )
435 "VK_MVK_ios_surface",
436 #endif /*VK_USE_PLATFORM_IOS_MVK*/
437 #if defined( VK_USE_PLATFORM_MACOS_MVK )
438 "VK_MVK_macos_surface",
439 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
440 "VK_EXT_debug_utils",
441 #if defined( VK_USE_PLATFORM_FUCHSIA )
442 "VK_FUCHSIA_imagepipe_surface",
443 #endif /*VK_USE_PLATFORM_FUCHSIA*/
444 #if defined( VK_USE_PLATFORM_METAL_EXT )
445 "VK_EXT_metal_surface",
446 #endif /*VK_USE_PLATFORM_METAL_EXT*/
447 "VK_KHR_surface_protected_capabilities",
448 "VK_EXT_validation_features",
449 "VK_EXT_headless_surface",
450 "VK_EXT_surface_maintenance1",
451 "VK_EXT_acquire_drm_display",
452 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
453 "VK_EXT_directfb_surface",
454 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
455 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
456 "VK_QNX_screen_surface",
457 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
458 "VK_KHR_portability_enumeration",
459 "VK_GOOGLE_surfaceless_query",
460 "VK_LUNARG_direct_driver_loading" };
461     return instanceExtensions;
462   }
463 
getExtensionDepends(std::string const & extension)464   VULKAN_HPP_INLINE std::map<std::string, std::vector<std::string>> const & getExtensionDepends( std::string const & extension )
465   {
466     static std::map<std::string, std::vector<std::string>> noDependencies;
467     static std::map<std::string, std::map<std::string, std::vector<std::string>>> dependencies = {
468 { "VK_KHR_swapchain", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
469 { "VK_KHR_display", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
470 { "VK_KHR_display_swapchain", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_display" } } } },
471 #if defined( VK_USE_PLATFORM_XLIB_KHR )
472 { "VK_KHR_xlib_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
473 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
474 #if defined( VK_USE_PLATFORM_XCB_KHR )
475 { "VK_KHR_xcb_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
476 #endif /*VK_USE_PLATFORM_XCB_KHR*/
477 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
478 { "VK_KHR_wayland_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
479 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
480 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
481 { "VK_KHR_android_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
482 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
483 #if defined( VK_USE_PLATFORM_WIN32_KHR )
484 { "VK_KHR_win32_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
485 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
486 { "VK_EXT_debug_marker", { { "VK_VERSION_1_0", { "VK_EXT_debug_report" } } } },
487 { "VK_KHR_video_queue", { { "VK_VERSION_1_1", { "VK_KHR_synchronization2" } } } },
488 { "VK_KHR_video_decode_queue", { { "VK_VERSION_1_0", { "VK_KHR_video_queue", "VK_KHR_synchronization2" } } } },
489 { "VK_EXT_transform_feedback", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
490 #if defined( VK_ENABLE_BETA_EXTENSIONS )
491 { "VK_EXT_video_encode_h264", { { "VK_VERSION_1_0", { "VK_KHR_video_encode_queue" } } } },
492 { "VK_EXT_video_encode_h265", { { "VK_VERSION_1_0", { "VK_KHR_video_encode_queue" } } } },
493 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
494 { "VK_KHR_video_decode_h264", { { "VK_VERSION_1_0", { "VK_KHR_video_decode_queue" } } } },
495 { "VK_AMD_texture_gather_bias_lod", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
496 { "VK_KHR_dynamic_rendering", { { "VK_VERSION_1_0", { "VK_KHR_depth_stencil_resolve", "VK_KHR_get_physical_device_properties2" } } } },
497 #if defined( VK_USE_PLATFORM_GGP )
498 { "VK_GGP_stream_descriptor_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
499 #endif /*VK_USE_PLATFORM_GGP*/
500 { "VK_NV_corner_sampled_image", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
501 { "VK_KHR_multiview", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
502 { "VK_NV_external_memory", { { "VK_VERSION_1_0", { "VK_NV_external_memory_capabilities" } } } },
503 #if defined( VK_USE_PLATFORM_WIN32_KHR )
504 { "VK_NV_external_memory_win32", { { "VK_VERSION_1_0", { "VK_NV_external_memory" } } } },
505 { "VK_NV_win32_keyed_mutex", { { "VK_VERSION_1_0", { "VK_NV_external_memory_win32" } } } },
506 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
507 { "VK_KHR_device_group", { { "VK_VERSION_1_0", { "VK_KHR_device_group_creation" } } } },
508 #if defined( VK_USE_PLATFORM_VI_NN )
509 { "VK_NN_vi_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
510 #endif /*VK_USE_PLATFORM_VI_NN*/
511 { "VK_EXT_texture_compression_astc_hdr", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
512 { "VK_EXT_astc_decode_mode", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
513 { "VK_EXT_pipeline_robustness", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
514 { "VK_KHR_external_memory_capabilities", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
515 { "VK_KHR_external_memory", { { "VK_VERSION_1_0", { "VK_KHR_external_memory_capabilities" } } } },
516 #if defined( VK_USE_PLATFORM_WIN32_KHR )
517 { "VK_KHR_external_memory_win32", { { "VK_VERSION_1_0", { "VK_KHR_external_memory" } } } },
518 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
519 { "VK_KHR_external_memory_fd", { { "VK_VERSION_1_0", { "VK_KHR_external_memory" } }, { "VK_VERSION_1_1", {  } } } },
520 #if defined( VK_USE_PLATFORM_WIN32_KHR )
521 { "VK_KHR_win32_keyed_mutex", { { "VK_VERSION_1_0", { "VK_KHR_external_memory_win32" } } } },
522 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
523 { "VK_KHR_external_semaphore_capabilities", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
524 { "VK_KHR_external_semaphore", { { "VK_VERSION_1_0", { "VK_KHR_external_semaphore_capabilities" } } } },
525 #if defined( VK_USE_PLATFORM_WIN32_KHR )
526 { "VK_KHR_external_semaphore_win32", { { "VK_VERSION_1_0", { "VK_KHR_external_semaphore" } } } },
527 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
528 { "VK_KHR_external_semaphore_fd", { { "VK_VERSION_1_0", { "VK_KHR_external_semaphore" } }, { "VK_VERSION_1_1", {  } } } },
529 { "VK_KHR_push_descriptor", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
530 { "VK_EXT_conditional_rendering", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
531 { "VK_KHR_shader_float16_int8", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
532 { "VK_KHR_16bit_storage", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_storage_buffer_storage_class" } } } },
533 { "VK_KHR_incremental_present", { { "VK_VERSION_1_0", { "VK_KHR_swapchain" } } } },
534 { "VK_EXT_direct_mode_display", { { "VK_VERSION_1_0", { "VK_KHR_display" } } } },
535 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
536 { "VK_EXT_acquire_xlib_display", { { "VK_VERSION_1_0", { "VK_EXT_direct_mode_display" } } } },
537 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
538 { "VK_EXT_display_surface_counter", { { "VK_VERSION_1_0", { "VK_KHR_display" } } } },
539 { "VK_EXT_display_control", { { "VK_VERSION_1_0", { "VK_EXT_display_surface_counter", "VK_KHR_swapchain" } } } },
540 { "VK_GOOGLE_display_timing", { { "VK_VERSION_1_0", { "VK_KHR_swapchain" } } } },
541 { "VK_NVX_multiview_per_view_attributes", { { "VK_VERSION_1_0", { "VK_KHR_multiview" } } } },
542 { "VK_EXT_discard_rectangles", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
543 { "VK_EXT_conservative_rasterization", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
544 { "VK_EXT_depth_clip_enable", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
545 { "VK_EXT_swapchain_colorspace", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
546 { "VK_EXT_hdr_metadata", { { "VK_VERSION_1_0", { "VK_KHR_swapchain" } } } },
547 { "VK_KHR_imageless_framebuffer", { { "VK_VERSION_1_0", { "VK_KHR_maintenance2", "VK_KHR_image_format_list", "VK_KHR_get_physical_device_properties2" } } } },
548 { "VK_KHR_create_renderpass2", { { "VK_VERSION_1_0", { "VK_KHR_multiview", "VK_KHR_maintenance2" } } } },
549 { "VK_KHR_shared_presentable_image", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_get_surface_capabilities2", "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", { "VK_KHR_swapchain", "VK_KHR_get_surface_capabilities2" } } } },
550 { "VK_KHR_external_fence_capabilities", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
551 { "VK_KHR_external_fence", { { "VK_VERSION_1_0", { "VK_KHR_external_fence_capabilities" } } } },
552 #if defined( VK_USE_PLATFORM_WIN32_KHR )
553 { "VK_KHR_external_fence_win32", { { "VK_VERSION_1_0", { "VK_KHR_external_fence" } } } },
554 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
555 { "VK_KHR_external_fence_fd", { { "VK_VERSION_1_0", { "VK_KHR_external_fence" } }, { "VK_VERSION_1_1", {  } } } },
556 { "VK_KHR_performance_query", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
557 { "VK_KHR_get_surface_capabilities2", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
558 { "VK_KHR_variable_pointers", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_storage_buffer_storage_class" } } } },
559 { "VK_KHR_get_display_properties2", { { "VK_VERSION_1_0", { "VK_KHR_display" } } } },
560 #if defined( VK_USE_PLATFORM_IOS_MVK )
561 { "VK_MVK_ios_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
562 #endif /*VK_USE_PLATFORM_IOS_MVK*/
563 #if defined( VK_USE_PLATFORM_MACOS_MVK )
564 { "VK_MVK_macos_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
565 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
566 { "VK_EXT_external_memory_dma_buf", { { "VK_VERSION_1_0", { "VK_KHR_external_memory_fd" } } } },
567 { "VK_EXT_queue_family_foreign", { { "VK_VERSION_1_0", { "VK_KHR_external_memory" } }, { "VK_VERSION_1_1", {  } } } },
568 { "VK_KHR_dedicated_allocation", { { "VK_VERSION_1_0", { "VK_KHR_get_memory_requirements2" } } } },
569 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
570 { "VK_ANDROID_external_memory_android_hardware_buffer", { { "VK_VERSION_1_0", { "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_external_memory", "VK_EXT_queue_family_foreign", "VK_KHR_dedicated_allocation" } } } },
571 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
572 { "VK_EXT_sampler_filter_minmax", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
573 { "VK_EXT_inline_uniform_block", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_maintenance1" } } } },
574 { "VK_EXT_sample_locations", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
575 { "VK_EXT_blend_operation_advanced", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
576 { "VK_KHR_acceleration_structure", { { "VK_VERSION_1_1", { "VK_EXT_descriptor_indexing", "VK_KHR_buffer_device_address", "VK_KHR_deferred_host_operations" } } } },
577 { "VK_KHR_ray_tracing_pipeline", { { "VK_VERSION_1_0", { "VK_KHR_spirv_1_4", "VK_KHR_acceleration_structure" } } } },
578 { "VK_KHR_ray_query", { { "VK_VERSION_1_0", { "VK_KHR_spirv_1_4", "VK_KHR_acceleration_structure" } } } },
579 { "VK_NV_shader_sm_builtins", { { "VK_VERSION_1_1", {  } } } },
580 { "VK_KHR_sampler_ycbcr_conversion", { { "VK_VERSION_1_0", { "VK_KHR_maintenance1", "VK_KHR_bind_memory2", "VK_KHR_get_memory_requirements2", "VK_KHR_get_physical_device_properties2" } } } },
581 { "VK_EXT_image_drm_format_modifier", { { "VK_VERSION_1_0", { "VK_KHR_bind_memory2", "VK_KHR_get_physical_device_properties2", "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_image_format_list" } }, { "VK_VERSION_1_1", { "VK_KHR_image_format_list" } }, { "VK_VERSION_1_2", {  } } } },
582 { "VK_EXT_descriptor_indexing", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_maintenance3" } } } },
583 #if defined( VK_ENABLE_BETA_EXTENSIONS )
584 { "VK_KHR_portability_subset", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
585 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
586 { "VK_NV_shading_rate_image", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
587 { "VK_NV_ray_tracing", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_get_memory_requirements2" } } } },
588 { "VK_NV_representative_fragment_test", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
589 { "VK_KHR_maintenance3", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
590 { "VK_KHR_shader_subgroup_extended_types", { { "VK_VERSION_1_1", {  } } } },
591 { "VK_KHR_8bit_storage", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_storage_buffer_storage_class" } } } },
592 { "VK_EXT_external_memory_host", { { "VK_VERSION_1_0", { "VK_KHR_external_memory" } }, { "VK_VERSION_1_1", {  } } } },
593 { "VK_KHR_shader_atomic_int64", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
594 { "VK_KHR_shader_clock", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
595 { "VK_EXT_calibrated_timestamps", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
596 { "VK_AMD_shader_core_properties", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
597 { "VK_KHR_video_decode_h265", { { "VK_VERSION_1_0", { "VK_KHR_video_decode_queue" } } } },
598 { "VK_KHR_global_priority", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
599 { "VK_EXT_vertex_attribute_divisor", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
600 #if defined( VK_USE_PLATFORM_GGP )
601 { "VK_GGP_frame_token", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_GGP_stream_descriptor_surface" } } } },
602 #endif /*VK_USE_PLATFORM_GGP*/
603 { "VK_KHR_driver_properties", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
604 { "VK_KHR_shader_float_controls", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
605 { "VK_NV_shader_subgroup_partitioned", { { "VK_VERSION_1_1", {  } } } },
606 { "VK_KHR_depth_stencil_resolve", { { "VK_VERSION_1_0", { "VK_KHR_create_renderpass2" } } } },
607 { "VK_KHR_swapchain_mutable_format", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_maintenance2", "VK_KHR_image_format_list" } }, { "VK_VERSION_1_1", { "VK_KHR_swapchain", "VK_KHR_image_format_list" } }, { "VK_VERSION_1_2", { "VK_KHR_swapchain" } } } },
608 { "VK_NV_compute_shader_derivatives", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
609 { "VK_NV_mesh_shader", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
610 { "VK_NV_fragment_shader_barycentric", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
611 { "VK_NV_shader_image_footprint", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
612 { "VK_NV_scissor_exclusive", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
613 { "VK_NV_device_diagnostic_checkpoints", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
614 { "VK_KHR_timeline_semaphore", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
615 { "VK_INTEL_shader_integer_functions2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
616 { "VK_KHR_vulkan_memory_model", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
617 { "VK_EXT_pci_bus_info", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
618 { "VK_AMD_display_native_hdr", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_get_surface_capabilities2", "VK_KHR_swapchain" } } } },
619 #if defined( VK_USE_PLATFORM_FUCHSIA )
620 { "VK_FUCHSIA_imagepipe_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
621 #endif /*VK_USE_PLATFORM_FUCHSIA*/
622 { "VK_KHR_shader_terminate_invocation", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
623 #if defined( VK_USE_PLATFORM_METAL_EXT )
624 { "VK_EXT_metal_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
625 #endif /*VK_USE_PLATFORM_METAL_EXT*/
626 { "VK_EXT_fragment_density_map", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
627 { "VK_EXT_scalar_block_layout", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
628 { "VK_EXT_subgroup_size_control", { { "VK_VERSION_1_1", {  } } } },
629 { "VK_KHR_fragment_shading_rate", { { "VK_VERSION_1_0", { "VK_KHR_create_renderpass2", "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", { "VK_KHR_create_renderpass2" } }, { "VK_VERSION_1_2", {  } } } },
630 { "VK_AMD_shader_core_properties2", { { "VK_VERSION_1_0", { "VK_AMD_shader_core_properties" } } } },
631 { "VK_AMD_device_coherent_memory", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
632 { "VK_EXT_shader_image_atomic_int64", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
633 { "VK_KHR_spirv_1_4", { { "VK_VERSION_1_1", { "VK_KHR_shader_float_controls" } } } },
634 { "VK_EXT_memory_budget", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
635 { "VK_EXT_memory_priority", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
636 { "VK_KHR_surface_protected_capabilities", { { "VK_VERSION_1_1", { "VK_KHR_get_surface_capabilities2" } } } },
637 { "VK_NV_dedicated_allocation_image_aliasing", { { "VK_VERSION_1_0", { "VK_KHR_dedicated_allocation", "VK_KHR_get_physical_device_properties2" } } } },
638 { "VK_KHR_separate_depth_stencil_layouts", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_create_renderpass2" } } } },
639 { "VK_EXT_buffer_device_address", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
640 { "VK_KHR_present_wait", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_present_id" } } } },
641 { "VK_NV_cooperative_matrix", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
642 { "VK_NV_coverage_reduction_mode", { { "VK_VERSION_1_0", { "VK_NV_framebuffer_mixed_samples", "VK_KHR_get_physical_device_properties2" } } } },
643 { "VK_EXT_fragment_shader_interlock", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
644 { "VK_EXT_ycbcr_image_arrays", { { "VK_VERSION_1_0", { "VK_KHR_sampler_ycbcr_conversion" } }, { "VK_VERSION_1_1", {  } } } },
645 { "VK_KHR_uniform_buffer_standard_layout", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
646 { "VK_EXT_provoking_vertex", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
647 #if defined( VK_USE_PLATFORM_WIN32_KHR )
648 { "VK_EXT_full_screen_exclusive", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_surface", "VK_KHR_get_surface_capabilities2", "VK_KHR_swapchain" } } } },
649 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
650 { "VK_EXT_headless_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
651 { "VK_KHR_buffer_device_address", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_device_group" } }, { "VK_VERSION_1_1", {  } } } },
652 { "VK_EXT_line_rasterization", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
653 { "VK_EXT_shader_atomic_float", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
654 { "VK_EXT_host_query_reset", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
655 { "VK_EXT_index_type_uint8", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
656 { "VK_EXT_extended_dynamic_state", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
657 { "VK_KHR_pipeline_executable_properties", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
658 { "VK_EXT_shader_atomic_float2", { { "VK_VERSION_1_0", { "VK_EXT_shader_atomic_float" } } } },
659 { "VK_EXT_surface_maintenance1", { { "VK_VERSION_1_0", { "VK_KHR_surface", "VK_KHR_get_surface_capabilities2" } } } },
660 { "VK_EXT_swapchain_maintenance1", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_EXT_surface_maintenance1", "VK_KHR_get_physical_device_properties2" } } } },
661 { "VK_EXT_shader_demote_to_helper_invocation", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
662 { "VK_NV_device_generated_commands", { { "VK_VERSION_1_1", { "VK_KHR_buffer_device_address" } } } },
663 { "VK_NV_inherited_viewport_scissor", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
664 { "VK_KHR_shader_integer_dot_product", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
665 { "VK_EXT_texel_buffer_alignment", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
666 { "VK_QCOM_render_pass_transform", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_surface" } } } },
667 { "VK_EXT_device_memory_report", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
668 { "VK_EXT_acquire_drm_display", { { "VK_VERSION_1_0", { "VK_EXT_direct_mode_display" } } } },
669 { "VK_EXT_robustness2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
670 { "VK_EXT_custom_border_color", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
671 { "VK_NV_present_barrier", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_surface", "VK_KHR_get_surface_capabilities2", "VK_KHR_swapchain" } } } },
672 { "VK_KHR_present_id", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_get_physical_device_properties2" } } } },
673 { "VK_EXT_private_data", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
674 { "VK_EXT_pipeline_creation_cache_control", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
675 #if defined( VK_ENABLE_BETA_EXTENSIONS )
676 { "VK_KHR_video_encode_queue", { { "VK_VERSION_1_0", { "VK_KHR_video_queue", "VK_KHR_synchronization2" } } } },
677 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
678 { "VK_NV_device_diagnostics_config", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
679 { "VK_KHR_synchronization2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
680 { "VK_EXT_descriptor_buffer", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_buffer_device_address", "VK_KHR_synchronization2", "VK_EXT_descriptor_indexing" } } } },
681 { "VK_EXT_graphics_pipeline_library", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_pipeline_library" } } } },
682 { "VK_AMD_shader_early_and_late_fragment_tests", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
683 { "VK_KHR_fragment_shader_barycentric", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
684 { "VK_KHR_shader_subgroup_uniform_control_flow", { { "VK_VERSION_1_1", {  } } } },
685 { "VK_KHR_zero_initialize_workgroup_memory", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
686 { "VK_NV_fragment_shading_rate_enums", { { "VK_VERSION_1_0", { "VK_KHR_fragment_shading_rate" } } } },
687 { "VK_NV_ray_tracing_motion_blur", { { "VK_VERSION_1_0", { "VK_KHR_ray_tracing_pipeline" } } } },
688 { "VK_EXT_mesh_shader", { { "VK_VERSION_1_0", { "VK_KHR_spirv_1_4" } } } },
689 { "VK_EXT_ycbcr_2plane_444_formats", { { "VK_VERSION_1_0", { "VK_KHR_sampler_ycbcr_conversion" } }, { "VK_VERSION_1_1", {  } } } },
690 { "VK_EXT_fragment_density_map2", { { "VK_VERSION_1_0", { "VK_EXT_fragment_density_map" } } } },
691 { "VK_QCOM_rotated_copy_commands", { { "VK_VERSION_1_0", { "VK_KHR_swapchain", "VK_KHR_copy_commands2" } } } },
692 { "VK_EXT_image_robustness", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
693 { "VK_KHR_workgroup_memory_explicit_layout", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
694 { "VK_KHR_copy_commands2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
695 { "VK_EXT_image_compression_control", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
696 { "VK_EXT_attachment_feedback_loop_layout", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
697 { "VK_EXT_4444_formats", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
698 { "VK_EXT_device_fault", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
699 { "VK_ARM_rasterization_order_attachment_access", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
700 { "VK_EXT_rgba10x6_formats", { { "VK_VERSION_1_0", { "VK_KHR_sampler_ycbcr_conversion" } } } },
701 #if defined( VK_USE_PLATFORM_WIN32_KHR )
702 { "VK_NV_acquire_winrt_display", { { "VK_VERSION_1_0", { "VK_EXT_direct_mode_display" } } } },
703 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
704 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
705 { "VK_EXT_directfb_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
706 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
707 { "VK_VALVE_mutable_descriptor_type", { { "VK_VERSION_1_0", { "VK_KHR_maintenance3" } } } },
708 { "VK_EXT_vertex_input_dynamic_state", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
709 { "VK_EXT_physical_device_drm", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
710 { "VK_EXT_device_address_binding_report", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_EXT_debug_utils" } } } },
711 { "VK_EXT_depth_clip_control", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
712 { "VK_EXT_primitive_topology_list_restart", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
713 { "VK_KHR_format_feature_flags2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
714 #if defined( VK_USE_PLATFORM_FUCHSIA )
715 { "VK_FUCHSIA_external_memory", { { "VK_VERSION_1_0", { "VK_KHR_external_memory_capabilities", "VK_KHR_external_memory" } } } },
716 { "VK_FUCHSIA_external_semaphore", { { "VK_VERSION_1_0", { "VK_KHR_external_semaphore_capabilities", "VK_KHR_external_semaphore" } } } },
717 { "VK_FUCHSIA_buffer_collection", { { "VK_VERSION_1_0", { "VK_FUCHSIA_external_memory", "VK_KHR_sampler_ycbcr_conversion" } } } },
718 #endif /*VK_USE_PLATFORM_FUCHSIA*/
719 { "VK_HUAWEI_subpass_shading", { { "VK_VERSION_1_0", { "VK_KHR_create_renderpass2", "VK_KHR_synchronization2" } } } },
720 { "VK_HUAWEI_invocation_mask", { { "VK_VERSION_1_0", { "VK_KHR_ray_tracing_pipeline", "VK_KHR_synchronization2" } } } },
721 { "VK_NV_external_memory_rdma", { { "VK_VERSION_1_0", { "VK_KHR_external_memory" } } } },
722 { "VK_EXT_pipeline_properties", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
723 { "VK_EXT_multisampled_render_to_single_sampled", { { "VK_VERSION_1_0", { "VK_KHR_create_renderpass2", "VK_KHR_depth_stencil_resolve" } } } },
724 { "VK_EXT_extended_dynamic_state2", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
725 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
726 { "VK_QNX_screen_surface", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
727 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
728 { "VK_EXT_color_write_enable", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } }, { "VK_VERSION_1_1", {  } } } },
729 { "VK_EXT_primitives_generated_query", { { "VK_VERSION_1_0", { "VK_EXT_transform_feedback" } } } },
730 { "VK_KHR_ray_tracing_maintenance1", { { "VK_VERSION_1_0", { "VK_KHR_acceleration_structure" } } } },
731 { "VK_EXT_global_priority_query", { { "VK_VERSION_1_0", { "VK_EXT_global_priority", "VK_KHR_get_physical_device_properties2" } } } },
732 { "VK_EXT_image_view_min_lod", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
733 { "VK_EXT_multi_draw", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
734 { "VK_EXT_image_2d_view_of_3d", { { "VK_VERSION_1_0", { "VK_KHR_maintenance1", "VK_KHR_get_physical_device_properties2" } } } },
735 { "VK_EXT_shader_tile_image", { { "VK_VERSION_1_3", {  } } } },
736 { "VK_EXT_opacity_micromap", { { "VK_VERSION_1_0", { "VK_KHR_acceleration_structure", "VK_KHR_synchronization2" } } } },
737 #if defined( VK_ENABLE_BETA_EXTENSIONS )
738 { "VK_NV_displacement_micromap", { { "VK_VERSION_1_0", { "VK_EXT_opacity_micromap" } } } },
739 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
740 { "VK_HUAWEI_cluster_culling_shader", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
741 { "VK_EXT_border_color_swizzle", { { "VK_VERSION_1_0", { "VK_EXT_custom_border_color" } } } },
742 { "VK_EXT_pageable_device_local_memory", { { "VK_VERSION_1_0", { "VK_EXT_memory_priority" } } } },
743 { "VK_KHR_maintenance4", { { "VK_VERSION_1_1", {  } } } },
744 { "VK_ARM_shader_core_properties", { { "VK_VERSION_1_1", {  } } } },
745 { "VK_EXT_image_sliced_view_of_3d", { { "VK_VERSION_1_0", { "VK_KHR_maintenance1", "VK_KHR_get_physical_device_properties2" } } } },
746 { "VK_VALVE_descriptor_set_host_mapping", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
747 { "VK_EXT_depth_clamp_zero_one", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
748 { "VK_EXT_non_seamless_cube_map", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
749 { "VK_QCOM_fragment_density_map_offset", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_EXT_fragment_density_map" } } } },
750 { "VK_NV_copy_memory_indirect", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_buffer_device_address" } } } },
751 { "VK_NV_memory_decompression", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_buffer_device_address" } } } },
752 { "VK_NV_linear_color_attachment", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
753 { "VK_GOOGLE_surfaceless_query", { { "VK_VERSION_1_0", { "VK_KHR_surface" } } } },
754 { "VK_EXT_image_compression_control_swapchain", { { "VK_VERSION_1_0", { "VK_EXT_image_compression_control" } } } },
755 { "VK_QCOM_image_processing", { { "VK_VERSION_1_0", { "VK_KHR_format_feature_flags2" } } } },
756 { "VK_EXT_extended_dynamic_state3", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
757 { "VK_EXT_subpass_merge_feedback", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
758 { "VK_EXT_shader_module_identifier", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_EXT_pipeline_creation_cache_control" } } } },
759 { "VK_EXT_rasterization_order_attachment_access", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
760 { "VK_NV_optical_flow", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_format_feature_flags2", "VK_KHR_synchronization2" } } } },
761 { "VK_EXT_legacy_dithering", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
762 { "VK_EXT_pipeline_protected_access", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
763 { "VK_KHR_ray_tracing_position_fetch", { { "VK_VERSION_1_0", { "VK_KHR_acceleration_structure" } } } },
764 { "VK_EXT_shader_object", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_KHR_dynamic_rendering" } }, { "VK_VERSION_1_1", { "VK_KHR_dynamic_rendering" } }, { "VK_VERSION_1_3", {  } } } },
765 { "VK_QCOM_tile_properties", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
766 { "VK_SEC_amigo_profiling", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
767 { "VK_QCOM_multiview_per_view_viewports", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
768 { "VK_NV_ray_tracing_invocation_reorder", { { "VK_VERSION_1_0", { "VK_KHR_ray_tracing_pipeline" } } } },
769 { "VK_EXT_mutable_descriptor_type", { { "VK_VERSION_1_0", { "VK_KHR_maintenance3" } } } },
770 { "VK_ARM_shader_core_builtins", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2" } } } },
771 { "VK_EXT_pipeline_library_group_handles", { { "VK_VERSION_1_0", { "VK_KHR_ray_tracing_pipeline", "VK_KHR_pipeline_library" } } } },
772 { "VK_EXT_attachment_feedback_loop_dynamic_state", { { "VK_VERSION_1_0", { "VK_KHR_get_physical_device_properties2", "VK_EXT_attachment_feedback_loop_layout" } } } } };
773     auto depIt = dependencies.find( extension );
774     return ( depIt != dependencies.end() ) ? depIt->second : noDependencies;
775   }
776 
getExtensionDepends(std::string const & version,std::string const & extension)777   VULKAN_HPP_INLINE std::pair<bool, std::vector<std::string> const &> getExtensionDepends( std::string const & version, std::string const & extension )
778   {
779 #if !defined( NDEBUG )
780     static std::set<std::string> versions = { "VK_VERSION_1_0", "VK_VERSION_1_1", "VK_VERSION_1_2", "VK_VERSION_1_3" };
781     assert( versions.find( version ) != versions.end() );
782 #endif
783     static std::vector<std::string> noDependencies;
784 
785     std::map<std::string, std::vector<std::string>> const & dependencies = getExtensionDepends( extension );
786     if ( dependencies.empty() )
787     {
788       return { true, noDependencies };
789     }
790     auto depIt = dependencies.lower_bound( version );
791     if ( ( depIt == dependencies.end() ) || ( depIt->first != version ) )
792     {
793       depIt = std::prev( depIt );
794     }
795     if ( depIt == dependencies.end() )
796     {
797       return { false, noDependencies };
798     }
799     else
800     {
801       return { true, depIt->second };
802     }
803   }
804 
getObsoletedExtensions()805   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getObsoletedExtensions()
806   {
807     static std::map<std::string, std::string> obsoletedExtensions = { { "VK_AMD_negative_viewport_height", "VK_KHR_maintenance1" } };
808     return obsoletedExtensions;
809   }
810 
getPromotedExtensions()811   VULKAN_HPP_INLINE std::map<std::string, std::string> const & getPromotedExtensions()
812   {
813     static std::map<std::string, std::string> promotedExtensions = {
814 { "VK_KHR_sampler_mirror_clamp_to_edge", "VK_VERSION_1_2"},
815 { "VK_EXT_debug_marker", "VK_EXT_debug_utils"},
816 { "VK_AMD_draw_indirect_count", "VK_KHR_draw_indirect_count"},
817 { "VK_KHR_dynamic_rendering", "VK_VERSION_1_3"},
818 { "VK_KHR_multiview", "VK_VERSION_1_1"},
819 #if defined( VK_USE_PLATFORM_WIN32_KHR )
820 { "VK_NV_win32_keyed_mutex", "VK_KHR_win32_keyed_mutex"},
821 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
822 { "VK_KHR_get_physical_device_properties2", "VK_VERSION_1_1"},
823 { "VK_KHR_device_group", "VK_VERSION_1_1"},
824 { "VK_KHR_shader_draw_parameters", "VK_VERSION_1_1"},
825 { "VK_EXT_texture_compression_astc_hdr", "VK_VERSION_1_3"},
826 { "VK_KHR_maintenance1", "VK_VERSION_1_1"},
827 { "VK_KHR_device_group_creation", "VK_VERSION_1_1"},
828 { "VK_KHR_external_memory_capabilities", "VK_VERSION_1_1"},
829 { "VK_KHR_external_memory", "VK_VERSION_1_1"},
830 { "VK_KHR_external_semaphore_capabilities", "VK_VERSION_1_1"},
831 { "VK_KHR_external_semaphore", "VK_VERSION_1_1"},
832 { "VK_KHR_shader_float16_int8", "VK_VERSION_1_2"},
833 { "VK_KHR_16bit_storage", "VK_VERSION_1_1"},
834 { "VK_KHR_descriptor_update_template", "VK_VERSION_1_1"},
835 { "VK_KHR_imageless_framebuffer", "VK_VERSION_1_2"},
836 { "VK_KHR_create_renderpass2", "VK_VERSION_1_2"},
837 { "VK_KHR_external_fence_capabilities", "VK_VERSION_1_1"},
838 { "VK_KHR_external_fence", "VK_VERSION_1_1"},
839 { "VK_KHR_maintenance2", "VK_VERSION_1_1"},
840 { "VK_KHR_variable_pointers", "VK_VERSION_1_1"},
841 { "VK_KHR_dedicated_allocation", "VK_VERSION_1_1"},
842 { "VK_EXT_sampler_filter_minmax", "VK_VERSION_1_2"},
843 { "VK_KHR_storage_buffer_storage_class", "VK_VERSION_1_1"},
844 { "VK_EXT_inline_uniform_block", "VK_VERSION_1_3"},
845 { "VK_KHR_relaxed_block_layout", "VK_VERSION_1_1"},
846 { "VK_KHR_get_memory_requirements2", "VK_VERSION_1_1"},
847 { "VK_KHR_image_format_list", "VK_VERSION_1_2"},
848 { "VK_KHR_sampler_ycbcr_conversion", "VK_VERSION_1_1"},
849 { "VK_KHR_bind_memory2", "VK_VERSION_1_1"},
850 { "VK_EXT_descriptor_indexing", "VK_VERSION_1_2"},
851 { "VK_EXT_shader_viewport_index_layer", "VK_VERSION_1_2"},
852 { "VK_KHR_maintenance3", "VK_VERSION_1_1"},
853 { "VK_KHR_draw_indirect_count", "VK_VERSION_1_2"},
854 { "VK_EXT_global_priority", "VK_KHR_global_priority"},
855 { "VK_KHR_shader_subgroup_extended_types", "VK_VERSION_1_2"},
856 { "VK_KHR_8bit_storage", "VK_VERSION_1_2"},
857 { "VK_KHR_shader_atomic_int64", "VK_VERSION_1_2"},
858 { "VK_EXT_pipeline_creation_feedback", "VK_VERSION_1_3"},
859 { "VK_KHR_driver_properties", "VK_VERSION_1_2"},
860 { "VK_KHR_shader_float_controls", "VK_VERSION_1_2"},
861 { "VK_KHR_depth_stencil_resolve", "VK_VERSION_1_2"},
862 { "VK_NV_fragment_shader_barycentric", "VK_KHR_fragment_shader_barycentric"},
863 { "VK_KHR_timeline_semaphore", "VK_VERSION_1_2"},
864 { "VK_KHR_vulkan_memory_model", "VK_VERSION_1_2"},
865 { "VK_KHR_shader_terminate_invocation", "VK_VERSION_1_3"},
866 { "VK_EXT_scalar_block_layout", "VK_VERSION_1_2"},
867 { "VK_EXT_subgroup_size_control", "VK_VERSION_1_3"},
868 { "VK_KHR_spirv_1_4", "VK_VERSION_1_2"},
869 { "VK_KHR_separate_depth_stencil_layouts", "VK_VERSION_1_2"},
870 { "VK_EXT_tooling_info", "VK_VERSION_1_3"},
871 { "VK_EXT_separate_stencil_usage", "VK_VERSION_1_2"},
872 { "VK_KHR_uniform_buffer_standard_layout", "VK_VERSION_1_2"},
873 { "VK_KHR_buffer_device_address", "VK_VERSION_1_2"},
874 { "VK_EXT_host_query_reset", "VK_VERSION_1_2"},
875 { "VK_EXT_extended_dynamic_state", "VK_VERSION_1_3"},
876 { "VK_EXT_shader_demote_to_helper_invocation", "VK_VERSION_1_3"},
877 { "VK_KHR_shader_integer_dot_product", "VK_VERSION_1_3"},
878 { "VK_EXT_texel_buffer_alignment", "VK_VERSION_1_3"},
879 { "VK_KHR_shader_non_semantic_info", "VK_VERSION_1_3"},
880 { "VK_EXT_private_data", "VK_VERSION_1_3"},
881 { "VK_EXT_pipeline_creation_cache_control", "VK_VERSION_1_3"},
882 { "VK_KHR_synchronization2", "VK_VERSION_1_3"},
883 { "VK_KHR_zero_initialize_workgroup_memory", "VK_VERSION_1_3"},
884 { "VK_EXT_ycbcr_2plane_444_formats", "VK_VERSION_1_3"},
885 { "VK_EXT_image_robustness", "VK_VERSION_1_3"},
886 { "VK_KHR_copy_commands2", "VK_VERSION_1_3"},
887 { "VK_EXT_4444_formats", "VK_VERSION_1_3"},
888 { "VK_ARM_rasterization_order_attachment_access", "VK_EXT_rasterization_order_attachment_access"},
889 { "VK_VALVE_mutable_descriptor_type", "VK_EXT_mutable_descriptor_type"},
890 { "VK_KHR_format_feature_flags2", "VK_VERSION_1_3"},
891 { "VK_EXT_extended_dynamic_state2", "VK_VERSION_1_3"},
892 { "VK_EXT_global_priority_query", "VK_KHR_global_priority"},
893 { "VK_KHR_maintenance4", "VK_VERSION_1_3"} };
894     return promotedExtensions;
895   }
896 
getExtensionDeprecatedBy(std::string const & extension)897   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionDeprecatedBy( std::string const & extension )
898   {
899     if ( extension == "VK_EXT_debug_report" )
900     {
901       return "VK_EXT_debug_utils";
902     }
903     if ( extension == "VK_NV_glsl_shader" )
904     {
905       return "";
906     }
907     if ( extension == "VK_NV_dedicated_allocation" )
908     {
909       return "VK_KHR_dedicated_allocation";
910     }
911     if ( extension == "VK_AMD_gpu_shader_half_float" )
912     {
913       return "VK_KHR_shader_float16_int8";
914     }
915     if ( extension == "VK_IMG_format_pvrtc" )
916     {
917       return "";
918     }
919     if ( extension == "VK_NV_external_memory_capabilities" )
920     {
921       return "VK_KHR_external_memory_capabilities";
922     }
923     if ( extension == "VK_NV_external_memory" )
924     {
925       return "VK_KHR_external_memory";
926     }
927 #if defined( VK_USE_PLATFORM_WIN32_KHR )
928     if ( extension == "VK_NV_external_memory_win32" )
929     {
930       return "VK_KHR_external_memory_win32";
931     }
932 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
933     if ( extension == "VK_EXT_validation_flags" )
934     {
935       return "VK_EXT_validation_features";
936     }
937     if ( extension == "VK_EXT_shader_subgroup_ballot" )
938     {
939       return "VK_VERSION_1_2";
940     }
941     if ( extension == "VK_EXT_shader_subgroup_vote" )
942     {
943       return "VK_VERSION_1_1";
944     }
945 #if defined( VK_USE_PLATFORM_IOS_MVK )
946     if ( extension == "VK_MVK_ios_surface" )
947     {
948       return "VK_EXT_metal_surface";
949     }
950 #endif /*VK_USE_PLATFORM_IOS_MVK*/
951 #if defined( VK_USE_PLATFORM_MACOS_MVK )
952     if ( extension == "VK_MVK_macos_surface" )
953     {
954       return "VK_EXT_metal_surface";
955     }
956 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
957     if ( extension == "VK_AMD_gpu_shader_int16" )
958     {
959       return "VK_KHR_shader_float16_int8";
960     }
961     if ( extension == "VK_EXT_buffer_device_address" )
962     {
963       return "VK_KHR_buffer_device_address";
964     }
965     return "";
966   }
967 
getExtensionObsoletedBy(std::string const & extension)968   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionObsoletedBy( std::string const & extension )
969   {
970     if ( extension == "VK_AMD_negative_viewport_height" )
971     {
972       return "VK_KHR_maintenance1";
973     }
974     return "";
975   }
976 
getExtensionPromotedTo(std::string const & extension)977   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string getExtensionPromotedTo( std::string const & extension )
978   {
979     if ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" )
980     {
981       return "VK_VERSION_1_2";
982     }
983     if ( extension == "VK_EXT_debug_marker" )
984     {
985       return "VK_EXT_debug_utils";
986     }
987     if ( extension == "VK_AMD_draw_indirect_count" )
988     {
989       return "VK_KHR_draw_indirect_count";
990     }
991     if ( extension == "VK_KHR_dynamic_rendering" )
992     {
993       return "VK_VERSION_1_3";
994     }
995     if ( extension == "VK_KHR_multiview" )
996     {
997       return "VK_VERSION_1_1";
998     }
999 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1000     if ( extension == "VK_NV_win32_keyed_mutex" )
1001     {
1002       return "VK_KHR_win32_keyed_mutex";
1003     }
1004 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1005     if ( extension == "VK_KHR_get_physical_device_properties2" )
1006     {
1007       return "VK_VERSION_1_1";
1008     }
1009     if ( extension == "VK_KHR_device_group" )
1010     {
1011       return "VK_VERSION_1_1";
1012     }
1013     if ( extension == "VK_KHR_shader_draw_parameters" )
1014     {
1015       return "VK_VERSION_1_1";
1016     }
1017     if ( extension == "VK_EXT_texture_compression_astc_hdr" )
1018     {
1019       return "VK_VERSION_1_3";
1020     }
1021     if ( extension == "VK_KHR_maintenance1" )
1022     {
1023       return "VK_VERSION_1_1";
1024     }
1025     if ( extension == "VK_KHR_device_group_creation" )
1026     {
1027       return "VK_VERSION_1_1";
1028     }
1029     if ( extension == "VK_KHR_external_memory_capabilities" )
1030     {
1031       return "VK_VERSION_1_1";
1032     }
1033     if ( extension == "VK_KHR_external_memory" )
1034     {
1035       return "VK_VERSION_1_1";
1036     }
1037     if ( extension == "VK_KHR_external_semaphore_capabilities" )
1038     {
1039       return "VK_VERSION_1_1";
1040     }
1041     if ( extension == "VK_KHR_external_semaphore" )
1042     {
1043       return "VK_VERSION_1_1";
1044     }
1045     if ( extension == "VK_KHR_shader_float16_int8" )
1046     {
1047       return "VK_VERSION_1_2";
1048     }
1049     if ( extension == "VK_KHR_16bit_storage" )
1050     {
1051       return "VK_VERSION_1_1";
1052     }
1053     if ( extension == "VK_KHR_descriptor_update_template" )
1054     {
1055       return "VK_VERSION_1_1";
1056     }
1057     if ( extension == "VK_KHR_imageless_framebuffer" )
1058     {
1059       return "VK_VERSION_1_2";
1060     }
1061     if ( extension == "VK_KHR_create_renderpass2" )
1062     {
1063       return "VK_VERSION_1_2";
1064     }
1065     if ( extension == "VK_KHR_external_fence_capabilities" )
1066     {
1067       return "VK_VERSION_1_1";
1068     }
1069     if ( extension == "VK_KHR_external_fence" )
1070     {
1071       return "VK_VERSION_1_1";
1072     }
1073     if ( extension == "VK_KHR_maintenance2" )
1074     {
1075       return "VK_VERSION_1_1";
1076     }
1077     if ( extension == "VK_KHR_variable_pointers" )
1078     {
1079       return "VK_VERSION_1_1";
1080     }
1081     if ( extension == "VK_KHR_dedicated_allocation" )
1082     {
1083       return "VK_VERSION_1_1";
1084     }
1085     if ( extension == "VK_EXT_sampler_filter_minmax" )
1086     {
1087       return "VK_VERSION_1_2";
1088     }
1089     if ( extension == "VK_KHR_storage_buffer_storage_class" )
1090     {
1091       return "VK_VERSION_1_1";
1092     }
1093     if ( extension == "VK_EXT_inline_uniform_block" )
1094     {
1095       return "VK_VERSION_1_3";
1096     }
1097     if ( extension == "VK_KHR_relaxed_block_layout" )
1098     {
1099       return "VK_VERSION_1_1";
1100     }
1101     if ( extension == "VK_KHR_get_memory_requirements2" )
1102     {
1103       return "VK_VERSION_1_1";
1104     }
1105     if ( extension == "VK_KHR_image_format_list" )
1106     {
1107       return "VK_VERSION_1_2";
1108     }
1109     if ( extension == "VK_KHR_sampler_ycbcr_conversion" )
1110     {
1111       return "VK_VERSION_1_1";
1112     }
1113     if ( extension == "VK_KHR_bind_memory2" )
1114     {
1115       return "VK_VERSION_1_1";
1116     }
1117     if ( extension == "VK_EXT_descriptor_indexing" )
1118     {
1119       return "VK_VERSION_1_2";
1120     }
1121     if ( extension == "VK_EXT_shader_viewport_index_layer" )
1122     {
1123       return "VK_VERSION_1_2";
1124     }
1125     if ( extension == "VK_KHR_maintenance3" )
1126     {
1127       return "VK_VERSION_1_1";
1128     }
1129     if ( extension == "VK_KHR_draw_indirect_count" )
1130     {
1131       return "VK_VERSION_1_2";
1132     }
1133     if ( extension == "VK_EXT_global_priority" )
1134     {
1135       return "VK_KHR_global_priority";
1136     }
1137     if ( extension == "VK_KHR_shader_subgroup_extended_types" )
1138     {
1139       return "VK_VERSION_1_2";
1140     }
1141     if ( extension == "VK_KHR_8bit_storage" )
1142     {
1143       return "VK_VERSION_1_2";
1144     }
1145     if ( extension == "VK_KHR_shader_atomic_int64" )
1146     {
1147       return "VK_VERSION_1_2";
1148     }
1149     if ( extension == "VK_EXT_pipeline_creation_feedback" )
1150     {
1151       return "VK_VERSION_1_3";
1152     }
1153     if ( extension == "VK_KHR_driver_properties" )
1154     {
1155       return "VK_VERSION_1_2";
1156     }
1157     if ( extension == "VK_KHR_shader_float_controls" )
1158     {
1159       return "VK_VERSION_1_2";
1160     }
1161     if ( extension == "VK_KHR_depth_stencil_resolve" )
1162     {
1163       return "VK_VERSION_1_2";
1164     }
1165     if ( extension == "VK_NV_fragment_shader_barycentric" )
1166     {
1167       return "VK_KHR_fragment_shader_barycentric";
1168     }
1169     if ( extension == "VK_KHR_timeline_semaphore" )
1170     {
1171       return "VK_VERSION_1_2";
1172     }
1173     if ( extension == "VK_KHR_vulkan_memory_model" )
1174     {
1175       return "VK_VERSION_1_2";
1176     }
1177     if ( extension == "VK_KHR_shader_terminate_invocation" )
1178     {
1179       return "VK_VERSION_1_3";
1180     }
1181     if ( extension == "VK_EXT_scalar_block_layout" )
1182     {
1183       return "VK_VERSION_1_2";
1184     }
1185     if ( extension == "VK_EXT_subgroup_size_control" )
1186     {
1187       return "VK_VERSION_1_3";
1188     }
1189     if ( extension == "VK_KHR_spirv_1_4" )
1190     {
1191       return "VK_VERSION_1_2";
1192     }
1193     if ( extension == "VK_KHR_separate_depth_stencil_layouts" )
1194     {
1195       return "VK_VERSION_1_2";
1196     }
1197     if ( extension == "VK_EXT_tooling_info" )
1198     {
1199       return "VK_VERSION_1_3";
1200     }
1201     if ( extension == "VK_EXT_separate_stencil_usage" )
1202     {
1203       return "VK_VERSION_1_2";
1204     }
1205     if ( extension == "VK_KHR_uniform_buffer_standard_layout" )
1206     {
1207       return "VK_VERSION_1_2";
1208     }
1209     if ( extension == "VK_KHR_buffer_device_address" )
1210     {
1211       return "VK_VERSION_1_2";
1212     }
1213     if ( extension == "VK_EXT_host_query_reset" )
1214     {
1215       return "VK_VERSION_1_2";
1216     }
1217     if ( extension == "VK_EXT_extended_dynamic_state" )
1218     {
1219       return "VK_VERSION_1_3";
1220     }
1221     if ( extension == "VK_EXT_shader_demote_to_helper_invocation" )
1222     {
1223       return "VK_VERSION_1_3";
1224     }
1225     if ( extension == "VK_KHR_shader_integer_dot_product" )
1226     {
1227       return "VK_VERSION_1_3";
1228     }
1229     if ( extension == "VK_EXT_texel_buffer_alignment" )
1230     {
1231       return "VK_VERSION_1_3";
1232     }
1233     if ( extension == "VK_KHR_shader_non_semantic_info" )
1234     {
1235       return "VK_VERSION_1_3";
1236     }
1237     if ( extension == "VK_EXT_private_data" )
1238     {
1239       return "VK_VERSION_1_3";
1240     }
1241     if ( extension == "VK_EXT_pipeline_creation_cache_control" )
1242     {
1243       return "VK_VERSION_1_3";
1244     }
1245     if ( extension == "VK_KHR_synchronization2" )
1246     {
1247       return "VK_VERSION_1_3";
1248     }
1249     if ( extension == "VK_KHR_zero_initialize_workgroup_memory" )
1250     {
1251       return "VK_VERSION_1_3";
1252     }
1253     if ( extension == "VK_EXT_ycbcr_2plane_444_formats" )
1254     {
1255       return "VK_VERSION_1_3";
1256     }
1257     if ( extension == "VK_EXT_image_robustness" )
1258     {
1259       return "VK_VERSION_1_3";
1260     }
1261     if ( extension == "VK_KHR_copy_commands2" )
1262     {
1263       return "VK_VERSION_1_3";
1264     }
1265     if ( extension == "VK_EXT_4444_formats" )
1266     {
1267       return "VK_VERSION_1_3";
1268     }
1269     if ( extension == "VK_ARM_rasterization_order_attachment_access" )
1270     {
1271       return "VK_EXT_rasterization_order_attachment_access";
1272     }
1273     if ( extension == "VK_VALVE_mutable_descriptor_type" )
1274     {
1275       return "VK_EXT_mutable_descriptor_type";
1276     }
1277     if ( extension == "VK_KHR_format_feature_flags2" )
1278     {
1279       return "VK_VERSION_1_3";
1280     }
1281     if ( extension == "VK_EXT_extended_dynamic_state2" )
1282     {
1283       return "VK_VERSION_1_3";
1284     }
1285     if ( extension == "VK_EXT_global_priority_query" )
1286     {
1287       return "VK_KHR_global_priority";
1288     }
1289     if ( extension == "VK_KHR_maintenance4" )
1290     {
1291       return "VK_VERSION_1_3";
1292     }
1293     return "";
1294   }
1295 
isDeprecatedExtension(std::string const & extension)1296   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isDeprecatedExtension( std::string const & extension )
1297   {
1298     return ( extension == "VK_EXT_debug_report" ) || ( extension == "VK_NV_glsl_shader" ) || ( extension == "VK_NV_dedicated_allocation" ) ||
1299            ( extension == "VK_AMD_gpu_shader_half_float" ) || ( extension == "VK_IMG_format_pvrtc" ) || ( extension == "VK_NV_external_memory_capabilities" ) ||
1300            ( extension == "VK_NV_external_memory" ) ||
1301 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1302            ( extension == "VK_NV_external_memory_win32" ) ||
1303 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1304            ( extension == "VK_EXT_validation_flags" ) || ( extension == "VK_EXT_shader_subgroup_ballot" ) || ( extension == "VK_EXT_shader_subgroup_vote" ) ||
1305 #if defined( VK_USE_PLATFORM_IOS_MVK )
1306            ( extension == "VK_MVK_ios_surface" ) ||
1307 #endif /*VK_USE_PLATFORM_IOS_MVK*/
1308 #if defined( VK_USE_PLATFORM_MACOS_MVK )
1309            ( extension == "VK_MVK_macos_surface" ) ||
1310 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
1311            ( extension == "VK_AMD_gpu_shader_int16" ) || ( extension == "VK_EXT_buffer_device_address" );
1312   }
1313 
isDeviceExtension(std::string const & extension)1314   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isDeviceExtension( std::string const & extension )
1315   {
1316     return ( extension == "VK_KHR_swapchain" ) || ( extension == "VK_KHR_display_swapchain" ) || ( extension == "VK_NV_glsl_shader" ) ||
1317            ( extension == "VK_EXT_depth_range_unrestricted" ) || ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" ) ||
1318            ( extension == "VK_IMG_filter_cubic" ) || ( extension == "VK_AMD_rasterization_order" ) || ( extension == "VK_AMD_shader_trinary_minmax" ) ||
1319            ( extension == "VK_AMD_shader_explicit_vertex_parameter" ) || ( extension == "VK_EXT_debug_marker" ) || ( extension == "VK_KHR_video_queue" ) ||
1320            ( extension == "VK_KHR_video_decode_queue" ) || ( extension == "VK_AMD_gcn_shader" ) || ( extension == "VK_NV_dedicated_allocation" ) ||
1321            ( extension == "VK_EXT_transform_feedback" ) || ( extension == "VK_NVX_binary_import" ) || ( extension == "VK_NVX_image_view_handle" ) ||
1322            ( extension == "VK_AMD_draw_indirect_count" ) || ( extension == "VK_AMD_negative_viewport_height" ) ||
1323            ( extension == "VK_AMD_gpu_shader_half_float" ) || ( extension == "VK_AMD_shader_ballot" ) ||
1324 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1325            ( extension == "VK_EXT_video_encode_h264" ) || ( extension == "VK_EXT_video_encode_h265" ) ||
1326 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1327            ( extension == "VK_KHR_video_decode_h264" ) || ( extension == "VK_AMD_texture_gather_bias_lod" ) || ( extension == "VK_AMD_shader_info" ) ||
1328            ( extension == "VK_KHR_dynamic_rendering" ) || ( extension == "VK_AMD_shader_image_load_store_lod" ) ||
1329            ( extension == "VK_NV_corner_sampled_image" ) || ( extension == "VK_KHR_multiview" ) || ( extension == "VK_IMG_format_pvrtc" ) ||
1330            ( extension == "VK_NV_external_memory" ) ||
1331 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1332            ( extension == "VK_NV_external_memory_win32" ) || ( extension == "VK_NV_win32_keyed_mutex" ) ||
1333 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1334            ( extension == "VK_KHR_device_group" ) || ( extension == "VK_KHR_shader_draw_parameters" ) || ( extension == "VK_EXT_shader_subgroup_ballot" ) ||
1335            ( extension == "VK_EXT_shader_subgroup_vote" ) || ( extension == "VK_EXT_texture_compression_astc_hdr" ) ||
1336            ( extension == "VK_EXT_astc_decode_mode" ) || ( extension == "VK_EXT_pipeline_robustness" ) || ( extension == "VK_KHR_maintenance1" ) ||
1337            ( extension == "VK_KHR_external_memory" ) ||
1338 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1339            ( extension == "VK_KHR_external_memory_win32" ) ||
1340 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1341            ( extension == "VK_KHR_external_memory_fd" ) ||
1342 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1343            ( extension == "VK_KHR_win32_keyed_mutex" ) ||
1344 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1345            ( extension == "VK_KHR_external_semaphore" ) ||
1346 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1347            ( extension == "VK_KHR_external_semaphore_win32" ) ||
1348 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1349            ( extension == "VK_KHR_external_semaphore_fd" ) || ( extension == "VK_KHR_push_descriptor" ) || ( extension == "VK_EXT_conditional_rendering" ) ||
1350            ( extension == "VK_KHR_shader_float16_int8" ) || ( extension == "VK_KHR_16bit_storage" ) || ( extension == "VK_KHR_incremental_present" ) ||
1351            ( extension == "VK_KHR_descriptor_update_template" ) || ( extension == "VK_NV_clip_space_w_scaling" ) || ( extension == "VK_EXT_display_control" ) ||
1352            ( extension == "VK_GOOGLE_display_timing" ) || ( extension == "VK_NV_sample_mask_override_coverage" ) ||
1353            ( extension == "VK_NV_geometry_shader_passthrough" ) || ( extension == "VK_NV_viewport_array2" ) ||
1354            ( extension == "VK_NVX_multiview_per_view_attributes" ) || ( extension == "VK_NV_viewport_swizzle" ) ||
1355            ( extension == "VK_EXT_discard_rectangles" ) || ( extension == "VK_EXT_conservative_rasterization" ) ||
1356            ( extension == "VK_EXT_depth_clip_enable" ) || ( extension == "VK_EXT_hdr_metadata" ) || ( extension == "VK_KHR_imageless_framebuffer" ) ||
1357            ( extension == "VK_KHR_create_renderpass2" ) || ( extension == "VK_KHR_shared_presentable_image" ) || ( extension == "VK_KHR_external_fence" ) ||
1358 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1359            ( extension == "VK_KHR_external_fence_win32" ) ||
1360 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1361            ( extension == "VK_KHR_external_fence_fd" ) || ( extension == "VK_KHR_performance_query" ) || ( extension == "VK_KHR_maintenance2" ) ||
1362            ( extension == "VK_KHR_variable_pointers" ) || ( extension == "VK_EXT_external_memory_dma_buf" ) || ( extension == "VK_EXT_queue_family_foreign" ) ||
1363            ( extension == "VK_KHR_dedicated_allocation" ) ||
1364 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
1365            ( extension == "VK_ANDROID_external_memory_android_hardware_buffer" ) ||
1366 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1367            ( extension == "VK_EXT_sampler_filter_minmax" ) || ( extension == "VK_KHR_storage_buffer_storage_class" ) ||
1368            ( extension == "VK_AMD_gpu_shader_int16" ) || ( extension == "VK_AMD_mixed_attachment_samples" ) || ( extension == "VK_AMD_shader_fragment_mask" ) ||
1369            ( extension == "VK_EXT_inline_uniform_block" ) || ( extension == "VK_EXT_shader_stencil_export" ) || ( extension == "VK_EXT_sample_locations" ) ||
1370            ( extension == "VK_KHR_relaxed_block_layout" ) || ( extension == "VK_KHR_get_memory_requirements2" ) ||
1371            ( extension == "VK_KHR_image_format_list" ) || ( extension == "VK_EXT_blend_operation_advanced" ) ||
1372            ( extension == "VK_NV_fragment_coverage_to_color" ) || ( extension == "VK_KHR_acceleration_structure" ) ||
1373            ( extension == "VK_KHR_ray_tracing_pipeline" ) || ( extension == "VK_KHR_ray_query" ) || ( extension == "VK_NV_framebuffer_mixed_samples" ) ||
1374            ( extension == "VK_NV_fill_rectangle" ) || ( extension == "VK_NV_shader_sm_builtins" ) || ( extension == "VK_EXT_post_depth_coverage" ) ||
1375            ( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) ||
1376            ( extension == "VK_EXT_image_drm_format_modifier" ) || ( extension == "VK_EXT_validation_cache" ) || ( extension == "VK_EXT_descriptor_indexing" ) ||
1377            ( extension == "VK_EXT_shader_viewport_index_layer" ) ||
1378 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1379            ( extension == "VK_KHR_portability_subset" ) ||
1380 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1381            ( extension == "VK_NV_shading_rate_image" ) || ( extension == "VK_NV_ray_tracing" ) || ( extension == "VK_NV_representative_fragment_test" ) ||
1382            ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) || ( extension == "VK_EXT_filter_cubic" ) ||
1383            ( extension == "VK_QCOM_render_pass_shader_resolve" ) || ( extension == "VK_EXT_global_priority" ) ||
1384            ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
1385            ( extension == "VK_EXT_external_memory_host" ) || ( extension == "VK_AMD_buffer_marker" ) || ( extension == "VK_KHR_shader_atomic_int64" ) ||
1386            ( extension == "VK_KHR_shader_clock" ) || ( extension == "VK_AMD_pipeline_compiler_control" ) || ( extension == "VK_EXT_calibrated_timestamps" ) ||
1387            ( extension == "VK_AMD_shader_core_properties" ) || ( extension == "VK_KHR_video_decode_h265" ) || ( extension == "VK_KHR_global_priority" ) ||
1388            ( extension == "VK_AMD_memory_overallocation_behavior" ) || ( extension == "VK_EXT_vertex_attribute_divisor" ) ||
1389 #if defined( VK_USE_PLATFORM_GGP )
1390            ( extension == "VK_GGP_frame_token" ) ||
1391 #endif /*VK_USE_PLATFORM_GGP*/
1392            ( extension == "VK_EXT_pipeline_creation_feedback" ) || ( extension == "VK_KHR_driver_properties" ) ||
1393            ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_NV_shader_subgroup_partitioned" ) ||
1394            ( extension == "VK_KHR_depth_stencil_resolve" ) || ( extension == "VK_KHR_swapchain_mutable_format" ) ||
1395            ( extension == "VK_NV_compute_shader_derivatives" ) || ( extension == "VK_NV_mesh_shader" ) ||
1396            ( extension == "VK_NV_fragment_shader_barycentric" ) || ( extension == "VK_NV_shader_image_footprint" ) ||
1397            ( extension == "VK_NV_scissor_exclusive" ) || ( extension == "VK_NV_device_diagnostic_checkpoints" ) ||
1398            ( extension == "VK_KHR_timeline_semaphore" ) || ( extension == "VK_INTEL_shader_integer_functions2" ) ||
1399            ( extension == "VK_INTEL_performance_query" ) || ( extension == "VK_KHR_vulkan_memory_model" ) || ( extension == "VK_EXT_pci_bus_info" ) ||
1400            ( extension == "VK_AMD_display_native_hdr" ) || ( extension == "VK_KHR_shader_terminate_invocation" ) ||
1401            ( extension == "VK_EXT_fragment_density_map" ) || ( extension == "VK_EXT_scalar_block_layout" ) ||
1402            ( extension == "VK_GOOGLE_hlsl_functionality1" ) || ( extension == "VK_GOOGLE_decorate_string" ) ||
1403            ( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_fragment_shading_rate" ) ||
1404            ( extension == "VK_AMD_shader_core_properties2" ) || ( extension == "VK_AMD_device_coherent_memory" ) ||
1405            ( extension == "VK_EXT_shader_image_atomic_int64" ) || ( extension == "VK_KHR_spirv_1_4" ) || ( extension == "VK_EXT_memory_budget" ) ||
1406            ( extension == "VK_EXT_memory_priority" ) || ( extension == "VK_NV_dedicated_allocation_image_aliasing" ) ||
1407            ( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_buffer_device_address" ) ||
1408            ( extension == "VK_EXT_tooling_info" ) || ( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_present_wait" ) ||
1409            ( extension == "VK_NV_cooperative_matrix" ) || ( extension == "VK_NV_coverage_reduction_mode" ) ||
1410            ( extension == "VK_EXT_fragment_shader_interlock" ) || ( extension == "VK_EXT_ycbcr_image_arrays" ) ||
1411            ( extension == "VK_KHR_uniform_buffer_standard_layout" ) || ( extension == "VK_EXT_provoking_vertex" ) ||
1412 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1413            ( extension == "VK_EXT_full_screen_exclusive" ) ||
1414 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1415            ( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_line_rasterization" ) || ( extension == "VK_EXT_shader_atomic_float" ) ||
1416            ( extension == "VK_EXT_host_query_reset" ) || ( extension == "VK_EXT_index_type_uint8" ) || ( extension == "VK_EXT_extended_dynamic_state" ) ||
1417            ( extension == "VK_KHR_deferred_host_operations" ) || ( extension == "VK_KHR_pipeline_executable_properties" ) ||
1418            ( extension == "VK_KHR_map_memory2" ) || ( extension == "VK_EXT_shader_atomic_float2" ) || ( extension == "VK_EXT_swapchain_maintenance1" ) ||
1419            ( extension == "VK_EXT_shader_demote_to_helper_invocation" ) || ( extension == "VK_NV_device_generated_commands" ) ||
1420            ( extension == "VK_NV_inherited_viewport_scissor" ) || ( extension == "VK_KHR_shader_integer_dot_product" ) ||
1421            ( extension == "VK_EXT_texel_buffer_alignment" ) || ( extension == "VK_QCOM_render_pass_transform" ) ||
1422            ( extension == "VK_EXT_device_memory_report" ) || ( extension == "VK_EXT_robustness2" ) || ( extension == "VK_EXT_custom_border_color" ) ||
1423            ( extension == "VK_GOOGLE_user_type" ) || ( extension == "VK_KHR_pipeline_library" ) || ( extension == "VK_NV_present_barrier" ) ||
1424            ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_KHR_present_id" ) || ( extension == "VK_EXT_private_data" ) ||
1425            ( extension == "VK_EXT_pipeline_creation_cache_control" ) ||
1426 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1427            ( extension == "VK_KHR_video_encode_queue" ) ||
1428 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1429            ( extension == "VK_NV_device_diagnostics_config" ) || ( extension == "VK_QCOM_render_pass_store_ops" ) || ( extension == "VK_NV_low_latency" ) ||
1430 #if defined( VK_USE_PLATFORM_METAL_EXT )
1431            ( extension == "VK_EXT_metal_objects" ) ||
1432 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1433            ( extension == "VK_KHR_synchronization2" ) || ( extension == "VK_EXT_descriptor_buffer" ) || ( extension == "VK_EXT_graphics_pipeline_library" ) ||
1434            ( extension == "VK_AMD_shader_early_and_late_fragment_tests" ) || ( extension == "VK_KHR_fragment_shader_barycentric" ) ||
1435            ( extension == "VK_KHR_shader_subgroup_uniform_control_flow" ) || ( extension == "VK_KHR_zero_initialize_workgroup_memory" ) ||
1436            ( extension == "VK_NV_fragment_shading_rate_enums" ) || ( extension == "VK_NV_ray_tracing_motion_blur" ) || ( extension == "VK_EXT_mesh_shader" ) ||
1437            ( extension == "VK_EXT_ycbcr_2plane_444_formats" ) || ( extension == "VK_EXT_fragment_density_map2" ) ||
1438            ( extension == "VK_QCOM_rotated_copy_commands" ) || ( extension == "VK_EXT_image_robustness" ) ||
1439            ( extension == "VK_KHR_workgroup_memory_explicit_layout" ) || ( extension == "VK_KHR_copy_commands2" ) ||
1440            ( extension == "VK_EXT_image_compression_control" ) || ( extension == "VK_EXT_attachment_feedback_loop_layout" ) ||
1441            ( extension == "VK_EXT_4444_formats" ) || ( extension == "VK_EXT_device_fault" ) ||
1442            ( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_EXT_rgba10x6_formats" ) ||
1443 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1444            ( extension == "VK_NV_acquire_winrt_display" ) ||
1445 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1446            ( extension == "VK_VALVE_mutable_descriptor_type" ) || ( extension == "VK_EXT_vertex_input_dynamic_state" ) ||
1447            ( extension == "VK_EXT_physical_device_drm" ) || ( extension == "VK_EXT_device_address_binding_report" ) ||
1448            ( extension == "VK_EXT_depth_clip_control" ) || ( extension == "VK_EXT_primitive_topology_list_restart" ) ||
1449            ( extension == "VK_KHR_format_feature_flags2" ) ||
1450 #if defined( VK_USE_PLATFORM_FUCHSIA )
1451            ( extension == "VK_FUCHSIA_external_memory" ) || ( extension == "VK_FUCHSIA_external_semaphore" ) ||
1452            ( extension == "VK_FUCHSIA_buffer_collection" ) ||
1453 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1454            ( extension == "VK_HUAWEI_subpass_shading" ) || ( extension == "VK_HUAWEI_invocation_mask" ) || ( extension == "VK_NV_external_memory_rdma" ) ||
1455            ( extension == "VK_EXT_pipeline_properties" ) || ( extension == "VK_EXT_multisampled_render_to_single_sampled" ) ||
1456            ( extension == "VK_EXT_extended_dynamic_state2" ) || ( extension == "VK_EXT_color_write_enable" ) ||
1457            ( extension == "VK_EXT_primitives_generated_query" ) || ( extension == "VK_KHR_ray_tracing_maintenance1" ) ||
1458            ( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_EXT_image_view_min_lod" ) || ( extension == "VK_EXT_multi_draw" ) ||
1459            ( extension == "VK_EXT_image_2d_view_of_3d" ) || ( extension == "VK_EXT_shader_tile_image" ) || ( extension == "VK_EXT_opacity_micromap" ) ||
1460 #if defined( VK_ENABLE_BETA_EXTENSIONS )
1461            ( extension == "VK_NV_displacement_micromap" ) ||
1462 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
1463            ( extension == "VK_EXT_load_store_op_none" ) || ( extension == "VK_HUAWEI_cluster_culling_shader" ) ||
1464            ( extension == "VK_EXT_border_color_swizzle" ) || ( extension == "VK_EXT_pageable_device_local_memory" ) || ( extension == "VK_KHR_maintenance4" ) ||
1465            ( extension == "VK_ARM_shader_core_properties" ) || ( extension == "VK_EXT_image_sliced_view_of_3d" ) ||
1466            ( extension == "VK_VALVE_descriptor_set_host_mapping" ) || ( extension == "VK_EXT_depth_clamp_zero_one" ) ||
1467            ( extension == "VK_EXT_non_seamless_cube_map" ) || ( extension == "VK_QCOM_fragment_density_map_offset" ) ||
1468            ( extension == "VK_NV_copy_memory_indirect" ) || ( extension == "VK_NV_memory_decompression" ) || ( extension == "VK_NV_linear_color_attachment" ) ||
1469            ( extension == "VK_EXT_image_compression_control_swapchain" ) || ( extension == "VK_QCOM_image_processing" ) ||
1470            ( extension == "VK_EXT_extended_dynamic_state3" ) || ( extension == "VK_EXT_subpass_merge_feedback" ) ||
1471            ( extension == "VK_EXT_shader_module_identifier" ) || ( extension == "VK_EXT_rasterization_order_attachment_access" ) ||
1472            ( extension == "VK_NV_optical_flow" ) || ( extension == "VK_EXT_legacy_dithering" ) || ( extension == "VK_EXT_pipeline_protected_access" ) ||
1473            ( extension == "VK_KHR_ray_tracing_position_fetch" ) || ( extension == "VK_EXT_shader_object" ) || ( extension == "VK_QCOM_tile_properties" ) ||
1474            ( extension == "VK_SEC_amigo_profiling" ) || ( extension == "VK_QCOM_multiview_per_view_viewports" ) ||
1475            ( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_EXT_mutable_descriptor_type" ) ||
1476            ( extension == "VK_ARM_shader_core_builtins" ) || ( extension == "VK_EXT_pipeline_library_group_handles" ) ||
1477            ( extension == "VK_QCOM_multiview_per_view_render_areas" ) || ( extension == "VK_EXT_attachment_feedback_loop_dynamic_state" );
1478   }
1479 
isInstanceExtension(std::string const & extension)1480   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isInstanceExtension( std::string const & extension )
1481   {
1482     return ( extension == "VK_KHR_surface" ) || ( extension == "VK_KHR_display" ) ||
1483 #if defined( VK_USE_PLATFORM_XLIB_KHR )
1484            ( extension == "VK_KHR_xlib_surface" ) ||
1485 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
1486 #if defined( VK_USE_PLATFORM_XCB_KHR )
1487            ( extension == "VK_KHR_xcb_surface" ) ||
1488 #endif /*VK_USE_PLATFORM_XCB_KHR*/
1489 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
1490            ( extension == "VK_KHR_wayland_surface" ) ||
1491 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
1492 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
1493            ( extension == "VK_KHR_android_surface" ) ||
1494 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
1495 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1496            ( extension == "VK_KHR_win32_surface" ) ||
1497 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1498            ( extension == "VK_EXT_debug_report" ) ||
1499 #if defined( VK_USE_PLATFORM_GGP )
1500            ( extension == "VK_GGP_stream_descriptor_surface" ) ||
1501 #endif /*VK_USE_PLATFORM_GGP*/
1502            ( extension == "VK_NV_external_memory_capabilities" ) || ( extension == "VK_KHR_get_physical_device_properties2" ) ||
1503            ( extension == "VK_EXT_validation_flags" ) ||
1504 #if defined( VK_USE_PLATFORM_VI_NN )
1505            ( extension == "VK_NN_vi_surface" ) ||
1506 #endif /*VK_USE_PLATFORM_VI_NN*/
1507            ( extension == "VK_KHR_device_group_creation" ) || ( extension == "VK_KHR_external_memory_capabilities" ) ||
1508            ( extension == "VK_KHR_external_semaphore_capabilities" ) || ( extension == "VK_EXT_direct_mode_display" ) ||
1509 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
1510            ( extension == "VK_EXT_acquire_xlib_display" ) ||
1511 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
1512            ( extension == "VK_EXT_display_surface_counter" ) || ( extension == "VK_EXT_swapchain_colorspace" ) ||
1513            ( extension == "VK_KHR_external_fence_capabilities" ) || ( extension == "VK_KHR_get_surface_capabilities2" ) ||
1514            ( extension == "VK_KHR_get_display_properties2" ) ||
1515 #if defined( VK_USE_PLATFORM_IOS_MVK )
1516            ( extension == "VK_MVK_ios_surface" ) ||
1517 #endif /*VK_USE_PLATFORM_IOS_MVK*/
1518 #if defined( VK_USE_PLATFORM_MACOS_MVK )
1519            ( extension == "VK_MVK_macos_surface" ) ||
1520 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
1521            ( extension == "VK_EXT_debug_utils" ) ||
1522 #if defined( VK_USE_PLATFORM_FUCHSIA )
1523            ( extension == "VK_FUCHSIA_imagepipe_surface" ) ||
1524 #endif /*VK_USE_PLATFORM_FUCHSIA*/
1525 #if defined( VK_USE_PLATFORM_METAL_EXT )
1526            ( extension == "VK_EXT_metal_surface" ) ||
1527 #endif /*VK_USE_PLATFORM_METAL_EXT*/
1528            ( extension == "VK_KHR_surface_protected_capabilities" ) || ( extension == "VK_EXT_validation_features" ) ||
1529            ( extension == "VK_EXT_headless_surface" ) || ( extension == "VK_EXT_surface_maintenance1" ) || ( extension == "VK_EXT_acquire_drm_display" ) ||
1530 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
1531            ( extension == "VK_EXT_directfb_surface" ) ||
1532 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
1533 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
1534            ( extension == "VK_QNX_screen_surface" ) ||
1535 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
1536            ( extension == "VK_KHR_portability_enumeration" ) || ( extension == "VK_GOOGLE_surfaceless_query" ) ||
1537            ( extension == "VK_LUNARG_direct_driver_loading" );
1538   }
1539 
isObsoletedExtension(std::string const & extension)1540   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isObsoletedExtension( std::string const & extension )
1541   {
1542     return ( extension == "VK_AMD_negative_viewport_height" );
1543   }
1544 
isPromotedExtension(std::string const & extension)1545   VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 bool isPromotedExtension( std::string const & extension )
1546   {
1547     return ( extension == "VK_KHR_sampler_mirror_clamp_to_edge" ) || ( extension == "VK_EXT_debug_marker" ) || ( extension == "VK_AMD_draw_indirect_count" ) ||
1548            ( extension == "VK_KHR_dynamic_rendering" ) || ( extension == "VK_KHR_multiview" ) ||
1549 #if defined( VK_USE_PLATFORM_WIN32_KHR )
1550            ( extension == "VK_NV_win32_keyed_mutex" ) ||
1551 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
1552            ( extension == "VK_KHR_get_physical_device_properties2" ) || ( extension == "VK_KHR_device_group" ) ||
1553            ( extension == "VK_KHR_shader_draw_parameters" ) || ( extension == "VK_EXT_texture_compression_astc_hdr" ) ||
1554            ( extension == "VK_KHR_maintenance1" ) || ( extension == "VK_KHR_device_group_creation" ) ||
1555            ( extension == "VK_KHR_external_memory_capabilities" ) || ( extension == "VK_KHR_external_memory" ) ||
1556            ( extension == "VK_KHR_external_semaphore_capabilities" ) || ( extension == "VK_KHR_external_semaphore" ) ||
1557            ( extension == "VK_KHR_shader_float16_int8" ) || ( extension == "VK_KHR_16bit_storage" ) || ( extension == "VK_KHR_descriptor_update_template" ) ||
1558            ( extension == "VK_KHR_imageless_framebuffer" ) || ( extension == "VK_KHR_create_renderpass2" ) ||
1559            ( extension == "VK_KHR_external_fence_capabilities" ) || ( extension == "VK_KHR_external_fence" ) || ( extension == "VK_KHR_maintenance2" ) ||
1560            ( extension == "VK_KHR_variable_pointers" ) || ( extension == "VK_KHR_dedicated_allocation" ) || ( extension == "VK_EXT_sampler_filter_minmax" ) ||
1561            ( extension == "VK_KHR_storage_buffer_storage_class" ) || ( extension == "VK_EXT_inline_uniform_block" ) ||
1562            ( extension == "VK_KHR_relaxed_block_layout" ) || ( extension == "VK_KHR_get_memory_requirements2" ) ||
1563            ( extension == "VK_KHR_image_format_list" ) || ( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) ||
1564            ( extension == "VK_EXT_descriptor_indexing" ) || ( extension == "VK_EXT_shader_viewport_index_layer" ) || ( extension == "VK_KHR_maintenance3" ) ||
1565            ( extension == "VK_KHR_draw_indirect_count" ) || ( extension == "VK_EXT_global_priority" ) ||
1566            ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
1567            ( extension == "VK_KHR_shader_atomic_int64" ) || ( extension == "VK_EXT_pipeline_creation_feedback" ) ||
1568            ( extension == "VK_KHR_driver_properties" ) || ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_KHR_depth_stencil_resolve" ) ||
1569            ( extension == "VK_NV_fragment_shader_barycentric" ) || ( extension == "VK_KHR_timeline_semaphore" ) ||
1570            ( extension == "VK_KHR_vulkan_memory_model" ) || ( extension == "VK_KHR_shader_terminate_invocation" ) ||
1571            ( extension == "VK_EXT_scalar_block_layout" ) || ( extension == "VK_EXT_subgroup_size_control" ) || ( extension == "VK_KHR_spirv_1_4" ) ||
1572            ( extension == "VK_KHR_separate_depth_stencil_layouts" ) || ( extension == "VK_EXT_tooling_info" ) ||
1573            ( extension == "VK_EXT_separate_stencil_usage" ) || ( extension == "VK_KHR_uniform_buffer_standard_layout" ) ||
1574            ( extension == "VK_KHR_buffer_device_address" ) || ( extension == "VK_EXT_host_query_reset" ) || ( extension == "VK_EXT_extended_dynamic_state" ) ||
1575            ( extension == "VK_EXT_shader_demote_to_helper_invocation" ) || ( extension == "VK_KHR_shader_integer_dot_product" ) ||
1576            ( extension == "VK_EXT_texel_buffer_alignment" ) || ( extension == "VK_KHR_shader_non_semantic_info" ) || ( extension == "VK_EXT_private_data" ) ||
1577            ( extension == "VK_EXT_pipeline_creation_cache_control" ) || ( extension == "VK_KHR_synchronization2" ) ||
1578            ( extension == "VK_KHR_zero_initialize_workgroup_memory" ) || ( extension == "VK_EXT_ycbcr_2plane_444_formats" ) ||
1579            ( extension == "VK_EXT_image_robustness" ) || ( extension == "VK_KHR_copy_commands2" ) || ( extension == "VK_EXT_4444_formats" ) ||
1580            ( extension == "VK_ARM_rasterization_order_attachment_access" ) || ( extension == "VK_VALVE_mutable_descriptor_type" ) ||
1581            ( extension == "VK_KHR_format_feature_flags2" ) || ( extension == "VK_EXT_extended_dynamic_state2" ) ||
1582            ( extension == "VK_EXT_global_priority_query" ) || ( extension == "VK_KHR_maintenance4" );
1583   }
1584 }  // namespace VULKAN_HPP_NAMESPACE
1585 
1586 #endif
1587