Skip to content

Suboptimal BasisLZ Global Data Layout #139

Open
@lexaknyazev

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions