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