KhronosGroup / KTX-Specification

KTX file format source
Other
69 stars 12 forks source link

Allow A8B8G8R8 formats #205

Closed lexaknyazev closed 5 months ago

lexaknyazev commented 5 months ago

The current rationale says:

The A8B8G8R8*PACK32 formats are prohibited because the end result is the same regardless of whether the data is treated as packed into 32-bits or as the equivalent R8G8B8A8 format, i.e. as an array of 4 bytes, so a Data Format Descriptor cannot distinguish between these cases.

The fact that data layout is the same as with the equivalent R8G8B8A8 formats does not seem to be a compelling reason to disallow the formats. Tools could be trivially updated to treat them as aliases and all operations would work correctly.

The rationale for supporting them is to ensure that a KTX 2.0 file can be used to capture/replay a Vulkan texture initially created with a A8B8G8R8*PACK32 format.

MarkCallow commented 5 months ago

Please propose a new rationale for the prohibited formats to replace this example and a PR to remove this format and add the new rationale for the forthcoming 2.0.3.

MarkCallow commented 5 months ago

@lexaknyazev please propose a PR. I want send revision 3 to the WG for approval as soon as possible so we can release a libktx with the typeSize fix, some DFD fixes and that allows these formats.