basisu_wuffs.cpp defines WUFFS_IMPLEMENTATION and #includes the unmodified
encoder/3rdparty/wuffs-v0.4.c with all warnings silenced in that TU only
(MSVC #pragma warning(push, 0)/pop; gcc/clang diagnostic push/ignored/pop).
basisu_wuffs_config.h holds the Wuffs configuration (modules BASE core/
interfaces/pixconv, ADLER32, CRC32, DEFLATE, ZLIB, PNG, JPEG, TARGA, QOI;
RGBA_NONPREMUL destination only; WUFFS_CONFIG__AVOID_CPU_ARCH = no SIMD), shared
with basisu_enc.cpp's declarations-only include (next commit). With
BASISU_USE_WUFFS_LDR_LOADER=0 the TU compiles to nothing.
Added to every build that compiles the encoder: root CMakeLists.txt
(native, -m32, WASI, Python module) with a BASISU_USE_WUFFS_LDR_LOADER option
(default ON), webgl/encoder/CMakeLists.txt (all Emscripten variants, same
option), and encoder_lib.vcxproj/.filters (basisu.sln: basisu, examples).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
encoder/3rdparty/wuffs-v0.4.c is the verbatim release/c/wuffs-v0.4.c from
github.com/google/wuffs at commit 4be865da258c (WUFFS_VERSION_STRING
"0.4.0-alpha.12+4048.20261020"), sha256
458066457347bd6d9bc3c906aa8292bea4488577727569ddd9436fdd89d5f04d.
Wuffs is dual-licensed Apache-2.0 OR MIT; basis_universal elects
Apache-2.0 (same as the rest of the repo, LICENSES/Apache-2.0.txt):
added to .reuse/dep5 and the README's 3rd-party sentence. Wuffs ships no
NOTICE file. Not compiled yet (the next commits add the build files and
the loader adapter).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This update impacts the UASTC HDR 4x4, UASTC HDR 6x6i, and XUASTC LDR formats. New KTX2 files in these specific formats using v2.1 can't be loaded using v2.0, however we've kept backwards compatibility with all of our previously written KTX2 files. (v2.1 can transcode all previously written files.)
This is part of our effort to be compatible with Khronos's specification.
bc6hf encoder's smooth block path updated to handle inputs with texels close to MAX_HALF_FLOAT.
Adding command line options to basisu tool so it can write either v2.0 or v1.6 compatible UASTC HDR 6x6i files. The default is v1.6.
Updating WebGL KTX2 testbed so on ASTC devices it automatically switches between sRGB or linear internal formats for the created texture.
PR 408's cmakelists.txt file has too many issues (OpenCL breaks on Windows/OSX) and changing our options to have the "BASISU_" prefix will break upstream builds.