Commit Graph
25 Commits
Author SHA1 Message Date
Richard GeldreichandClaude Opus 5.5 a14c492262 Wuffs LDR loader comments: public's old PNG/JPEG loaders allowed 32768; no 'base64' Wuffs sub-module
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 18:04:17 -04:00
Richard GeldreichandClaude Opus 5.5 9459482681 Build: compile Wuffs in its own translation unit (encoder/3rdparty/basisu_wuffs.cpp)
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>
2026-10-23 16:55:17 -04:00
Richard GeldreichandClaude Opus 5.5 1ce7ce9df4 Vendor Wuffs v0.4 (release/c/wuffs-v0.4.c, unmodified) + license notices
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>
2026-10-23 16:54:12 -04:00
Richard Geldreich 1152785ab6 modifications for v2.5 2026-07-01 13:30:21 -04:00
Richard Geldreich 1093ca17ef modifications for v2.5 2026-07-01 13:20:19 -04:00
Richard Geldreich 56ba46d485 UBSAN bug fixes (shifting) 2026-07-01 13:19:14 -04:00
Richard Geldreich 98f1ccb377 fixing qoi_decode() declaration 2026-04-12 13:00:47 -04:00
Richard Geldreich ae89aab33c Adding new files (latest tinyexr library) 2026-04-07 16:36:17 -04:00
Richard Geldreich 542ed6555d tinyexr: upgrading to latest library version. We no longer modify tinyexr, i.e. the tinyexr.h header we're using is now completely standard. We direct tinyexr's zlib calls to our fork of miniz internally. 2026-04-07 16:30:57 -04:00
Richard Geldreich 0a35b574d2 removing file 2026-04-07 15:40:28 -04:00
Richard Geldreich 7dac9fb464 Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP cmake option: if 1, the android ASTC decoder .cpp file is entirely eliminated and we emulate its functionality internally. 2026-04-06 13:53:50 -04:00
Richard Geldreich 2f12dc72be Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP cmake option: if 1, the android ASTC decoder .cpp file is entirely eliminated and we emulate its functionality internally. 2026-04-06 13:53:00 -04:00
Richard Geldreich 4616c37946 Adding BASISU_DISABLE_ANDROID_ASTC_DECOMP: If set to 1, the Android ASTC decoder (part of the drawElements Quality Program Tester Core) is completely disabled, and we instead use our own internal ASTC decoder. 2026-04-03 22:18:57 -04:00
Richard Geldreich 08fabab89f - fixing tinydds so it writes the correct flags, so dds-ktx can view our DDS files
- upping WebGL KTX2 encoder/transcoder testbed so its max Memory64/WASM64 heap size is 15GB, so 4096x4096 textures can be encoded
2026-03-20 17:34:22 -04:00
Richard Geldreich 81a4186404 v2.1 update for KTX-Software and Khronos file format KTX2 compatibility.
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.
2026-02-24 20:35:11 -05:00
Richard Geldreich e93d3beb36 merging v2.0 from xuastc_private 2026-01-19 01:59:54 -05:00
Aaron Franke f3a63a3f54 Remove trailing space characters 2025-11-21 11:52:38 -08:00
Richard Geldreich 221d2230e5 yet another warning fix 2025-11-08 12:55:41 -05:00
Richard Geldreich cbb8ebefa4 Fixing ftell() error handling issue introduced by warning merge from PR 408 2025-11-08 11:28:34 -05:00
Richard Geldreich 196db8cbe2 Merging as much of PR #408 as we safely can.
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.
2025-11-06 13:19:40 -05:00
Richard Geldreich ac02bea0a5 adding empty line at end of file 2025-01-21 12:14:47 -05:00
Richard Geldreich 1ba75b4e34 ASTC 6x6 HDR/6x6 HDR intermediate update 2025-01-21 11:01:08 -05:00
Arseny Kapoulkine 660d897848 Fix gcc's calloc-transposed-args warning
calloc takes sizeof as the second argument.
2024-10-05 15:27:00 -07:00
Richard Geldreich 14c52fc02c fixing build warning 2024-09-10 17:16:54 -04:00
Richard Geldreich ac8898a466 UASTC HDR merge 2024-09-10 14:43:47 -04:00