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