# Vulkano's coverage of Vulkan Coverage of support for Vulkan core features and extensions in Vulkano. "Partially supported" includes core features and extensions that have some support in Vulkano, but are not fully implemented. A list of unimplemented features is given. ## Vulkan 1.0 ### Unsupported - `vkGetImageSubresourceLayout` (used, but not exposed to the user) - `VkAllocationCallbacks` - `VkPipelineCreateFlags` - Possibly more? ## Vulkan 1.1 ### Fully supported - [`VK_KHR_16bit_storage`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_16bit_storage.html) - [`VK_KHR_dedicated_allocation`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_dedicated_allocation.html) - [`VK_KHR_get_memory_requirements2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_get_memory_requirements2.html) - [`VK_KHR_get_physical_device_properties2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_get_physical_device_properties2.html) - [`VK_KHR_external_memory_capabilities`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_memory_capabilities.html) - [`VK_KHR_external_semaphore_capabilities`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_semaphore_capabilities.html) - [`VK_KHR_maintenance1`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance1.html) - [`VK_KHR_multiview`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_multiview.html) - [`VK_KHR_relaxed_block_layout`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_relaxed_block_layout.html) - [`VK_KHR_shader_draw_parameters`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_draw_parameters.html) - [`VK_KHR_storage_buffer_storage_class`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_storage_buffer_storage_class.html) - [`VK_KHR_variable_pointers`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_variable_pointers.html) - `vkEnumerateInstanceVersion` ### Partially supported - [`VK_KHR_external_memory`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_memory.html) - `VkExternalMemoryBufferCreateInfoKHR` - [`VK_KHR_external_semaphore`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_semaphore.html) - `VkSemaphoreImportFlagsKHR` - [`VK_KHR_maintenance2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance2.html) - `VkImageViewUsageCreateInfoKHR` - `VkPipelineTessellationDomainOriginStateCreateInfoKHR` - `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT` - `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR` - `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR` - [`VK_KHR_sampler_ycbcr_conversion`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_sampler_ycbcr_conversion.html) - `VkBindImagePlaneMemoryInfoKHR` - `VkSamplerYcbcrConversionImageFormatPropertiesKHR` - `VkImagePlaneMemoryRequirementsInfoKHR` ### Unsupported - [`VK_KHR_bind_memory2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_bind_memory2.html) - [`VK_KHR_descriptor_update_template`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_descriptor_update_template.html) - [`VK_KHR_device_group`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_device_group.html) - [`VK_KHR_device_group_creation`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_device_group_creation.html) - [`VK_KHR_external_fence`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_fence.html) - [`VK_KHR_external_fence_capabilities`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_fence_capabilities.html) - [`VK_KHR_maintenance3`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance3.html) - Group operations, subgroup scope - Protected memory ## Vulkan 1.2 ### Fully supported - [`VK_KHR_8bit_storage`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_8bit_storage.html) - [`VK_KHR_driver_properties`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_driver_properties.html) - [`VK_KHR_sampler_mirror_clamp_to_edge`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_sampler_mirror_clamp_to_edge.html) - [`VK_KHR_spirv_1_4`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_spirv_1_4.html) - [`VK_KHR_shader_atomic_int64`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_atomic_int64.html) - [`VK_KHR_shader_float16_int8`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_float16_int8.html) - [`VK_KHR_shader_float_controls`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_float_controls.html) - [`VK_KHR_shader_subgroup_extended_types`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_subgroup_extended_types.html) - [`VK_KHR_uniform_buffer_standard_layout`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_uniform_buffer_standard_layout.html) - [`VK_KHR_vulkan_memory_model`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_vulkan_memory_model.html) - [`VK_EXT_sampler_filter_minmax`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_sampler_filter_minmax.html) - [`VK_EXT_scalar_block_layout`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_scalar_block_layout.html) - [`VK_EXT_shader_viewport_index_layer`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_shader_viewport_index_layer.html) - SPIR-V 1.4 and 1.5 ### Partially supported - [`VK_KHR_buffer_device_address`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_buffer_device_address.html) - Only the deprecated EXT version is supported. - `vkGetBufferOpaqueCaptureAddressKHR` / `VkBufferOpaqueCaptureAddressCreateInfoKHR` - `vkGetDeviceMemoryOpaqueCaptureAddressKHR` / `VkMemoryOpaqueCaptureAddressAllocateInfoKHR` - [`VK_EXT_descriptor_indexing`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_descriptor_indexing.html) - `VkDescriptorSetVariableDescriptorCountLayoutSupportEXT` - `VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT` - `VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT` / `VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT` / `VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT` - `VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT` ### Unsupported - [`VK_KHR_depth_stencil_resolve`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_depth_stencil_resolve.html) - [`VK_KHR_draw_indirect_count`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_draw_indirect_count.html) - [`VK_KHR_image_format_list`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_image_format_list.html) - [`VK_KHR_imageless_framebuffer`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_imageless_framebuffer.html) - [`VK_KHR_separate_depth_stencil_layouts`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_separate_depth_stencil_layouts.html) - [`VK_KHR_timeline_semaphore`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_timeline_semaphore.html) - [`VK_EXT_host_query_reset`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_host_query_reset.html) - [`VK_EXT_separate_stencil_usage`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_separate_stencil_usage.html) - `framebufferIntegerColorSampleCounts` ## Vulkan 1.3 ### Fully supported - [`VK_KHR_copy_commands2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_copy_commands2.html) - [`VK_KHR_create_renderpass2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_create_renderpass2.html) - [`VK_KHR_format_feature_flags2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_format_feature_flags2.html) - [`VK_KHR_shader_integer_dot_product`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_integer_dot_product.html) - [`VK_KHR_shader_non_semantic_info`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_non_semantic_info.html) - [`VK_KHR_shader_terminate_invocation`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_terminate_invocation.html) - [`VK_KHR_zero_initialize_workgroup_memory`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_zero_initialize_workgroup_memory.html) - [`VK_EXT_extended_dynamic_state`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_extended_dynamic_state.html) - [`VK_EXT_extended_dynamic_state2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_extended_dynamic_state2.html) - [`VK_EXT_shader_demote_to_helper_invocation`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_shader_demote_to_helper_invocation.html) - [`VK_EXT_texel_buffer_alignment`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_texel_buffer_alignment.html) - [`VK_EXT_texture_compression_astc_hdr`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_texture_compression_astc_hdr.html) - [`VK_EXT_ycbcr_2plane_444_formats`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_ycbcr_2plane_444_formats.html) - SPIR-V 1.6 ### Partially supported - [`VK_KHR_dynamic_rendering`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_dynamic_rendering.html) - Suspend/resume - [`VK_KHR_synchronization2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_synchronization2.html) - `vkCmdResetEvent2KHR` - `vkCmdSetEvent2KHR` - `vkCmdWaitEvents2KHR` - `vkCmdWriteTimestamp2KHR` - `vkQueueSubmit2KHR` / `VkSemaphoreSubmitInfoKHR` - `VkMemoryBarrier2KHR` extending `VkSubpassDependency` - `VkAccessFlagBits2KHR` / `VkPipelineStageFlagBits2KHR` (only the base Vulkan 1.0 bits are defined) ### Unsupported - [`VK_KHR_maintenance4`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance4.html) - [`VK_EXT_4444_formats`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_4444_formats.html) - [`VK_EXT_image_robustness`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_image_robustness.html) - [`VK_EXT_inline_uniform_block`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_inline_uniform_block.html) - [`VK_EXT_pipeline_creation_cache_control`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_pipeline_creation_cache_control.html) - [`VK_EXT_pipeline_creation_feedback`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_pipeline_creation_feedback.html) - [`VK_EXT_private_data`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_private_data.html) - [`VK_EXT_subgroup_size_control`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_subgroup_size_control.html) - [`VK_EXT_tooling_info`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_tooling_info.html) ## Unpromoted extensions ### Fully supported - [`VK_KHR_android_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_android_surface.html) - [`VK_KHR_external_memory_fd`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_memory_fd.html) - [`VK_KHR_get_surface_capabilities2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_get_surface_capabilities2.html) - [`VK_KHR_incremental_present`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_incremental_present.html) - [`VK_KHR_push_descriptor`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_push_descriptor.html) - [`VK_KHR_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_surface.html) - [`VK_KHR_swapchain`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_swapchain.html) - [`VK_EXT_color_write_enable`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_color_write_enable.html) - [`VK_EXT_depth_range_unrestricted`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_depth_range_unrestricted.html) - [`VK_EXT_discard_rectangles`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_discard_rectangles.html) - [`VK_EXT_external_memory_dma_buf`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_external_memory_dma_buf.html) - [`VK_EXT_filter_cubic`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_filter_cubic.html) - [`VK_EXT_index_type_uint8`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_index_type_uint8.html) - [`VK_EXT_line_rasterization`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_line_rasterization.html) - [`VK_EXT_metal_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_metal_surface.html) - [`VK_EXT_primitive_topology_list_restart`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_primitive_topology_list_restart.html) - [`VK_EXT_robustness2`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_robustness2.html) - [`VK_EXT_vertex_attribute_divisor`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_vertex_attribute_divisor.html) - [`VK_EXT_ycbcr_image_arrays`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_ycbcr_image_arrays.html) - [`VK_MVK_ios_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_MVK_ios_surface.html) (deprecated) - [`VK_MVK_macos_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_MVK_macos_surface.html) (deprecated) ### Partially supported - [`VK_KHR_display`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_display.html) - `vkCreateDisplayModeKHR` / `VkDisplayModeCreateInfoKHR` / `VkDisplayModeParametersKHR` - `vkGetDisplayPlaneCapabilitiesKHR` / `VkDisplayPlaneCapabilitiesKHR` - [`VK_KHR_external_memory_win32`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_memory_win32.html) - `vkGetMemoryWin32HandleKHR` - `vkGetMemoryWin32HandlePropertiesKHR` - `VkExportMemoryWin32HandleInfoKHR` - [`VK_KHR_external_semaphore_fd`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_external_semaphore_fd.html) - `vkImportSemaphoreFdKHR` / `VkImportSemaphoreFdInfoKHR` - [`VK_KHR_wayland_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_wayland_surface.html) - `vkGetPhysicalDeviceWaylandPresentationSupportKHR` - [`VK_KHR_win32_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_win32_surface.html) - `vkGetPhysicalDeviceWin32PresentationSupportKHR` - [`VK_KHR_xcb_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_xcb_surface.html) - `vkGetPhysicalDeviceXcbPresentationSupportKHR` - [`VK_KHR_xlib_surface`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_xlib_surface.html) - `vkGetPhysicalDeviceXlibPresentationSupportKHR` - [`VK_EXT_buffer_device_address`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_buffer_device_address.html) (deprecated) - `VkBufferDeviceAddressCreateInfoEXT` - [`VK_EXT_debug_utils`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_debug_utils.html) - `vkSetDebugUtilsObjectTagEXT` - `vkSubmitDebugUtilsMessageEXT` - `VkDebugUtilsMessengerCallbackDataEXT` (not all data exposed to callback) - `VkDebugUtilsObjectNameInfoEXT` extending `VkPipelineShaderStageCreateInfo` - [`VK_EXT_full_screen_exclusive`](https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_full_screen_exclusive.html) - `vkGetPhysicalDeviceSurfacePresentModes2EXT`