-
Notifications
You must be signed in to change notification settings - Fork 329
Description
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