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