KhronosGroup / KhronosGroup/KTX-Specification
Suboptimal BasisLZ Global Data Layout
- Dominant language
- CSS
- Stars
- 81
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
The current layout of BasisLZ Global Data prevents eager decoder initialization because its variable-length `imageDescs` array is located in the middle and depends on the prior knowledge of the whole KTX configuration. We should revise it in the future revisions of BasisLZ.
By relocating `imageDescs` to the end of `supercompressionGlobalData` section, loaders would be able to do the following:
1. Upon encountering `sgdByteOffset`, immediately jump (e.g. using a separate thread) to it.
2. Use the contiguous block of data that would start there to initialize BasisLZ endpoints/selectors/tables even before the levels/faces/etc configuration is known.
Contributor guide
Research direction
Review the current BasisLZ Global Data layout and the supercompressionGlobalData section described by the issue. Determine how relocating the variable-length imageDescs array affects the KTX specification and decoder initialization; done means a decided layout revision that enables the proposed contiguous initialization data.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100