vulkano/COVERAGE.md
2022-09-17 09:52:26 +02:00

17 KiB

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

Partially supported

  • VK_KHR_external_memory
    • VkExternalMemoryBufferCreateInfoKHR
  • VK_KHR_maintenance2
    • 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
    • VkBindImagePlaneMemoryInfoKHR
    • VkSamplerYcbcrConversionImageFormatPropertiesKHR
    • VkImagePlaneMemoryRequirementsInfoKHR

Unsupported

Vulkan 1.2

Fully supported

Partially supported

  • VK_KHR_buffer_device_address
    • Only the deprecated EXT version is supported.
    • vkGetBufferOpaqueCaptureAddressKHR / VkBufferOpaqueCaptureAddressCreateInfoKHR
    • vkGetDeviceMemoryOpaqueCaptureAddressKHR / VkMemoryOpaqueCaptureAddressAllocateInfoKHR
  • VK_EXT_descriptor_indexing
    • 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

Vulkan 1.3

Fully supported

Partially supported

  • VK_KHR_dynamic_rendering
    • Suspend/resume
  • VK_KHR_synchronization2
    • vkCmdResetEvent2KHR
    • vkCmdSetEvent2KHR
    • vkCmdWaitEvents2KHR
    • vkCmdWriteTimestamp2KHR
    • vkQueueSubmit2KHR / VkSemaphoreSubmitInfoKHR
    • VkMemoryBarrier2KHR extending VkSubpassDependency
    • VkAccessFlagBits2KHR / VkPipelineStageFlagBits2KHR (only the base Vulkan 1.0 bits are defined)

Unsupported

Unpromoted extensions

Fully supported

Partially supported

  • VK_KHR_display
    • vkCreateDisplayModeKHR / VkDisplayModeCreateInfoKHR / VkDisplayModeParametersKHR
    • vkGetDisplayPlaneCapabilitiesKHR / VkDisplayPlaneCapabilitiesKHR
  • VK_KHR_external_memory_win32
    • vkGetMemoryWin32HandleKHR
    • vkGetMemoryWin32HandlePropertiesKHR
    • VkExportMemoryWin32HandleInfoKHR
  • VK_KHR_external_semaphore_fd
    • vkImportSemaphoreFdKHR / VkImportSemaphoreFdInfoKHR
  • VK_EXT_buffer_device_address (deprecated)
    • VkBufferDeviceAddressCreateInfoEXT
  • VK_EXT_debug_utils
    • vkSetDebugUtilsObjectTagEXT
    • vkSubmitDebugUtilsMessageEXT
    • VkDebugUtilsMessengerCallbackDataEXT (not all data exposed to callback)
    • VkDebugUtilsObjectNameInfoEXT extending VkPipelineShaderStageCreateInfo
  • VK_EXT_full_screen_exclusive
    • vkGetPhysicalDeviceSurfacePresentModes2EXT