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