-
ARM's ASTC encoder has been added to
libktx
. As a result you can now usetoktx
to create KTX files with ASTC encoded payloads. Thanks to @wasimabbas-arm. -
Full normal map handling has been added. 3-component normal maps can be converted to 2-component and the components separated into the RGB and alpha channels of ASTC, ETC1S or UASTC compressed textures. A
--normalize
option has been added totoktx
to convert an input normal map to unit normals which are needed to allow the third component to be recreated in a shader. Thanks to @wasimabbas-arm. -
A Java wrapper and JNI module for
libktx
has been added. Thanks to @ShukantPal. -
An install package for Apple Silicon has been added.
-
An install package for Windows Arm-64 has been added. Thanks to @Honeybunch.
-
The formerly internal
ktxStream
class has been exposed enabling possibilities such as wrapping a ktxStream around a C++ stream so that textures can be created from the C++ stream's content. See sbufstream.h. Thanks to @UberLambda. -
ktx2check
now verifies BasisLZ supercompression data by performing a transcode.
-
Basis Universal has been updated to version 1.16.3.
- The ETC1S encoder performance is now approximately 30% faster.
- Optional OpenCL support has been added to the ETC1S encoder. Add
-D SUPPORT_OPENCL
when configuring the CMake build to enable it. As OpenCL may not be any faster when encoding individual files - it highly depends on your hardware - it is disabled in the default build and release packages.
-
Windows install packages are now signed.
-
Textures with Depth-stencil formats are now created with DFDs and alignments matching the KTX v2 specification.
-
Specifying
--layers 1
totoktx
now creates an array texture with 1 layer. Previously it created a non-array texture. -
Specifying
--depth 1
totoktx
now creates a 3d texture with depth of 1. Previously it created a 2d texture. -
--normal_map
inktxsc
andtoktx
has been replaced by--normal_mode
which converts 3-component maps to 2-component as well as optimizing the encoding. To prevent the conversion, also specify--input_swizzle rgb1
.
-
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. -
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 for WebGL 1.0 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. -
Neither the Vulkan nor GL loaders support depth/stencil textures.
- This is the last release for which building with Visual Studio 2015 is supported. You may still be able to build with it for a while but don't rely on it.
-
Check for existing libktx version string (#620) (a2f1ac25) (@MarkCallow)
-
Set isCompressed at end of CompressBasisEx. (#618) (c63b4c9d) (@MarkCallow)
-
Allow creation of 3d textures with --depth 1. (#610) (3a5d09ac) (@MarkCallow)
-
Fix newly emerged warning from clang (#608) (cd394d6d) (@MarkCallow)
-
Update for UASTC and ASTC. (727de5e8) (@MarkCallow)
-
git subrepo push lib/dfdutils (dd799a9b) (@MarkCallow)
-
Remove incorrect use of ktxTexture2_WriteTo... (7d91d62e) (@MarkCallow)
-
Regularize Tools (#594) (870b9fff) (@MarkCallow)
-
Fixing build for arm64 Windows (#582) (b995ac33) (@Honeybunch)
-
Update astc-encoder (#592) (a6bcd33d) (@MarkCallow)
-
Fix missing documentation and compile warning. (#591) (ed9e7253) (@MarkCallow)
-
Update astc encoder (#586) (1cb97511) (@MarkCallow)
-
Release memory before early exit. (#584) (a4fddf6b) (@kacprzak)
-
Introduce proper vulkan initialization (#570) (bb9babcb) (@rHermes)
-
Using cmake's MINGW variable to detect proper ABI (#579) (a70e831e) (@Honeybunch)
-
Fix handling of combined depth-stencil textures (#575) (e4bf1aaa) (@MarkCallow)
-
Fix build on Mingw (#574) (1f07cb07) (@Honeybunch)
-
Prepare Release 4.1. (#571) (4a52fe45) (@MarkCallow)
-
git subrepo pull (merge) lib/astc-encoder (51f47631) (@MarkCallow)
-
git subrepo pull (merge) lib/dfdutils (7c24a986) (@MarkCallow)
-
git subrepo pull (merge) lib/dfdutils (c5abc161) (@MarkCallow)
-
Farewell GYP. :-( (f1f04a7e) (@MarkCallow)
-
Miscellaneous fixes (#558) (66f6d750) (@MarkCallow)
-
Fix new in clang 13.1 (Xcode13.3) warnings (#553) (b8d462b0) (@MarkCallow)
-
Fix non-clang warnings (#549) (4e7e40a0) (@MarkCallow)
-
Split each build configuration into a separate CI job. (#546) (9d1204cc) (@MarkCallow)
-
Update to Basis1.16.3 (#543) (c65cfd0d) (@MarkCallow)
-
Remove image.hpp dependency (#542) (9fde96b9) (@wasimabbas-arm)
-
Update to Basis 1.16.1 (#541) (cb45eadc) (@MarkCallow)
-
git subrepo pull (merge) lib/astc-encoder (#540) (d98aa680) (@wasimabbas-arm)
-
git subrepo pull (merge) lib/astc-encoder (#537) (dbfeb82a) (@wasimabbas-arm)
-
Add astc perceptual mode support (#534) (57e62de1) (@wasimabbas-arm)
-
Improve Astc & BasisU normal map support (#493) (2d6ff949) (@wasimabbas-arm)
-
git subrepo pull lib/dfdutils (5ff4811c) (@MarkCallow)
-
git subrepo push lib/dfdutils (ce2a4619) (@MarkCallow)
-
Calculate dst buffer size with ZSTD_compressBound. (#527) (81d2be5c) (@MarkCallow)
-
Remove extraneous token concatenation operator. (a8f4a71d) (@MarkCallow)
-
Fix malloc/delete pair. (0a3fe5b1) (@sergeyext)
-
Manually update git-subrepo parent (929c75c3) (@wasimabbas-arm)
-
git subrepo pull (merge) lib/astc-encoder (f5daffea) (@wasimabbas-arm)
-
Fix parent commit pointer. (1a356d0e) (@MarkCallow)
-
git subrepo pull (merge) lib/basisu (24c9f7bb) (@MarkCallow)
-
Move common params out from ETC1S case. (a2ccc90e) (@MarkCallow)
-
Remove transferFunction from astc options (#482) (1f085d30) (@wasimabbas-arm)
-
Fix leak in zstd inflation. Fixes #465. (720b6cf3) (@MarkCallow)
-
Support array and 3d textures. (#468) (b0532530) (@MarkCallow)
-
Add more astc tests (#460) (14284e7d) (@wasimabbas-arm)
-
Add astc support (#433) (da435dee) (@wasimabbas-arm)
-
Actually byte swap keyAndValueByteSize values. Fix issue #447. (00118086) (@MarkCallow)
-
Add KTXmetalPixelFormat to valid list used by ktxTexture2_WriteToStream. (871f111d) (@MarkCallow)
-
Fix astc-encoder/.gitrepo parent after latest pull. (f99221eb) (@MarkCallow)
-
git subrepo pull (merge) lib/astc-encoder (66692454) (@MarkCallow)
-
Fix astc-encoder/.gitrepo parent pointer. (f39b13b1) (@MarkCallow)
-
Fix memory leak in VkUpload (#448) (2b2b48fa) (@bin)
-
Fix: if ("GL_EXT_texture_sRGB") is supported,then srgb should be supported (#446) (13f17410) (@dusthand)
-
git subrepo commit (merge) lib/astc-encoder (1264f867) (@MarkCallow)
-
git subrepo pull (merge) lib/astc-encoder (15369663) (@MarkCallow)
-
Make
ktxStream
public (#438) (78929f80) (@UberLambda) -
git subrepo pull (merge) lib/astc-encoder (535c883b) (@MarkCallow)
-
Fix mismatched malloc and delete (#440) (9d42b86f) (@cperthuisoc)
-
Cleanup Vulkan SDK environment variables. (354f640e) (@MarkCallow)
-
git subrepo pull (merge) lib/astc-encoder (3e75b6a3) (@MarkCallow)
-
Remove unneeded parts of astc-encoder. (360d10bb) (@MarkCallow)
-
git subrepo clone https://github.com/ARM-software/astc-encoder.git lib/astc-encoder (db359593) (@MarkCallow)
-
Raise warning levels to /W4 & -Wall -Wextra (#418) (ca6f6e7d) (@MarkCallow)
-
Minor build tweaks (#407) (6a38a069) (@MarkCallow)
-
Allow creation of 3d textures with --depth 1. (#610) (3a5d09ac) (@MarkCallow)
-
Fix newly emerged warning from clang (#608) (cd394d6d) (@MarkCallow)
-
Build-system fixes (#606) (48bb42b0) (@pierremoreau)
-
Allow creation of single layer array textures. (#602) (de93656b) (@MarkCallow)
-
Close file after successful load (#597) (32d26662) (@AndrewChan2022)
-
Regularize Tools (#594) (870b9fff) (@MarkCallow)
-
Fix cross-device rename failure (#593) (f020c1ba) (@MarkCallow)
-
Fix wrong alignment used when checking VK_FORMAT_UNDEFINED files (#585) (c7e4edc7) (@MarkCallow)
-
Sign Windows executables, dlls and NSIS installers. (#583) (dc231b32) (@MarkCallow)
-
Fix broken bytesPlane0 test. Add extra analysis. (#578) (243ba439) (@MarkCallow)
-
Fix handling of combined depth-stencil textures (#575) (e4bf1aaa) (@MarkCallow)
-
Farewell GYP. :-( (f1f04a7e) (@MarkCallow)
-
Miscellaneous fixes (#558) (66f6d750) (@MarkCallow)
-
Add JNI component and integrate Java build & test with CMake (#556) (e29e0996) (@MarkCallow)
-
Fix non-clang warnings (#549) (4e7e40a0) (@MarkCallow)
-
Fix VS warnings (#544) (8c6b3571) (@wasimabbas-arm)
-
Remove image.hpp dependency (#542) (9fde96b9) (@wasimabbas-arm)
-
Update to Basis 1.16.1 (#541) (cb45eadc) (@MarkCallow)
-
Improve Astc & BasisU normal map support (#493) (2d6ff949) (@wasimabbas-arm)
-
Validate BasisU Transcode (#532) (39e2d96e) (@MarkCallow)
-
Fix mismatched errors for required and optional index entries. (b8786496) (@MarkCallow)
-
fix missing -w flag for ktx2check (eade072d) (@sidsethupathi)
-
Remove transferFunction from astc options (#482) (1f085d30) (@wasimabbas-arm)
-
Ensure NUL on end of 3d orientation. (74501ef3) (@MarkCallow)
-
Support array and 3d textures. (#468) (b0532530) (@MarkCallow)
-
Fix checks for mismatched image attributes. (#466) (4eca0ef3) (@MarkCallow)
-
Add more astc tests (#460) (14284e7d) (@wasimabbas-arm)
-
Add astc support (#433) (da435dee) (@wasimabbas-arm)
-
macOS Apple Silicon support (#415) (ebab2ea8) (@atteneder)
-
Raise warning levels to /W4 & -Wall -Wextra (#418) (ca6f6e7d) (@MarkCallow)
-
Fix validation errors (#417) (78cd2b01) (@MarkCallow)
-
Farewell GYP. :-( (f1f04a7e) (@MarkCallow)
-
Update to Basis 1.16.1 (#541) (cb45eadc) (@MarkCallow)
-
Raise warning levels to /W4 & -Wall -Wextra (#418) (ca6f6e7d) (@MarkCallow)
-
[FIX] Fix jni package names in KtxTexture2.cpp (#621) (758fc864) (@Illithidek)
-
Set isCompressed at end of CompressBasisEx. (#618) (c63b4c9d) (@MarkCallow)
-
Sign Windows executables, dlls and NSIS installers. (#583) (dc231b32) (@MarkCallow)
-
Workaround FindJNI searching for framework when JAVA_HOME not set. (#566) (957a198b) (@MarkCallow)
-
Miscellaneous fixes (#558) (66f6d750) (@MarkCallow)
-
Add JNI component and integrate Java build & test with CMake (#556) (e29e0996) (@MarkCallow)
-
Fix warnings in JNI library and update to latest libktx API. (#548) (6f98b3c4) (@ShukantPal)
-
Update to Basis 1.16.1 (#541) (cb45eadc) (@MarkCallow)
-
Feature: Java bindings for libktx (#481) (a7159924) (@ShukantPal)