v4.1.0 #682
MarkCallow
started this conversation in
General
v4.1.0
#682
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
New Features in v4.1.0
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.Significant Changes since v4.0.0
Basis Universal has been updated to version 1.16.3.
-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 with an Extended Validation certificate eliminating scary warnings when starting installation.
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
.Known Issues in v4.1.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.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.
Notice
Changes since v4.0.0 (by part)
libktx
Fix warnings newly raised by Doxygen 1.9.6. (Fix warnings newly raised by Doxygen 1.9.6. #676) (c5c24a4) (@MarkCallow)
Fix new warnings from Xcode 14.2 building for macOS. (Fix new warnings from Xcode 14.2 building for macOS. #659) (a5bbfe7) (@MarkCallow)
fix typo in lib/info.c (fix typo in lib/info.c #657) (784ed9a) (@simi)
Fix mingw-w64:llvm-mingw error: unknown type name 'pthread_t' (fix mingw-w64:llvm-mingw error: unknown type name 'pthread_t' #653) (7d57639) (@FuXiii)
Include padding in inflatedByteLength (Include padding in inflatedByteLength #647) (a64ebd4) (@MarkCallow)
Fixing support for mingw toolchains that target the newer ucrt (Fixing support for mingw toolchains that target the newer ucrt #642) (0251377) (@Honeybunch)
Document required queue properties. Fixes VkQueue flags #627. (Document required queue properties. Fixes #627. #639) (f4feff2) (@MarkCallow)
Fix ktxTexture_VkUpload documentation. (691e9ca) (@MarkCallow)
Fix: Use time.h not timex.h for __GNUC__ (a0b1806) (@MarkCallow)
Fix gcc warnings in appendLibId. (Fix gcc warnings in appendLibId. #626) (895799d) (@MarkCallow)
Fix warnings in appendLibId. (Fix warnings in appendLibId. #625) (9bd2f9b) (@MarkCallow)
Cherry-pick change from astcenc 4.1.0 (Cherry-pick stability fix from astcenc 4.1.0 release #623) (f8dc35f) (@solidpixel)
Check for existing libktx version string (Check for existing libktx version string #620) (a2f1ac2) (@MarkCallow)
Set isCompressed at end of CompressBasisEx. (Set isCompressed at end of CompressBasisEx. #618) (c63b4c9) (@MarkCallow)
Allow creation of 3d textures with --depth 1. (Allow creation of 3d textures with --depth 1. #610) (3a5d09a) (@MarkCallow)
Fix newly emerged warning from clang (Fix newly emerged warning from clang #608) (cd394d6) (@MarkCallow)
Update for UASTC and ASTC. (727de5e) (@MarkCallow)
git subrepo push lib/dfdutils (dd799a9) (@MarkCallow)
Remove incorrect use of ktxTexture2_WriteTo... (7d91d62) (@MarkCallow)
Regularize Tools (Regularize Tools #594) (870b9ff) (@MarkCallow)
Fixing build for arm64 Windows (Fixing build for arm64 Windows #582) (b995ac3) (@Honeybunch)
Update astc-encoder (Update astc-encoder #592) (a6bcd33) (@MarkCallow)
Fix missing documentation and compile warning. (Fix missing documentation and compile warning. #591) (ed9e725) (@MarkCallow)
Update astc encoder (Update astc encoder #586) (1cb9751) (@MarkCallow)
Release memory before early exit. (Release memory before early exit. #584) (a4fddf6) (@kacprzak)
Introduce proper vulkan initialization (Introduce proper vulkan initialization #570) (bb9babc) (@rHermes)
Using cmake's MINGW variable to detect proper ABI (Using cmake's MINGW variable to detect proper ABI #579) (a70e831) (@Honeybunch)
Fix handling of combined depth-stencil textures (Fix handling of combined depth-stencil textures #575) (e4bf1aa) (@MarkCallow)
Fix build on Mingw (Fixing build on Mingw #574) (1f07cb0) (@Honeybunch)
Prepare Release 4.1. (Prepare Release 4.1. #571) (4a52fe4) (@MarkCallow)
git subrepo pull (merge) lib/astc-encoder (51f4763) (@MarkCallow)
git subrepo pull (merge) lib/dfdutils (7c24a98) (@MarkCallow)
git subrepo pull (merge) lib/dfdutils (c5abc16) (@MarkCallow)
Farewell GYP. :-( (f1f04a7) (@MarkCallow)
Miscellaneous fixes (Miscellaneous fixes #558) (66f6d75) (@MarkCallow)
Fix new in clang 13.1 (Xcode13.3) warnings (Fix new in clang 13.1 (Xcode13.3) warnings #553) (b8d462b) (@MarkCallow)
Fix non-clang warnings (Fix non-clang warnings #549) (4e7e40a) (@MarkCallow)
Split each build configuration into a separate CI job. (Put each config, platform, etc. in its own job #546) (9d1204c) (@MarkCallow)
Update to Basis1.16.3 (Update to Basis1.16.3 #543) (c65cfd0) (@MarkCallow)
Remove image.hpp dependency (Remove image.hpp dependency #542) (9fde96b) (@wasimabbas-arm)
Update to Basis 1.16.1 (Update to Basis 1.16.1 #541) (cb45ead) (@MarkCallow)
git subrepo pull (merge) lib/astc-encoder (git subrepo pull (merge) lib/astc-encoder #540) (d98aa68) (@wasimabbas-arm)
git subrepo pull (merge) lib/astc-encoder (git subrepo pull (merge) lib/astc-encoder #537) (dbfeb82) (@wasimabbas-arm)
Add astc perceptual mode support (Add astc perceptual mode support #534) (57e62de) (@wasimabbas-arm)
Improve Astc & BasisU normal map support (Astc normal maps #493) (2d6ff94) (@wasimabbas-arm)
git subrepo pull lib/dfdutils (5ff4811) (@MarkCallow)
git subrepo push lib/dfdutils (ce2a461) (@MarkCallow)
Calculate dst buffer size with ZSTD_compressBound. (Calculate dst buffer size with ZSTD_compressBound. #527) (81d2be5) (@MarkCallow)
Remove extraneous token concatenation operator. (a8f4a71) (@MarkCallow)
Fix malloc/delete pair. (0a3fe5b) (@sergeyext)
Manually update git-subrepo parent (929c75c) (@wasimabbas-arm)
git subrepo pull (merge) lib/astc-encoder (f5daffe) (@wasimabbas-arm)
Fix parent commit pointer. (1a356d0) (@MarkCallow)
git subrepo pull (merge) lib/basisu (24c9f7b) (@MarkCallow)
Move common params out from ETC1S case. (a2ccc90) (@MarkCallow)
Remove transferFunction from astc options (Rename function to transferFunction #482) (1f085d3) (@wasimabbas-arm)
Fix leak in zstd inflation. Fixes Memory leak with uastc #465. (720b6cf) (@MarkCallow)
Support array and 3d textures. (Support array and 3d textures. #468) (b053253) (@MarkCallow)
Add more astc tests (Add more astc tests #460) (14284e7) (@wasimabbas-arm)
Add astc support (Add astc support #433) (da435de) (@wasimabbas-arm)
Actually byte swap keyAndValueByteSize values. Fix issue keyAndValueByteLength incorrectly swap. #447. (0011808) (@MarkCallow)
Add KTXmetalPixelFormat to valid list used by ktxTexture2_WriteToStream. (871f111) (@MarkCallow)
Fix astc-encoder/.gitrepo parent after latest pull. (f99221e) (@MarkCallow)
git subrepo pull (merge) lib/astc-encoder (6669245) (@MarkCallow)
Fix astc-encoder/.gitrepo parent pointer. (f39b13b) (@MarkCallow)
Fix memory leak in VkUpload (Fix memory leak #448) (2b2b48f) (@bin)
Fix: if ("GL_EXT_texture_sRGB") is supported,then srgb should be supported (if ("GL_EXT_texture_sRGB") is supported,then srgb should be supported #446) (13f1741) (@dusthand)
git subrepo commit (merge) lib/astc-encoder (1264f86) (@MarkCallow)
git subrepo pull (merge) lib/astc-encoder (1536966) (@MarkCallow)
Make
ktxStream
public (Please consider makingktxStream
public #438) (78929f8) (@UberLambda)git subrepo pull (merge) lib/astc-encoder (535c883) (@MarkCallow)
Fix mismatched malloc and delete (Fix mismatched malloc and delete #440) (9d42b86) (@cperthuisoc)
Cleanup Vulkan SDK environment variables. (354f640) (@MarkCallow)
git subrepo pull (merge) lib/astc-encoder (3e75b6a) (@MarkCallow)
Remove unneeded parts of astc-encoder. (360d10b) (@MarkCallow)
git subrepo clone https://github.com/ARM-software/astc-encoder.git lib/astc-encoder (db35959) (@MarkCallow)
Raise warning levels to /W4 & -Wall -Wextra (Raise warning levels to /W4 & -Wall -Wextra #418) (ca6f6e7) (@MarkCallow)
Minor build tweaks (Minor build tweaks #407) (6a38a06) (@MarkCallow)
Tools
Fix ktx2check handling of supercompressed files. (Fix ktx2check handling of supercompressed files. #646) (0057c76) (@MarkCallow)
Fix: Remove incorrect stdin-use documentation. (b67688e) (@MarkCallow)
Allow creation of 3d textures with --depth 1. (Allow creation of 3d textures with --depth 1. #610) (3a5d09a) (@MarkCallow)
Fix newly emerged warning from clang (Fix newly emerged warning from clang #608) (cd394d6) (@MarkCallow)
Build-system fixes (Build-system fixes #606) (48bb42b) (@pierremoreau)
Allow creation of single layer array textures. (Allow creation of single layer array textures. #602) (de93656) (@MarkCallow)
Close file after successful load (close file for windows platform #597) (32d2666) (@AndrewChan2022)
Regularize Tools (Regularize Tools #594) (870b9ff) (@MarkCallow)
Fix cross-device rename failure (Fix cross-device rename failure #593) (f020c1b) (@MarkCallow)
Fix wrong alignment used when checking VK_FORMAT_UNDEFINED files (Fix wrong alignment used when checking UASTC files #585) (c7e4edc) (@MarkCallow)
Sign Windows executables, dlls and NSIS installers. (Sign Windows executables, dlls and NSIS installers #583) (dc231b3) (@MarkCallow)
Fix broken bytesPlane0 test. Add extra analysis. (Fix broken bytesPlane0 test. Add extra analysis. #578) (243ba43) (@MarkCallow)
Fix handling of combined depth-stencil textures (Fix handling of combined depth-stencil textures #575) (e4bf1aa) (@MarkCallow)
Farewell GYP. :-( (f1f04a7) (@MarkCallow)
Miscellaneous fixes (Miscellaneous fixes #558) (66f6d75) (@MarkCallow)
Add JNI component and integrate Java build & test with CMake (Add JNI component and integrate Java build & test with CMake #556) (e29e099) (@MarkCallow)
Fix non-clang warnings (Fix non-clang warnings #549) (4e7e40a) (@MarkCallow)
Fix VS warnings (Fix VS warnings #544) (8c6b357) (@wasimabbas-arm)
Remove image.hpp dependency (Remove image.hpp dependency #542) (9fde96b) (@wasimabbas-arm)
Update to Basis 1.16.1 (Update to Basis 1.16.1 #541) (cb45ead) (@MarkCallow)
Improve Astc & BasisU normal map support (Astc normal maps #493) (2d6ff94) (@wasimabbas-arm)
Validate BasisU Transcode (Transcode validate #532) (39e2d96) (@MarkCallow)
Fix mismatched errors for required and optional index entries. (b878649) (@MarkCallow)
fix missing -w flag for ktx2check (eade072) (@sidsethupathi)
Remove transferFunction from astc options (Rename function to transferFunction #482) (1f085d3) (@wasimabbas-arm)
Ensure NUL on end of 3d orientation. (74501ef) (@MarkCallow)
Support array and 3d textures. (Support array and 3d textures. #468) (b053253) (@MarkCallow)
Fix checks for mismatched image attributes. (Fix checks for mismatched image attributes. #466) (4eca0ef) (@MarkCallow)
Add more astc tests (Add more astc tests #460) (14284e7) (@wasimabbas-arm)
Add astc support (Add astc support #433) (da435de) (@wasimabbas-arm)
macOS Apple Silicon support (macOS Apple Silicon support #415) (ebab2ea) (@atteneder)
Raise warning levels to /W4 & -Wall -Wextra (Raise warning levels to /W4 & -Wall -Wextra #418) (ca6f6e7) (@MarkCallow)
Fix validation errors (Fix validation errors #417) (78cd2b0) (@MarkCallow)
JS Wrappers
Farewell GYP. :-( (f1f04a7) (@MarkCallow)
Update to Basis 1.16.1 (Update to Basis 1.16.1 #541) (cb45ead) (@MarkCallow)
Raise warning levels to /W4 & -Wall -Wextra (Raise warning levels to /W4 & -Wall -Wextra #418) (ca6f6e7) (@MarkCallow)
Java Wrapper
When finding JNI don't request non-existent component. (48b455c) (@MarkCallow)
[FIX] Fix jni package names in KtxTexture2.cpp (Fix JNI package names in KtxTexture2.cpp #621) (758fc86) (@Illithidek)
Set isCompressed at end of CompressBasisEx. (Set isCompressed at end of CompressBasisEx. #618) (c63b4c9) (@MarkCallow)
Sign Windows executables, dlls and NSIS installers. (Sign Windows executables, dlls and NSIS installers #583) (dc231b3) (@MarkCallow)
Workaround FindJNI searching for framework when JAVA_HOME not set. (Workaround FindJNI searching for framework when JAVA_HOME not set. #566) (957a198) (@MarkCallow)
Miscellaneous fixes (Miscellaneous fixes #558) (66f6d75) (@MarkCallow)
Add JNI component and integrate Java build & test with CMake (Add JNI component and integrate Java build & test with CMake #556) (e29e099) (@MarkCallow)
Fix warnings in JNI library and update to latest libktx API. (Add explicit static_cast to convert from ktx_size_t to jsize in JNI library #548) (6f98b3c) (@ShukantPal)
Update to Basis 1.16.1 (Update to Basis 1.16.1 #541) (cb45ead) (@MarkCallow)
Feature: Java bindings for libktx (Feature: Java bindings for libktx #481) (a715992) (@ShukantPal)
This discussion was created from the release v4.1.0.
Beta Was this translation helpful? Give feedback.
All reactions