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_EXT_4444_formats"),
+ 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_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_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_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_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_pci_bus_info"),
+ 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_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_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_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_ycbcr_2plane_444_formats"),
+ std::make_tuple(1, 0, "VK_EXT_ycbcr_image_arrays"),
+ 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_user_type"),
+ 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_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_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_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, 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_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_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_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_mesh_shader"),
+ std::make_tuple(1, 0, "VK_NV_ray_tracing"),
+ 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_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"),
+};