KhronosGroup / KhronosGroup/Vulkan-Docs
Clarify ASTC support
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
With OpenGL, ASTC support was split into several extensions that stack functionality like this:
| | LDR,
2D (Array),
Cube (Array) | 3D Slices | HDR | 3D Blocks |
|----------------------------------------|-------------------------------|-----------|-----|-----------|
| KHR_texture_compression_astc_ldr | ✔️ | | | |
| KHR_texture_compression_astc_sliced_3d | ✔️ | ✔️ | | |
| KHR_texture_compression_astc_hdr | ✔️ | ✔️ | ✔️ | |
| OES_texture_compression_astc | ✔️ | ✔️ | ✔️ | ✔️ |
In Vulkan, `VkPhysicalDeviceFeatures.textureCompressionASTC_LDR` and `_UNORM_` in formats' names hint that only LDR blocks are supported.
- Does it imply that 3D slices are supported as well?
- `VK_EXT_astc_decode_mode` defines decoding process for HDR blocks.
Was it done just for future-proofing the extension (and for better alignment with OpenGL's `EXT_texture_compression_astc_decode_mode`) since there are no `VkFormat` enums for ASTC HDR?
Contributor guide
Assessment
This issue has not been assessed yet.