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