Copyright (c) 2021-2023 LunarG, Inc.
Vulkan Profiles Definitions
Vulkan Profiles List
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|---|---|---|---|---|---|---|---|---|
Label | Khronos Vulkan Roadmap 2022 profile | Android Vulkan Baseline 2021 profile | Android Vulkan Baseline 2022 profile | LunarG Vulkan Desktop Baseline 2023 profile | LunarG Vulkan Desktop Baseline 2024 profile | Vulkan Core 1.0 Minimum Requirements | Vulkan Core 1.1 Minimum Requirements | Vulkan Core 1.2 Minimum Requirements | Vulkan Core 1.3 Minimum Requirements |
Description | This roadmap profile is intended to be supported by newer devices shipping in 2022 across mainstream smartphone, tablet, laptops, console and desktop devices. | Collection of functionality that is broadly supported on Android | Collection of functionality that is broadly supported on Android | A profile generated by the intersection of a collection of GPUInfo.org device reports to support a large number of actual systems in the Vulkan ecosystem. This profile is meant to be a usage example for Vulkan application developer. | A profile generated by the intersection of a collection of GPUInfo.org device reports to support a large number of actual systems in the Vulkan ecosystem. This profile is meant to be a usage example for Vulkan application developer. | Vulkan Core 1.0 Minimum Requirements. | Vulkan Core 1.1 Minimum Requirements. | Vulkan Core 1.2 Minimum Requirements. | Vulkan Core 1.3 Minimum Requirements. |
Version | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Required API version | 1.3.204 | 1.0.68 | 1.1.106 | 1.2.148 | 1.2.197 | 1.0.68 | 1.1.108 | 1.2.131 | 1.3.204 |
Required profiles | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_2 | |||||||
Fallback profiles | - | - | - | - | - | - | - | - | - |
Vulkan Profiles Extensions
- ✔️ indicates that the extension is defined in the profile
- "X.X Core" indicates that the extension is not defined in the profile but the extension is promoted to the specified core API version that is smaller than or equal to the minimum required API version of the profile
- ❌ indicates that the extension is neither defined in the profile nor it is promoted to a core API version that is smaller than or equal to the minimum required API version of the profile
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|---|---|---|---|---|---|---|---|---|
Instance extensions | |||||||||
VK_KHR_android_surface | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_device_group_creation | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_fence_capabilities | 1.1 Core | ✔️ | ✔️ | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_memory_capabilities | 1.1 Core | ✔️ | ✔️ | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_semaphore_capabilities | 1.1 Core | ✔️ | ✔️ | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_get_physical_device_properties2 | 1.1 Core | ✔️ | ✔️ | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_get_surface_capabilities2 | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_surface | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_swapchain_colorspace | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Device extensions | |||||||||
VK_KHR_16bit_storage | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_8bit_storage | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_bind_memory2 | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_buffer_device_address | 1.2 Core | ❌ | ❌ | 1.2 Core | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_copy_commands2 | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_create_renderpass2 | 1.2 Core | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_dedicated_allocation | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_depth_stencil_resolve | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_descriptor_update_template | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_device_group | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_draw_indirect_count | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_driver_properties | 1.2 Core | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_dynamic_rendering | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_external_fence | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_fence_fd | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_external_memory | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_semaphore | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_external_semaphore_fd | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_format_feature_flags2 | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_get_memory_requirements2 | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_global_priority | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_image_format_list | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_imageless_framebuffer | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_incremental_present | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_maintenance1 | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_maintenance2 | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_maintenance3 | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_maintenance4 | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_multiview | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_push_descriptor | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_relaxed_block_layout | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_sampler_mirror_clamp_to_edge | 1.2 Core | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_sampler_ycbcr_conversion | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_separate_depth_stencil_layouts | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_shader_atomic_int64 | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_shader_draw_parameters | 1.1 Core | ❌ | 1.1 Core | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_shader_float16_int8 | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_shader_float_controls | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_shader_integer_dot_product | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_shader_non_semantic_info | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_shader_subgroup_extended_types | 1.2 Core | ❌ | ❌ | 1.2 Core | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_shader_terminate_invocation | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_spirv_1_4 | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_storage_buffer_storage_class | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_swapchain | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_swapchain_mutable_format | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_synchronization2 | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_KHR_timeline_semaphore | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_uniform_buffer_standard_layout | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_variable_pointers | 1.1 Core | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | 1.1 Core | 1.1 Core | 1.1 Core |
VK_KHR_vulkan_memory_model | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_KHR_zero_initialize_workgroup_memory | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_4444_formats | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_calibrated_timestamps | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_descriptor_indexing | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_extended_dynamic_state | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_extended_dynamic_state2 | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_external_memory_host | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_host_query_reset | 1.2 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_image_robustness | 1.3 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_inline_uniform_block | 1.3 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_memory_budget | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_pipeline_creation_cache_control | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_pipeline_creation_feedback | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_private_data | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_queue_family_foreign | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_robustness2 | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_sample_locations | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_sampler_filter_minmax | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_scalar_block_layout | 1.2 Core | ❌ | ❌ | 1.2 Core | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_separate_stencil_usage | 1.2 Core | ❌ | ❌ | 1.2 Core | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_shader_atomic_float | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_shader_demote_to_helper_invocation | 1.3 Core | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_shader_subgroup_ballot | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_shader_subgroup_vote | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_shader_viewport_index_layer | 1.2 Core | ❌ | ❌ | 1.2 Core | ✔️ | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_EXT_subgroup_size_control | 1.3 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_texel_buffer_alignment | 1.3 Core | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_texture_compression_astc_hdr | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_tooling_info | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_EXT_vertex_attribute_divisor | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_ycbcr_2plane_444_formats | 1.3 Core | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | 1.3 Core |
VK_AMD_draw_indirect_count | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core | ❌ | ❌ | 1.2 Core | 1.2 Core |
VK_ANDROID_external_memory_android_hardware_buffer | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_GOOGLE_display_timing | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Vulkan Profile Features
NOTE: The table below only contains features explicitly defined by the corresponding profile. Further features may be supported by the profiles in accordance to the requirements defined in the "Feature Requirements" section of the appropriate version of the Vulkan API Specification.
- ✔️ indicates that the feature is defined in the profile (hover over the symbol to view the structure and corresponding extension or core API version where the feature is defined in the profile)
- ⚠️ indicates that the feature is not defined in the profile but an equivalent feature is (hover over the symbol to view the structure and corresponding extension or core API version where the feature is defined in the profile)
- ❌ indicates that neither the feature nor an equivalent feature is defined in the profile
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|---|---|---|---|---|---|---|---|---|
Vulkan 1.0 | |||||||||
depthBiasClamp | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
depthClamp | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
drawIndirectFirstInstance | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
dualSrcBlend | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
fillModeNonSolid | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
fragmentStoresAndAtomics | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
fullDrawIndexUint32 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
imageCubeArray | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
independentBlend | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
inheritedQueries | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
largePoints | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
multiDrawIndirect | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
multiViewport | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
occlusionQueryPrecise | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
robustBufferAccess | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ |
sampleRateShading | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
samplerAnisotropy | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderClipDistance | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderImageGatherExtended | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderInt16 | ❌ | ❌ | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderInt64 | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderSampledImageArrayDynamicIndexing | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageBufferArrayDynamicIndexing | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageImageArrayDynamicIndexing | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageImageExtendedFormats | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageImageWriteWithoutFormat | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderTessellationAndGeometryPointSize | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderUniformBufferArrayDynamicIndexing | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
tessellationShader | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
textureCompressionASTC_LDR | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
textureCompressionBC | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
textureCompressionETC2 | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
vertexPipelineStoresAndAtomics | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Vulkan 1.1 | |||||||||
multiview | ✔️ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
protectedMemory | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
samplerYcbcrConversion | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderDrawParameters | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
storageBuffer16BitAccess | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
uniformAndStorageBuffer16BitAccess | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
variablePointers | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
variablePointersStorageBuffer | ❌ | ❌ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Vulkan 1.2 | |||||||||
bufferDeviceAddress | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingPartiallyBound | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingSampledImageUpdateAfterBind | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageBufferUpdateAfterBind | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageImageUpdateAfterBind | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageTexelBufferUpdateAfterBind | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingUniformTexelBufferUpdateAfterBind | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingUpdateUnusedWhilePending | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingVariableDescriptorCount | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
descriptorIndexing | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
hostQueryReset | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
imagelessFramebuffer | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
runtimeDescriptorArray | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
samplerMirrorClampToEdge | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
scalarBlockLayout | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
separateDepthStencilLayouts | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderInt8 | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderOutputLayer | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderOutputViewportIndex | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderSampledImageArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageBufferArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderStorageImageArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageTexelBufferArrayDynamicIndexing | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageTexelBufferArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderSubgroupExtendedTypes | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderUniformBufferArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderUniformTexelBufferArrayDynamicIndexing | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderUniformTexelBufferArrayNonUniformIndexing | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
storageBuffer8BitAccess | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
subgroupBroadcastDynamicId | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
timelineSemaphore | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
uniformAndStorageBuffer8BitAccess | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
uniformBufferStandardLayout | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
vulkanMemoryModel | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
vulkanMemoryModelDeviceScope | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Vulkan 1.3 | |||||||||
computeFullSubgroups | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingInlineUniformBlockUpdateAfterBind | ✔️ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ |
dynamicRendering | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
inlineUniformBlock | ✔️ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ |
maintenance4 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
pipelineCreationCacheControl | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
robustImageAccess | ✔️ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderDemoteToHelperInvocation | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderIntegerDotProduct | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderTerminateInvocation | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderZeroInitializeWorkgroupMemory | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
subgroupSizeControl | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
synchronization2 | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_16bit_storage | |||||||||
storageBuffer16BitAccess | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
uniformAndStorageBuffer16BitAccess | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_8bit_storage | |||||||||
storageBuffer8BitAccess | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
uniformAndStorageBuffer8BitAccess | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_buffer_device_address | |||||||||
bufferDeviceAddress | ⚠️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_dynamic_rendering | |||||||||
dynamicRendering | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_imageless_framebuffer | |||||||||
imagelessFramebuffer | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_maintenance4 | |||||||||
maintenance4 | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_multiview | |||||||||
multiview | ⚠️ | ❌ | ⚠️ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_sampler_ycbcr_conversion | |||||||||
samplerYcbcrConversion | ⚠️ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_separate_depth_stencil_layouts | |||||||||
separateDepthStencilLayouts | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_shader_float16_int8 | |||||||||
shaderInt8 | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_shader_integer_dot_product | |||||||||
shaderIntegerDotProduct | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_shader_subgroup_extended_types | |||||||||
shaderSubgroupExtendedTypes | ⚠️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_shader_terminate_invocation | |||||||||
shaderTerminateInvocation | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_synchronization2 | |||||||||
synchronization2 | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_timeline_semaphore | |||||||||
timelineSemaphore | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_uniform_buffer_standard_layout | |||||||||
uniformBufferStandardLayout | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_variable_pointers | |||||||||
variablePointers | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
variablePointersStorageBuffer | ❌ | ❌ | ⚠️ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_vertex_attribute_divisor | |||||||||
vertexAttributeInstanceRateDivisor | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
vertexAttributeInstanceRateZeroDivisor | ❌ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_vulkan_memory_model | |||||||||
vulkanMemoryModel | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
vulkanMemoryModelDeviceScope | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_KHR_zero_initialize_workgroup_memory | |||||||||
shaderZeroInitializeWorkgroupMemory | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_4444_formats | |||||||||
formatA4R4G4B4 | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_descriptor_indexing | |||||||||
descriptorBindingPartiallyBound | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingSampledImageUpdateAfterBind | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageBufferUpdateAfterBind | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageImageUpdateAfterBind | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingStorageTexelBufferUpdateAfterBind | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingUniformTexelBufferUpdateAfterBind | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingUpdateUnusedWhilePending | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
descriptorBindingVariableDescriptorCount | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
runtimeDescriptorArray | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderSampledImageArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageBufferArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderStorageImageArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageTexelBufferArrayDynamicIndexing | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderStorageTexelBufferArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderUniformBufferArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
shaderUniformTexelBufferArrayDynamicIndexing | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
shaderUniformTexelBufferArrayNonUniformIndexing | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_host_query_reset | |||||||||
hostQueryReset | ⚠️ | ❌ | ❌ | ⚠️ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_image_robustness | |||||||||
robustImageAccess | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_inline_uniform_block | |||||||||
descriptorBindingInlineUniformBlockUpdateAfterBind | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
inlineUniformBlock | ⚠️ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_pipeline_creation_cache_control | |||||||||
pipelineCreationCacheControl | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_robustness2 | |||||||||
robustImageAccess2 | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_scalar_block_layout | |||||||||
scalarBlockLayout | ⚠️ | ❌ | ❌ | ❌ | ⚠️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_shader_atomic_float | |||||||||
shaderBufferFloat32Atomics | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
shaderSharedFloat32Atomics | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_shader_demote_to_helper_invocation | |||||||||
shaderDemoteToHelperInvocation | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_subgroup_size_control | |||||||||
computeFullSubgroups | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
subgroupSizeControl | ⚠️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_texel_buffer_alignment | |||||||||
texelBufferAlignment | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
VK_EXT_vertex_attribute_divisor | |||||||||
vertexAttributeInstanceRateDivisor | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
vertexAttributeInstanceRateZeroDivisor | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ |
Vulkan Profile Limits (Properties)
NOTE: The table below only contains properties/limits explicitly defined by the corresponding profile. Further properties/limits may be supported by the profiles in accordance to the requirements defined in the "Limit Requirements" section of the appropriate version of the Vulkan API Specification.
- "valueWithRegularFont" indicates that the limit/property is defined in the profile (hover over the value to view the structure and corresponding extension or core API version where the limit/property is defined in the profile)
- "valueWithItalicFont" indicates that the limit/property is not defined in the profile but an equivalent limit/property is (hover over the symbol to view the structure and corresponding extension or core API version where the limit/property is defined in the profile)
- "-" indicates that neither the limit/property nor an equivalent limit/property is defined in the profile
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|
Vulkan Profile Queue Families
- "valueWithRegularFont" indicates that the queue family property is defined in the profile (hover over the value to view the structure and corresponding extension or core API version where the queue family property is defined in the profile)
- "valueWithItalicFont" indicates that the queue family property is not defined in the profile but an equivalent queue family property is (hover over the symbol to view the structure and corresponding extension or core API version where the queue family property is defined in the profile)
- "-" indicates that neither the queue family property nor an equivalent queue family property is defined in the profile
- Empty cells next to the properties of a particular queue family definition section indicate that the profile does not have a corresponding queue family definition
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|
Vulkan Profile Formats
NOTE: The table below only contains formats and properties explicitly defined by the corresponding profile. Further formats and properties may be supported by the profiles in accordance to the requirements defined in the "Required Format Support" section of the appropriate version of the Vulkan API Specification.
- "valueWithRegularFont" indicates that the format property is defined in the profile (hover over the value to view the structure and corresponding extension or core API version where the format property is defined in the profile)
- "valueWithItalicFont" indicates that the format property is not defined in the profile but an equivalent format property is (hover over the symbol to view the structure and corresponding extension or core API version where the format property is defined in the profile)
- "-" indicates that neither the format property nor an equivalent format property is defined in the profile
- Empty cells next to the properties of a particular format definition section indicate that the profile does not have a corresponding format definition
Profiles | VP_KHR_roadmap_2022 | VP_ANDROID_baseline_2021 | VP_ANDROID_baseline_2022 | VP_LUNARG_desktop_baseline_2023 | VP_LUNARG_desktop_baseline_2024 | VP_LUNARG_minimum_requirements_1_0 | VP_LUNARG_minimum_requirements_1_1 | VP_LUNARG_minimum_requirements_1_2 | VP_LUNARG_minimum_requirements_1_3 |
---|