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