KhronosGroup / KhronosGroup/Vulkan-Docs

Clarify ASTC support

Open
#926 5 comments 0 reactions 1 assignee Claimed by @janharaldfredriksen-arm View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.