Skip to content

v4.0.0

Compare
Choose a tag to compare
@MarkCallow MarkCallow released this 20 Apr 09:03
v4.0.0

Release Notes

Version 4.0.0

Significant Changes since Release Candidate 1

  • Basis Universal has been updated to version 1.15.

  • Errors in both ktx2check and ktxinfo causing bogus out of memory messages when there is no metadata or an empty value have been fixed.

  • An issue in msc_basis_transcoder causing intermittent Javascript "Cannot perform Construct on a detached ArrayBuffer" errors has been fixed. NOTE: that msc_basis_transcoder is deprecated and will be replaced by the transcoder wrapper from the Basis Universal repository.

Known Issues in v4.0.0.

  • toktx will not read JPEG files with a width or height > 32768 pixels.

  • toktx will not read 4-component JPEG files such as those sometimes created by Adobe software where the 4th component can be used to re-create a CMYK image.

  • Emscripten versions greater than 2.0.15 have an issue that causes the Javascript wrapper for libktx to fail. The downloadable package KTX-Software-4.0.0-rc1-Web-libktx.zip has been built with Emscripten 2.0.15. You only need to be aware of this if building the wrapper yourself with your own installed emsdk.

  • Users making Basisu encoded or block compressed textures for WebGL must be aware of WebGL restrictions with regard to texture size and may need to resize images appropriately using the --resize feature of toktx. In general the dimensions of block compressed textures must be a multiple of the block size and, if WEBGL_compressed_texture_s3tc on WebGL 1.0 is expected to be one of the targets, then the dimensions must be a power of 2. For portability glTF's KHR_texture_basisu extension requires texture dimensions to be a multiple of 4, the block size of the Universal texture formats.

  • Basis Universal encoding results (both ETC1S/LZ and UASTC) are non-deterministic across platforms. Results are valid but level
    sizes and data will differ slightly. See issue #60 in the basis_universal repository.

  • UASTC RDO results differ from run to run unless multi-threading or RDO multi-threading is disabled. In toktx use --threads 1 for the former or --uastc_rdo_m for the latter. As with the preceeding issue results are valid but level sizes will differ slightly. See issue #151 in the basis_universal repository.

Changes since v4.0.0-rc1 (by part)

libktx

Tools

  • Copy all image attributes when resampling. (83518cd) (@MarkCallow)

  • Skip mipPadding also when no sgd or kvd. Fixes #395. (#396) (fa739a2) (@MarkCallow)

  • 2 small fixes: (50000ca) (@MarkCallow)

    • Raise error in GLUpload on attempted upload of universal texture.
    • In ktx2check don't combine FLOAT & NORM when checking VK_FORMAT name.

JS Wrappers