#1772 proposes adding read-write storage textures, and mentions that support will have to depend on the format.
This proposal suggests how read-write texture formats should be bucketed.
-
rw-storage-texture-tier-1 extension covers:
Metal: Needs MTLReadWriteTextureTier1
D3D FL11: Available
Vulkan: Available
OpenGL ES 3.1: Available
-
rw-storage-texture-tier-2 extension covers:
rgba32float
rgba32uint
rgba32sint
rgba16float
rgba16uint
rgba16sint
rgba8unorm
rgba8uint
rgba8sint
Metal: Needs MTLReadWriteTextureTier2
D3D FL11: Optional (see D3D Docs)
Vulkan: Available
OpenGL ES 3.1: Available
-
rw-storage-texture-tier-3 extension covers:
r16float
r16uint
r16sint
r8unorm
r8uint
r8sint
Metal: Needs MTLReadWriteTextureTier2
D3D FL11: Optional (see D3D Docs)
Vulkan: Needs shaderStorageImageExtendedFormats
OpenGL ES 3.1: Unavailable
Note that rw-storage-texture-tier-3 might not be required if we require rw-storage-texture-tier-2 + formats-tier-1 for the respective formats.
#1772 proposes adding read-write storage textures, and mentions that support will have to depend on the format.
This proposal suggests how read-write texture formats should be bucketed.
rw-storage-texture-tier-1extension covers:r32floatr32uintr32sintMetal: Needs
MTLReadWriteTextureTier1D3D FL11: Available
Vulkan: Available
OpenGL ES 3.1: Available
rw-storage-texture-tier-2extension covers:rgba32floatrgba32uintrgba32sintrgba16floatrgba16uintrgba16sintrgba8unormrgba8uintrgba8sintMetal: Needs
MTLReadWriteTextureTier2D3D FL11: Optional (see D3D Docs)
Vulkan: Available
OpenGL ES 3.1: Available
rw-storage-texture-tier-3extension covers:r16floatr16uintr16sintr8unormr8uintr8sintMetal: Needs
MTLReadWriteTextureTier2D3D FL11: Optional (see D3D Docs)
Vulkan: Needs
shaderStorageImageExtendedFormatsOpenGL ES 3.1: Unavailable
Note that
rw-storage-texture-tier-3might not be required if we requirerw-storage-texture-tier-2+formats-tier-1for the respective formats.