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