.TH "libktx_history" 3 "Sun Jun 14 2026 18:00:57" "Version 0.0.0" "libktx Reference" \" -*- nroff -*- .ad l .nh .SH NAME libktx_history \- Revision History .PP No longer updated\&. Kept to preserve ancient history\&. For more recent history see the repo log at https://github.com/KhronosGroup/KTX-Software\&. See also the Release Notes in the repo\&. .SH "Version 4\&.0" .PP Added: .PD 0 .IP "\(bu" 1 Support for KTX Version 2\&. .IP "\(bu" 1 Support for encoding and transcoding Basis Universal images in KTX Version 2 files\&. .IP "\(bu" 1 Function to print info about a KTX file\&. .PP .SH "Version 3\&.0\&.1" .PP Fixed: .PD 0 .IP "\(bu" 1 GitHub issue #159: compile failure with recent Vulkan SDKs\&. .IP "\(bu" 1 Incorrect mapping of GL DXT3 and DXT5 formats to Vulkan equivalents\&. .IP "\(bu" 1 Incorrect BC4 blocksize\&. .IP "\(bu" 1 Missing mapping of PVRTC formats from GL to Vulkan\&. .IP "\(bu" 1 Incorrect block width and height calculations for sizes that are not a multiple of the block size\&. .IP "\(bu" 1 Incorrect KTXorientation key in test images\&. .PP .SH "Version 3\&.0" .PP Added: .PD 0 .IP "\(bu" 1 new \fBktxTexture\fP object based API for reading KTX files without an OpenGL context\&. .IP "\(bu" 1 Vulkan loader\&. #include to use it\&. .PP Changed: .PD 0 .IP "\(bu" 1 \fBktx\&.h\fP to not depend on KHR/khrplatform\&.h and GL{,ES*}/gl{corearb,}\&.h\&. Applications using OpenGL must now include these files themselves\&. .IP "\(bu" 1 ktxLoadTexture[FMN], removing the hack of loading 1D textures as 2D textures when the OpenGL context does not support 1D textures\&. KTX_UNSUPPORTED_TEXTURE_TYPE is now returned\&. .PP .SH "Version 2\&.0\&.2" .PP Added: .PD 0 .IP "\(bu" 1 Support for cubemap arrays\&. .PP Changed: .PD 0 .IP "\(bu" 1 New build system .PP Fixed: .PD 0 .IP "\(bu" 1 GitHub issue #40: failure to byte-swap key-value lengths\&. .IP "\(bu" 1 GitHub issue #33: returning incorrect target when loading cubemaps\&. .IP "\(bu" 1 GitHub PR #42: loading of texture arrays\&. .IP "\(bu" 1 GitHub PR #41: compilation error when KTX_OPENGL_ES2=1 defined\&. .IP "\(bu" 1 GitHub issue #39: stack-buffer-overflow in toktx .IP "\(bu" 1 Don't use GL_EXTENSIONS on recent OpenGL versions\&. .PP .SH "Version 2\&.0\&.1" .PP Added: .PD 0 .IP "\(bu" 1 CMake build files\&. Thanks to Pavel Rotjberg for the initial version\&. .PP Changed: .PD 0 .IP "\(bu" 1 ktxWriteKTXF to check the validity of the type & format combinations passed to it\&. .PP Fixed: .PD 0 .IP "\(bu" 1 Public Bugzilla \fR999\fP: 16-bit luminance texture cannot be written\&. .IP "\(bu" 1 compile warnings from compilers stricter than MS Visual C++\&. Thanks to Pavel Rotjberg\&. .PP .SH "Version 2\&.0" .PP Added: .PD 0 .IP "\(bu" 1 support for decoding ETC2 and EAC formats in the absence of a hardware decoder\&. .IP "\(bu" 1 support for converting textures with legacy LUMINANCE, LUMINANCE_ALPHA, etc\&. formats to the equivalent R, RG, etc\&. format with an appropriate swizzle, when loading in OpenGL Core Profile contexts\&. .IP "\(bu" 1 ktxErrorString function to return a string corresponding to an error code\&. .IP "\(bu" 1 tests for ktxLoadTexture[FN] that run under OpenGL ES 3\&.0 and OpenGL 3\&.3\&. The latter includes an EGL on WGL wrapper that makes porting apps between OpenGL ES and OpenGL easier on Windows\&. .IP "\(bu" 1 more texture formats to ktxLoadTexture[FN] and toktx tests\&. .PP Changed: .PD 0 .IP "\(bu" 1 ktxLoadTexture[FMN] to discover the capabilities of the GL context at run time and load textures, or not, according to those capabilities\&. .PP Fixed: .PD 0 .IP "\(bu" 1 failure of ktxWriteKTXF to pad image rows to 4 bytes as required by the KTX format\&. .IP "\(bu" 1 ktxWriteKTXF exiting with KTX_FILE_WRITE_ERROR when attempting to write more than 1 byte of face-LOD padding\&. .PP Although there is only a very minor API change, the addition of ktxErrorString, the functional changes are large enough to justify bumping the major revision number\&. .SH "Version 1\&.0\&.1" .PP Implemented ktxLoadTextureM\&. Fixed the following: .PD 0 .IP "\(bu" 1 Public Bugzilla \fR571\fP: crash when null passed for pIsMipmapped\&. .IP "\(bu" 1 Public Bugzilla \fR572\fP: memory leak when unpacking ETC textures\&. .IP "\(bu" 1 Public Bugzilla \fR573\fP: potential crash when unpacking ETC textures with unused padding pixels\&. .IP "\(bu" 1 Public Bugzilla \fR576\fP: various small fixes\&. .PP Thanks to Krystian Bigaj for the ktxLoadTextureM implementation and these fixes\&. .SH "Version 1\&.0" .PP Initial release\&.