这是indexloc提供的服务,不要输入任何密码
Skip to content

Support STORAGE usage on BGRA8Unorm as extension instead of core feature #3799

@Jiawei-Shao

Description

@Jiawei-Shao

When implementing the STORAGE usage on BGRA8Unorm on Vulkan we found there are still quite a lot of Vulkan devices that don't support the STORAGE_IMAGE usage on B8G8R8A8_UNORM (only 55.88% support the STORAGE_IMAGE usage on B8G8R8A8_UNORM according to http://vulkan.gpuinfo.org/listoptimaltilingformats.php).

For example, on old Intel Mesa driver (19.0.2), calling vkGetPhysicalDeviceImageFormatProperties() will return VK_ERROR_FORMAT_NOT_SUPPORTED when format is VK_FORMAT_B8G8R8A8_UNORM and usage contains VK_IMAGE_USAGE_STORAGE_BIT, which means we cannot create a vkImage with VK_FORMAT_B8G8R8A8_UNORM and usage VK_IMAGE_USAGE_STORAGE_BIT according to Vulkan SPEC (if format is not a supported image format, or if the combination of format, type, tiling, usage, and flags is not supported for images, then vkGetPhysicalDeviceImageFormatProperties returns VK_ERROR_FORMAT_NOT_SUPPORTED).

I suggest we should support the STORAGE usage on BGRA8Unorm behind a WebGPU extension instead of core feature, or we will fail to support WebGPU on many Vulkan devices.

See #3640

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions