| /* WARNING: This is auto-generated file. Do not modify, since changes will |
| * be lost! Modify the generating script instead. |
| */ |
| |
| static const std::tuple<deUint32, deUint32, const char*, const char*> instanceExtensionDependencies[] = |
| { |
| std::make_tuple(1, 0, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 1, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 2, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 3, "VK_EXT_acquire_drm_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 1, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 2, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 3, "VK_EXT_acquire_xlib_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 0, "VK_EXT_direct_mode_display", "VK_KHR_display"), |
| std::make_tuple(1, 1, "VK_EXT_direct_mode_display", "VK_KHR_display"), |
| std::make_tuple(1, 2, "VK_EXT_direct_mode_display", "VK_KHR_display"), |
| std::make_tuple(1, 3, "VK_EXT_direct_mode_display", "VK_KHR_display"), |
| std::make_tuple(1, 0, "VK_EXT_directfb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_EXT_directfb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_EXT_directfb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_EXT_directfb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_EXT_display_surface_counter", "VK_KHR_display"), |
| std::make_tuple(1, 1, "VK_EXT_display_surface_counter", "VK_KHR_display"), |
| std::make_tuple(1, 2, "VK_EXT_display_surface_counter", "VK_KHR_display"), |
| std::make_tuple(1, 3, "VK_EXT_display_surface_counter", "VK_KHR_display"), |
| std::make_tuple(1, 0, "VK_EXT_headless_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_EXT_headless_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_EXT_headless_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_EXT_headless_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_EXT_metal_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_EXT_metal_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_EXT_metal_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_EXT_metal_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_EXT_swapchain_colorspace", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_FUCHSIA_imagepipe_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_GGP_stream_descriptor_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_GOOGLE_surfaceless_query", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_android_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_android_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_android_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_android_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_display", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_display", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_display", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_display", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_get_display_properties2", "VK_KHR_display"), |
| std::make_tuple(1, 1, "VK_KHR_get_display_properties2", "VK_KHR_display"), |
| std::make_tuple(1, 2, "VK_KHR_get_display_properties2", "VK_KHR_display"), |
| std::make_tuple(1, 3, "VK_KHR_get_display_properties2", "VK_KHR_display"), |
| std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_get_surface_capabilities2", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 2, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 3, "VK_KHR_surface_protected_capabilities", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 0, "VK_KHR_wayland_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_wayland_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_wayland_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_wayland_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_win32_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_win32_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_win32_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_win32_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_xcb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_xcb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_xcb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_xcb_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_xlib_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_xlib_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_xlib_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_xlib_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_MVK_ios_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_MVK_ios_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_MVK_ios_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_MVK_ios_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_MVK_macos_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_MVK_macos_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_MVK_macos_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_MVK_macos_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_NN_vi_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_NN_vi_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_NN_vi_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_NN_vi_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_QNX_screen_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_QNX_screen_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_QNX_screen_surface", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_QNX_screen_surface", "VK_KHR_surface"), |
| }; |
| static const std::tuple<deUint32, deUint32, const char*, const char*> deviceExtensionDependencies[] = |
| { |
| std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 0, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 1, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 2, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_AMD_display_native_hdr", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 3, "VK_AMD_display_native_hdr", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_AMD_shader_core_properties", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), |
| std::make_tuple(1, 1, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), |
| std::make_tuple(1, 2, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), |
| std::make_tuple(1, 3, "VK_AMD_shader_core_properties2", "VK_AMD_shader_core_properties"), |
| std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), |
| std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_KHR_dedicated_allocation"), |
| std::make_tuple(1, 1, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), |
| std::make_tuple(1, 2, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), |
| std::make_tuple(1, 3, "VK_ANDROID_external_memory_android_hardware_buffer", "VK_EXT_queue_family_foreign"), |
| std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_4444_formats", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_astc_decode_mode", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), |
| std::make_tuple(1, 1, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), |
| std::make_tuple(1, 2, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), |
| std::make_tuple(1, 3, "VK_EXT_border_color_swizzle", "VK_EXT_custom_border_color"), |
| std::make_tuple(1, 0, "VK_EXT_buffer_device_address", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_color_write_enable", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_conservative_rasterization", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_debug_marker", "VK_EXT_debug_report"), |
| std::make_tuple(1, 1, "VK_EXT_debug_marker", "VK_EXT_debug_report"), |
| std::make_tuple(1, 2, "VK_EXT_debug_marker", "VK_EXT_debug_report"), |
| std::make_tuple(1, 3, "VK_EXT_debug_marker", "VK_EXT_debug_report"), |
| std::make_tuple(1, 0, "VK_EXT_depth_clip_control", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_descriptor_indexing", "VK_KHR_maintenance3"), |
| std::make_tuple(1, 0, "VK_EXT_device_memory_report", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_discard_rectangles", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), |
| std::make_tuple(1, 0, "VK_EXT_display_control", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), |
| std::make_tuple(1, 1, "VK_EXT_display_control", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), |
| std::make_tuple(1, 2, "VK_EXT_display_control", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_EXT_display_control", "VK_EXT_display_surface_counter"), |
| std::make_tuple(1, 3, "VK_EXT_display_control", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), |
| std::make_tuple(1, 1, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), |
| std::make_tuple(1, 2, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), |
| std::make_tuple(1, 3, "VK_EXT_external_memory_dma_buf", "VK_KHR_external_memory_fd"), |
| std::make_tuple(1, 0, "VK_EXT_external_memory_host", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_density_map", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 1, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 2, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 3, "VK_EXT_fragment_density_map2", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 1, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 2, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 3, "VK_EXT_full_screen_exclusive", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), |
| std::make_tuple(1, 0, "VK_EXT_global_priority_query", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 1, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), |
| std::make_tuple(1, 2, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), |
| std::make_tuple(1, 3, "VK_EXT_global_priority_query", "VK_EXT_global_priority"), |
| std::make_tuple(1, 0, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_EXT_hdr_metadata", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_EXT_host_query_reset", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_bind_memory2"), |
| std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 1, "VK_EXT_image_drm_format_modifier", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 0, "VK_EXT_image_robustness", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_image_view_min_lod", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_inline_uniform_block", "VK_KHR_maintenance1"), |
| std::make_tuple(1, 0, "VK_EXT_line_rasterization", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_memory_budget", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_memory_priority", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), |
| std::make_tuple(1, 1, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), |
| std::make_tuple(1, 2, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), |
| std::make_tuple(1, 3, "VK_EXT_pageable_device_local_memory", "VK_EXT_memory_priority"), |
| std::make_tuple(1, 0, "VK_EXT_pci_bus_info", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_physical_device_drm", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_provoking_vertex", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_queue_family_foreign", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_EXT_sample_locations", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_scalar_block_layout", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_shader_atomic_float", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), |
| std::make_tuple(1, 1, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), |
| std::make_tuple(1, 2, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), |
| std::make_tuple(1, 3, "VK_EXT_shader_atomic_float2", "VK_EXT_shader_atomic_float"), |
| std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_transform_feedback", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 1, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 2, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 3, "VK_EXT_video_decode_h264", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 0, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 1, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 2, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 3, "VK_EXT_video_decode_h265", "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 0, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 1, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 2, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 3, "VK_EXT_video_encode_h264", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 0, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 1, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 2, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 3, "VK_EXT_video_encode_h265", "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 1, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), |
| std::make_tuple(1, 2, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), |
| std::make_tuple(1, 3, "VK_FUCHSIA_buffer_collection", "VK_FUCHSIA_external_memory"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory_capabilities"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_memory", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore_capabilities"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore", "VK_KHR_external_semaphore"), |
| std::make_tuple(1, 0, "VK_GGP_frame_token", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), |
| std::make_tuple(1, 1, "VK_GGP_frame_token", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), |
| std::make_tuple(1, 2, "VK_GGP_frame_token", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), |
| std::make_tuple(1, 3, "VK_GGP_frame_token", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_GGP_frame_token", "VK_GGP_stream_descriptor_surface"), |
| std::make_tuple(1, 0, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_GOOGLE_display_timing", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 1, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 2, "VK_HUAWEI_invocation_mask", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 3, "VK_HUAWEI_invocation_mask", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 1, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 2, "VK_HUAWEI_subpass_shading", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_16bit_storage", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_16bit_storage", "VK_KHR_storage_buffer_storage_class"), |
| std::make_tuple(1, 0, "VK_KHR_8bit_storage", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_8bit_storage", "VK_KHR_storage_buffer_storage_class"), |
| std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_EXT_descriptor_indexing"), |
| std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_KHR_buffer_device_address"), |
| std::make_tuple(1, 1, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), |
| std::make_tuple(1, 2, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), |
| std::make_tuple(1, 3, "VK_KHR_acceleration_structure", "VK_KHR_deferred_host_operations"), |
| std::make_tuple(1, 0, "VK_KHR_buffer_device_address", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_create_renderpass2", "VK_KHR_multiview"), |
| std::make_tuple(1, 0, "VK_KHR_create_renderpass2", "VK_KHR_maintenance2"), |
| std::make_tuple(1, 0, "VK_KHR_dedicated_allocation", "VK_KHR_get_memory_requirements2"), |
| std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 1, "VK_KHR_depth_stencil_resolve", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_KHR_device_group", "VK_KHR_device_group_creation"), |
| std::make_tuple(1, 0, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_display_swapchain", "VK_KHR_display"), |
| std::make_tuple(1, 1, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_display_swapchain", "VK_KHR_display"), |
| std::make_tuple(1, 2, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_KHR_display_swapchain", "VK_KHR_display"), |
| std::make_tuple(1, 3, "VK_KHR_display_swapchain", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_display_swapchain", "VK_KHR_display"), |
| std::make_tuple(1, 0, "VK_KHR_driver_properties", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_dynamic_rendering", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence", "VK_KHR_external_fence_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_fd", "VK_KHR_external_fence"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_win32", "VK_KHR_external_fence"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory", "VK_KHR_external_memory_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_fd", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_win32", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore", "VK_KHR_external_semaphore_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd", "VK_KHR_external_semaphore"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32", "VK_KHR_external_semaphore"), |
| std::make_tuple(1, 0, "VK_KHR_format_feature_flags2", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 1, "VK_KHR_fragment_shading_rate", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_maintenance2"), |
| std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 1, "VK_KHR_imageless_framebuffer", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 0, "VK_KHR_incremental_present", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_incremental_present", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_KHR_incremental_present", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_incremental_present", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_maintenance3", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_multiview", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_performance_query", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_portability_subset", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_present_id", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_present_id", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_KHR_present_id", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_present_id", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_present_wait", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_present_wait", "VK_KHR_present_id"), |
| std::make_tuple(1, 1, "VK_KHR_present_wait", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_present_wait", "VK_KHR_present_id"), |
| std::make_tuple(1, 2, "VK_KHR_present_wait", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_KHR_present_wait", "VK_KHR_present_id"), |
| std::make_tuple(1, 3, "VK_KHR_present_wait", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_present_wait", "VK_KHR_present_id"), |
| std::make_tuple(1, 0, "VK_KHR_push_descriptor", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 1, "VK_KHR_ray_query", "VK_KHR_spirv_1_4"), |
| std::make_tuple(1, 1, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 2, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 3, "VK_KHR_ray_query", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_spirv_1_4"), |
| std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 2, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 3, "VK_KHR_ray_tracing_pipeline", "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_maintenance1"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_bind_memory2"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_memory_requirements2"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 1, "VK_KHR_separate_depth_stencil_layouts", "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_clock", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_float16_int8", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_float_controls", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_shared_presentable_image", "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 1, "VK_KHR_spirv_1_4", "VK_KHR_shader_float_controls"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_swapchain", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_KHR_swapchain", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_KHR_swapchain", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_maintenance2"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_KHR_swapchain_mutable_format", "VK_KHR_image_format_list"), |
| std::make_tuple(1, 2, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_KHR_swapchain_mutable_format", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_synchronization2", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_timeline_semaphore", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_variable_pointers", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_variable_pointers", "VK_KHR_storage_buffer_storage_class"), |
| std::make_tuple(1, 0, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 1, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 1, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 2, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 2, "VK_KHR_video_decode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 3, "VK_KHR_video_decode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 1, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 1, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 2, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 2, "VK_KHR_video_encode_queue", "VK_KHR_synchronization2"), |
| std::make_tuple(1, 3, "VK_KHR_video_encode_queue", "VK_KHR_video_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_queue", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_video_queue", "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), |
| std::make_tuple(1, 1, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), |
| std::make_tuple(1, 2, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), |
| std::make_tuple(1, 3, "VK_KHR_win32_keyed_mutex", "VK_KHR_external_memory_win32"), |
| std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes", "VK_KHR_multiview"), |
| std::make_tuple(1, 0, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 1, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 2, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 3, "VK_NV_acquire_winrt_display", "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_cooperative_matrix", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_corner_sampled_image", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), |
| std::make_tuple(1, 1, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), |
| std::make_tuple(1, 2, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), |
| std::make_tuple(1, 3, "VK_NV_coverage_reduction_mode", "VK_NV_framebuffer_mixed_samples"), |
| std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing", "VK_KHR_dedicated_allocation"), |
| std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_device_diagnostics_config", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 1, "VK_NV_device_generated_commands", "VK_KHR_buffer_device_address"), |
| std::make_tuple(1, 0, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), |
| std::make_tuple(1, 1, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), |
| std::make_tuple(1, 2, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), |
| std::make_tuple(1, 3, "VK_NV_external_memory", "VK_NV_external_memory_capabilities"), |
| std::make_tuple(1, 0, "VK_NV_external_memory_rdma", "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_NV_external_memory_win32", "VK_NV_external_memory"), |
| std::make_tuple(1, 1, "VK_NV_external_memory_win32", "VK_NV_external_memory"), |
| std::make_tuple(1, 2, "VK_NV_external_memory_win32", "VK_NV_external_memory"), |
| std::make_tuple(1, 3, "VK_NV_external_memory_win32", "VK_NV_external_memory"), |
| std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), |
| std::make_tuple(1, 1, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), |
| std::make_tuple(1, 2, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), |
| std::make_tuple(1, 3, "VK_NV_fragment_shading_rate_enums", "VK_KHR_fragment_shading_rate"), |
| std::make_tuple(1, 0, "VK_NV_mesh_shader", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_ray_tracing", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_ray_tracing", "VK_KHR_get_memory_requirements2"), |
| std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 1, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 2, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 3, "VK_NV_ray_tracing_motion_blur", "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 0, "VK_NV_scissor_exclusive", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_shader_image_footprint", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_shading_rate_image", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), |
| std::make_tuple(1, 1, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), |
| std::make_tuple(1, 2, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), |
| std::make_tuple(1, 3, "VK_NV_win32_keyed_mutex", "VK_NV_external_memory_win32"), |
| std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset", "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 1, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 2, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 3, "VK_QCOM_fragment_density_map_offset", "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), |
| std::make_tuple(1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), |
| std::make_tuple(1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_swapchain"), |
| std::make_tuple(1, 3, "VK_QCOM_render_pass_transform", "VK_KHR_surface"), |
| std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), |
| std::make_tuple(1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), |
| std::make_tuple(1, 1, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), |
| std::make_tuple(1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), |
| std::make_tuple(1, 2, "VK_QCOM_rotated_copy_commands", "VK_KHR_copy_commands2"), |
| std::make_tuple(1, 3, "VK_QCOM_rotated_copy_commands", "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type", "VK_KHR_maintenance3"), |
| }; |
| static const std::tuple<deUint32, deUint32, deUint32> releasedApiVersions[] = |
| { |
| std::make_tuple(4206592, 1, 3), |
| std::make_tuple(4202496, 1, 2), |
| std::make_tuple(4198400, 1, 1), |
| std::make_tuple(4194304, 1, 0), |
| }; |
| static const std::tuple<deUint32, deUint32, const char*> extensionRequiredCoreVersion[] = |
| { |
| std::make_tuple(1, 0, "VK_AMD_buffer_marker"), |
| std::make_tuple(1, 0, "VK_AMD_device_coherent_memory"), |
| std::make_tuple(1, 0, "VK_AMD_display_native_hdr"), |
| std::make_tuple(1, 0, "VK_AMD_draw_indirect_count"), |
| std::make_tuple(1, 0, "VK_AMD_gcn_shader"), |
| std::make_tuple(1, 0, "VK_AMD_gpu_shader_half_float"), |
| std::make_tuple(1, 0, "VK_AMD_gpu_shader_int16"), |
| std::make_tuple(1, 0, "VK_AMD_memory_overallocation_behavior"), |
| std::make_tuple(1, 0, "VK_AMD_mixed_attachment_samples"), |
| std::make_tuple(1, 0, "VK_AMD_negative_viewport_height"), |
| std::make_tuple(1, 0, "VK_AMD_pipeline_compiler_control"), |
| std::make_tuple(1, 0, "VK_AMD_rasterization_order"), |
| std::make_tuple(1, 0, "VK_AMD_shader_ballot"), |
| std::make_tuple(1, 0, "VK_AMD_shader_core_properties"), |
| std::make_tuple(1, 0, "VK_AMD_shader_core_properties2"), |
| std::make_tuple(1, 0, "VK_AMD_shader_explicit_vertex_parameter"), |
| std::make_tuple(1, 0, "VK_AMD_shader_fragment_mask"), |
| std::make_tuple(1, 0, "VK_AMD_shader_image_load_store_lod"), |
| std::make_tuple(1, 0, "VK_AMD_shader_info"), |
| std::make_tuple(1, 0, "VK_AMD_shader_trinary_minmax"), |
| std::make_tuple(1, 0, "VK_AMD_texture_gather_bias_lod"), |
| std::make_tuple(1, 0, "VK_ANDROID_external_memory_android_hardware_buffer"), |
| std::make_tuple(1, 0, "VK_ARM_rasterization_order_attachment_access"), |
| std::make_tuple(1, 0, "VK_EXT_4444_formats"), |
| std::make_tuple(1, 0, "VK_EXT_acquire_drm_display"), |
| std::make_tuple(1, 0, "VK_EXT_acquire_xlib_display"), |
| std::make_tuple(1, 0, "VK_EXT_astc_decode_mode"), |
| std::make_tuple(1, 0, "VK_EXT_blend_operation_advanced"), |
| std::make_tuple(1, 0, "VK_EXT_border_color_swizzle"), |
| std::make_tuple(1, 0, "VK_EXT_buffer_device_address"), |
| std::make_tuple(1, 0, "VK_EXT_calibrated_timestamps"), |
| std::make_tuple(1, 0, "VK_EXT_color_write_enable"), |
| std::make_tuple(1, 0, "VK_EXT_conditional_rendering"), |
| std::make_tuple(1, 0, "VK_EXT_conservative_rasterization"), |
| std::make_tuple(1, 0, "VK_EXT_custom_border_color"), |
| std::make_tuple(1, 0, "VK_EXT_debug_marker"), |
| std::make_tuple(1, 0, "VK_EXT_debug_report"), |
| std::make_tuple(1, 0, "VK_EXT_debug_utils"), |
| std::make_tuple(1, 0, "VK_EXT_depth_clip_control"), |
| std::make_tuple(1, 0, "VK_EXT_depth_clip_enable"), |
| std::make_tuple(1, 0, "VK_EXT_depth_range_unrestricted"), |
| std::make_tuple(1, 0, "VK_EXT_descriptor_indexing"), |
| std::make_tuple(1, 0, "VK_EXT_device_memory_report"), |
| std::make_tuple(1, 0, "VK_EXT_direct_mode_display"), |
| std::make_tuple(1, 0, "VK_EXT_directfb_surface"), |
| std::make_tuple(1, 0, "VK_EXT_discard_rectangles"), |
| std::make_tuple(1, 0, "VK_EXT_display_control"), |
| std::make_tuple(1, 0, "VK_EXT_display_surface_counter"), |
| std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state"), |
| std::make_tuple(1, 0, "VK_EXT_extended_dynamic_state2"), |
| std::make_tuple(1, 0, "VK_EXT_external_memory_dma_buf"), |
| std::make_tuple(1, 0, "VK_EXT_external_memory_host"), |
| std::make_tuple(1, 0, "VK_EXT_filter_cubic"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_density_map"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_density_map2"), |
| std::make_tuple(1, 0, "VK_EXT_fragment_shader_interlock"), |
| std::make_tuple(1, 0, "VK_EXT_full_screen_exclusive"), |
| std::make_tuple(1, 0, "VK_EXT_global_priority"), |
| std::make_tuple(1, 0, "VK_EXT_global_priority_query"), |
| std::make_tuple(1, 0, "VK_EXT_hdr_metadata"), |
| std::make_tuple(1, 0, "VK_EXT_headless_surface"), |
| std::make_tuple(1, 0, "VK_EXT_host_query_reset"), |
| std::make_tuple(1, 0, "VK_EXT_image_drm_format_modifier"), |
| std::make_tuple(1, 0, "VK_EXT_image_robustness"), |
| std::make_tuple(1, 0, "VK_EXT_image_view_min_lod"), |
| std::make_tuple(1, 0, "VK_EXT_index_type_uint8"), |
| std::make_tuple(1, 0, "VK_EXT_inline_uniform_block"), |
| std::make_tuple(1, 0, "VK_EXT_line_rasterization"), |
| std::make_tuple(1, 0, "VK_EXT_load_store_op_none"), |
| std::make_tuple(1, 0, "VK_EXT_memory_budget"), |
| std::make_tuple(1, 0, "VK_EXT_memory_priority"), |
| std::make_tuple(1, 0, "VK_EXT_metal_surface"), |
| std::make_tuple(1, 0, "VK_EXT_multi_draw"), |
| std::make_tuple(1, 0, "VK_EXT_pageable_device_local_memory"), |
| std::make_tuple(1, 0, "VK_EXT_pci_bus_info"), |
| std::make_tuple(1, 0, "VK_EXT_physical_device_drm"), |
| std::make_tuple(1, 0, "VK_EXT_pipeline_creation_cache_control"), |
| std::make_tuple(1, 0, "VK_EXT_pipeline_creation_feedback"), |
| std::make_tuple(1, 0, "VK_EXT_post_depth_coverage"), |
| std::make_tuple(1, 0, "VK_EXT_primitive_topology_list_restart"), |
| std::make_tuple(1, 0, "VK_EXT_private_data"), |
| std::make_tuple(1, 0, "VK_EXT_provoking_vertex"), |
| std::make_tuple(1, 0, "VK_EXT_queue_family_foreign"), |
| std::make_tuple(1, 0, "VK_EXT_rgba10x6_formats"), |
| std::make_tuple(1, 0, "VK_EXT_robustness2"), |
| std::make_tuple(1, 0, "VK_EXT_sample_locations"), |
| std::make_tuple(1, 0, "VK_EXT_sampler_filter_minmax"), |
| std::make_tuple(1, 0, "VK_EXT_scalar_block_layout"), |
| std::make_tuple(1, 0, "VK_EXT_separate_stencil_usage"), |
| std::make_tuple(1, 0, "VK_EXT_shader_atomic_float"), |
| std::make_tuple(1, 0, "VK_EXT_shader_atomic_float2"), |
| std::make_tuple(1, 0, "VK_EXT_shader_demote_to_helper_invocation"), |
| std::make_tuple(1, 0, "VK_EXT_shader_image_atomic_int64"), |
| std::make_tuple(1, 0, "VK_EXT_shader_stencil_export"), |
| std::make_tuple(1, 0, "VK_EXT_shader_subgroup_ballot"), |
| std::make_tuple(1, 0, "VK_EXT_shader_subgroup_vote"), |
| std::make_tuple(1, 0, "VK_EXT_shader_viewport_index_layer"), |
| std::make_tuple(1, 1, "VK_EXT_subgroup_size_control"), |
| std::make_tuple(1, 0, "VK_EXT_swapchain_colorspace"), |
| std::make_tuple(1, 0, "VK_EXT_texel_buffer_alignment"), |
| std::make_tuple(1, 0, "VK_EXT_texture_compression_astc_hdr"), |
| std::make_tuple(1, 0, "VK_EXT_tooling_info"), |
| std::make_tuple(1, 0, "VK_EXT_transform_feedback"), |
| std::make_tuple(1, 0, "VK_EXT_validation_cache"), |
| std::make_tuple(1, 0, "VK_EXT_validation_features"), |
| std::make_tuple(1, 0, "VK_EXT_validation_flags"), |
| std::make_tuple(1, 0, "VK_EXT_vertex_attribute_divisor"), |
| std::make_tuple(1, 0, "VK_EXT_vertex_input_dynamic_state"), |
| std::make_tuple(1, 0, "VK_EXT_video_decode_h264"), |
| std::make_tuple(1, 0, "VK_EXT_video_decode_h265"), |
| std::make_tuple(1, 0, "VK_EXT_video_encode_h264"), |
| std::make_tuple(1, 0, "VK_EXT_video_encode_h265"), |
| std::make_tuple(1, 0, "VK_EXT_ycbcr_2plane_444_formats"), |
| std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_buffer_collection"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_memory"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_external_semaphore"), |
| std::make_tuple(1, 0, "VK_FUCHSIA_imagepipe_surface"), |
| std::make_tuple(1, 0, "VK_GGP_frame_token"), |
| std::make_tuple(1, 0, "VK_GGP_stream_descriptor_surface"), |
| std::make_tuple(1, 0, "VK_GOOGLE_decorate_string"), |
| std::make_tuple(1, 0, "VK_GOOGLE_display_timing"), |
| std::make_tuple(1, 0, "VK_GOOGLE_hlsl_functionality1"), |
| std::make_tuple(1, 0, "VK_GOOGLE_surfaceless_query"), |
| std::make_tuple(1, 0, "VK_GOOGLE_user_type"), |
| std::make_tuple(1, 0, "VK_HUAWEI_invocation_mask"), |
| std::make_tuple(1, 0, "VK_HUAWEI_subpass_shading"), |
| std::make_tuple(1, 0, "VK_IMG_filter_cubic"), |
| std::make_tuple(1, 0, "VK_IMG_format_pvrtc"), |
| std::make_tuple(1, 0, "VK_INTEL_performance_query"), |
| std::make_tuple(1, 0, "VK_INTEL_shader_integer_functions2"), |
| std::make_tuple(1, 0, "VK_KHR_16bit_storage"), |
| std::make_tuple(1, 0, "VK_KHR_8bit_storage"), |
| std::make_tuple(1, 1, "VK_KHR_acceleration_structure"), |
| std::make_tuple(1, 0, "VK_KHR_android_surface"), |
| std::make_tuple(1, 0, "VK_KHR_bind_memory2"), |
| std::make_tuple(1, 0, "VK_KHR_buffer_device_address"), |
| std::make_tuple(1, 0, "VK_KHR_copy_commands2"), |
| std::make_tuple(1, 0, "VK_KHR_create_renderpass2"), |
| std::make_tuple(1, 0, "VK_KHR_dedicated_allocation"), |
| std::make_tuple(1, 0, "VK_KHR_deferred_host_operations"), |
| std::make_tuple(1, 0, "VK_KHR_depth_stencil_resolve"), |
| std::make_tuple(1, 0, "VK_KHR_descriptor_update_template"), |
| std::make_tuple(1, 0, "VK_KHR_device_group"), |
| std::make_tuple(1, 0, "VK_KHR_device_group_creation"), |
| std::make_tuple(1, 0, "VK_KHR_display"), |
| std::make_tuple(1, 0, "VK_KHR_display_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_draw_indirect_count"), |
| std::make_tuple(1, 0, "VK_KHR_driver_properties"), |
| std::make_tuple(1, 0, "VK_KHR_dynamic_rendering"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_fd"), |
| std::make_tuple(1, 0, "VK_KHR_external_fence_win32"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_fd"), |
| std::make_tuple(1, 0, "VK_KHR_external_memory_win32"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_fd"), |
| std::make_tuple(1, 0, "VK_KHR_external_semaphore_win32"), |
| std::make_tuple(1, 0, "VK_KHR_format_feature_flags2"), |
| std::make_tuple(1, 0, "VK_KHR_fragment_shading_rate"), |
| std::make_tuple(1, 0, "VK_KHR_get_display_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_get_memory_requirements2"), |
| std::make_tuple(1, 0, "VK_KHR_get_physical_device_properties2"), |
| std::make_tuple(1, 0, "VK_KHR_get_surface_capabilities2"), |
| std::make_tuple(1, 0, "VK_KHR_global_priority"), |
| std::make_tuple(1, 0, "VK_KHR_image_format_list"), |
| std::make_tuple(1, 0, "VK_KHR_imageless_framebuffer"), |
| std::make_tuple(1, 0, "VK_KHR_incremental_present"), |
| std::make_tuple(1, 0, "VK_KHR_maintenance1"), |
| std::make_tuple(1, 0, "VK_KHR_maintenance2"), |
| std::make_tuple(1, 0, "VK_KHR_maintenance3"), |
| std::make_tuple(1, 1, "VK_KHR_maintenance4"), |
| std::make_tuple(1, 0, "VK_KHR_multiview"), |
| std::make_tuple(1, 0, "VK_KHR_performance_query"), |
| std::make_tuple(1, 0, "VK_KHR_pipeline_executable_properties"), |
| std::make_tuple(1, 0, "VK_KHR_pipeline_library"), |
| std::make_tuple(1, 0, "VK_KHR_portability_subset"), |
| std::make_tuple(1, 0, "VK_KHR_present_id"), |
| std::make_tuple(1, 0, "VK_KHR_present_wait"), |
| std::make_tuple(1, 0, "VK_KHR_push_descriptor"), |
| std::make_tuple(1, 1, "VK_KHR_ray_query"), |
| std::make_tuple(1, 1, "VK_KHR_ray_tracing_pipeline"), |
| std::make_tuple(1, 0, "VK_KHR_relaxed_block_layout"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_mirror_clamp_to_edge"), |
| std::make_tuple(1, 0, "VK_KHR_sampler_ycbcr_conversion"), |
| std::make_tuple(1, 0, "VK_KHR_separate_depth_stencil_layouts"), |
| std::make_tuple(1, 0, "VK_KHR_shader_atomic_int64"), |
| std::make_tuple(1, 0, "VK_KHR_shader_clock"), |
| std::make_tuple(1, 0, "VK_KHR_shader_draw_parameters"), |
| std::make_tuple(1, 0, "VK_KHR_shader_float16_int8"), |
| std::make_tuple(1, 0, "VK_KHR_shader_float_controls"), |
| std::make_tuple(1, 0, "VK_KHR_shader_integer_dot_product"), |
| std::make_tuple(1, 0, "VK_KHR_shader_non_semantic_info"), |
| std::make_tuple(1, 1, "VK_KHR_shader_subgroup_extended_types"), |
| std::make_tuple(1, 1, "VK_KHR_shader_subgroup_uniform_control_flow"), |
| std::make_tuple(1, 0, "VK_KHR_shader_terminate_invocation"), |
| std::make_tuple(1, 0, "VK_KHR_shared_presentable_image"), |
| std::make_tuple(1, 1, "VK_KHR_spirv_1_4"), |
| std::make_tuple(1, 0, "VK_KHR_storage_buffer_storage_class"), |
| std::make_tuple(1, 0, "VK_KHR_surface"), |
| std::make_tuple(1, 1, "VK_KHR_surface_protected_capabilities"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain"), |
| std::make_tuple(1, 0, "VK_KHR_swapchain_mutable_format"), |
| std::make_tuple(1, 0, "VK_KHR_synchronization2"), |
| std::make_tuple(1, 0, "VK_KHR_timeline_semaphore"), |
| std::make_tuple(1, 0, "VK_KHR_uniform_buffer_standard_layout"), |
| std::make_tuple(1, 0, "VK_KHR_variable_pointers"), |
| std::make_tuple(1, 0, "VK_KHR_video_decode_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_encode_queue"), |
| std::make_tuple(1, 0, "VK_KHR_video_queue"), |
| std::make_tuple(1, 0, "VK_KHR_vulkan_memory_model"), |
| std::make_tuple(1, 0, "VK_KHR_wayland_surface"), |
| std::make_tuple(1, 0, "VK_KHR_win32_keyed_mutex"), |
| std::make_tuple(1, 0, "VK_KHR_win32_surface"), |
| std::make_tuple(1, 0, "VK_KHR_workgroup_memory_explicit_layout"), |
| std::make_tuple(1, 0, "VK_KHR_xcb_surface"), |
| std::make_tuple(1, 0, "VK_KHR_xlib_surface"), |
| std::make_tuple(1, 0, "VK_KHR_zero_initialize_workgroup_memory"), |
| std::make_tuple(1, 0, "VK_MVK_ios_surface"), |
| std::make_tuple(1, 0, "VK_MVK_macos_surface"), |
| std::make_tuple(1, 0, "VK_NN_vi_surface"), |
| std::make_tuple(1, 0, "VK_NVX_binary_import"), |
| std::make_tuple(1, 0, "VK_NVX_image_view_handle"), |
| std::make_tuple(1, 0, "VK_NVX_multiview_per_view_attributes"), |
| std::make_tuple(1, 0, "VK_NV_acquire_winrt_display"), |
| std::make_tuple(1, 0, "VK_NV_clip_space_w_scaling"), |
| std::make_tuple(1, 0, "VK_NV_compute_shader_derivatives"), |
| std::make_tuple(1, 0, "VK_NV_cooperative_matrix"), |
| std::make_tuple(1, 0, "VK_NV_corner_sampled_image"), |
| std::make_tuple(1, 0, "VK_NV_coverage_reduction_mode"), |
| std::make_tuple(1, 0, "VK_NV_dedicated_allocation"), |
| std::make_tuple(1, 0, "VK_NV_dedicated_allocation_image_aliasing"), |
| std::make_tuple(1, 0, "VK_NV_device_diagnostic_checkpoints"), |
| std::make_tuple(1, 0, "VK_NV_device_diagnostics_config"), |
| std::make_tuple(1, 1, "VK_NV_device_generated_commands"), |
| std::make_tuple(1, 0, "VK_NV_external_memory"), |
| std::make_tuple(1, 0, "VK_NV_external_memory_capabilities"), |
| std::make_tuple(1, 0, "VK_NV_external_memory_rdma"), |
| std::make_tuple(1, 0, "VK_NV_external_memory_win32"), |
| std::make_tuple(1, 0, "VK_NV_fill_rectangle"), |
| std::make_tuple(1, 0, "VK_NV_fragment_coverage_to_color"), |
| std::make_tuple(1, 0, "VK_NV_fragment_shader_barycentric"), |
| std::make_tuple(1, 0, "VK_NV_fragment_shading_rate_enums"), |
| std::make_tuple(1, 0, "VK_NV_framebuffer_mixed_samples"), |
| std::make_tuple(1, 0, "VK_NV_geometry_shader_passthrough"), |
| std::make_tuple(1, 0, "VK_NV_glsl_shader"), |
| std::make_tuple(1, 0, "VK_NV_inherited_viewport_scissor"), |
| std::make_tuple(1, 0, "VK_NV_linear_color_attachment"), |
| std::make_tuple(1, 0, "VK_NV_mesh_shader"), |
| std::make_tuple(1, 0, "VK_NV_ray_tracing"), |
| std::make_tuple(1, 0, "VK_NV_ray_tracing_motion_blur"), |
| std::make_tuple(1, 0, "VK_NV_representative_fragment_test"), |
| std::make_tuple(1, 0, "VK_NV_sample_mask_override_coverage"), |
| std::make_tuple(1, 0, "VK_NV_scissor_exclusive"), |
| std::make_tuple(1, 0, "VK_NV_shader_image_footprint"), |
| std::make_tuple(1, 1, "VK_NV_shader_sm_builtins"), |
| std::make_tuple(1, 1, "VK_NV_shader_subgroup_partitioned"), |
| std::make_tuple(1, 0, "VK_NV_shading_rate_image"), |
| std::make_tuple(1, 0, "VK_NV_viewport_array2"), |
| std::make_tuple(1, 0, "VK_NV_viewport_swizzle"), |
| std::make_tuple(1, 0, "VK_NV_win32_keyed_mutex"), |
| std::make_tuple(1, 0, "VK_QCOM_fragment_density_map_offset"), |
| std::make_tuple(1, 0, "VK_QCOM_render_pass_shader_resolve"), |
| std::make_tuple(1, 0, "VK_QCOM_render_pass_store_ops"), |
| std::make_tuple(1, 0, "VK_QCOM_render_pass_transform"), |
| std::make_tuple(1, 0, "VK_QCOM_rotated_copy_commands"), |
| std::make_tuple(1, 0, "VK_QNX_screen_surface"), |
| std::make_tuple(1, 0, "VK_VALVE_mutable_descriptor_type"), |
| }; |