Commit Graph

124 Commits

Author SHA1 Message Date
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
c606cef87c Fixing 2 issues found via artificial encoder fuzzing, impacting the ASTC HDR 6x6/UASTC HDR 6x6i codec:
- 3 subset CEM 7/11 partition compression needs to check for rare failures
- adding clamp to bc6h encoder's smooth block weight index assigner (assign_weights_simple_4)
2026-03-06 17:20:37 -05:00
Richard Geldreich
961935d699 Changing C compression API for XUAST LDR: if unified quality level is not being used, and the lower level uastc_rdo_or_dct_quality parameter was set to 100, we would previously return an error. Now DCT is not enabled, as expected. 2026-03-04 10:08:34 -05:00
Richard Geldreich
87d87f568d fixing typo in XUASTC LDR compression dev statistics printf 2026-03-03 01:30:08 -05:00
Richard Geldreich
52bee5888c comment fix 2026-03-02 02:52:13 -05:00
Richard Geldreich
d5721efb60 comment fix 2026-03-01 22:54:19 -05:00
Richard Geldreich
75a08c483a making convert_ldr_to_hdr_image() non-static 2026-03-01 11:03:54 -05:00
Richard Geldreich
790ab66fb6 for non-ETC1S texture video: every frame is an i-frame 2026-02-28 22:26:53 -05:00
Richard Geldreich
a62ec17827 adding comment 2026-02-28 17:34:46 -05:00
Richard Geldreich
1dbeaf032d minor typo fix 2026-02-28 03:47:25 -05:00
Richard Geldreich
46629928ba Fixing remarks, aligning constructor defaults for ETC1S clusters to match clear() 2026-02-27 22:40:16 -05:00
Richard Geldreich
256a4ad08b comment fix 2026-02-27 16:24:00 -05:00
Richard Geldreich
3c245522c2 minor warning message fix (if m_xuastc_ldr_use_dct is true, m_params.m_quality_level must be >= 0) 2026-02-26 18:54:39 -05:00
Richard Geldreich
02b7ce3804 updating comments and status display related to m_quality 2026-02-26 18:44:56 -05:00
Richard Geldreich
b7f1df3955 remark changes 2026-02-26 18:03:54 -05:00
Richard Geldreich
c43b5c3f04 Fixing DFD of alpha channel ETC1S so it validates using KTX-Software 2026-02-24 22:24:57 -05: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
33c4966491 comment typo fix 2026-02-14 21:11:50 -05:00
Richard Geldreich
554aad81bf fixing total_used_bc XUASTC LDR summary debug statistic (the per-CEM Blue Contraction/BC metrics were fine however) 2026-02-13 23:15:30 -05:00
Richard Geldreich
03d2057014 adjusting comments for clarity 2026-02-12 20:44:17 -05:00
Richard Geldreich
afb855a90d Removing dead function definition 2026-01-29 20:10:39 -05:00
Richard Geldreich
396b242fb7 Fixing BASISD_SUPPORT_KTX2_ZSTD macro so it can be set to 0 - this disables XUASTC Zstd/hybrid profiles for encoding 2026-01-28 13:35:52 -05:00
Richard Geldreich
e93d3beb36 merging v2.0 from xuastc_private 2026-01-19 01:59:54 -05:00
Richard Geldreich
ea6778b2b5 adding new files 2026-01-19 01:59:35 -05:00
Richard Geldreich
fc59cab71d unbreaking the purposely broken build for testing purposes 2025-11-23 15:37:58 -05:00
Richard Geldreich
593b1146d3 purposely breaking the build for testing purposes 2025-11-23 15:35:46 -05:00
Rich Geldreich
fbb7de77f2 Merge pull request #412 from Skullheadx/Fix-Missing-cfloat-Include
Fix missing cfloat include in basisu_astc_hdr_6x6_enc.cpp
2025-11-21 21:34:55 -05:00
Richard Geldreich
204d7525ad fixing merge issues 2025-11-21 21:30:58 -05:00
Aaron Franke
f3a63a3f54 Remove trailing space characters 2025-11-21 11:52:38 -08:00
Skullheadx
67886898e6 Add missing cfloat include 2025-11-19 09:51:47 -05:00
Richard Geldreich
6000fedf62 compressor fuzzing: fixing rare overflow in RDO candidate picker 2025-11-18 21:54:27 -05:00
Richard Geldreich
d7ef7030a0 Porting ETC1S colorspace very rare calculation overflow fix into OpenCL program 2025-11-18 17:38:20 -05:00
Richard Geldreich
5a1ae5d65d Fixing a very rare 1-bit overflow in ETC1S SSE optimized colorspace error calculations (which are 32-bit vs. the plain C++ code's 64-bit). Ultimately the output would still be correct and transcodable, but this could cause a compressor assertion check to fail. Found during compressor fuzz testing. 2025-11-18 17:27:51 -05:00
Richard Geldreich
6e54503437 adding compressor validate output flag from XUASTC branch 2025-11-18 17:25:32 -05:00
Richard Geldreich
f7d0925f96 Adding rel tolerance to this assert, found during compressor fuzzing 2025-11-18 17:25:06 -05: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
2c6712697c Fixing thread pool shutdown so the kill flag is set inside the mutex, preventing a race. This could cause very rare lockups on the previous code.
Also for more safety to prevent lockups on buggy C run-times, adding a 1s timeout in the thread pool condition variable wait.
2025-09-05 21:13:04 -04:00
Richard Geldreich
dcb7db72d2 Very minor fix/improvement to HDR 6x6 encoder (channel pair min correlation check). On blocks with all channels active (by far the most common case in practice), there's no difference. 2025-09-05 21:08:02 -04:00
Richard Geldreich
69ad18e035 removing unnecessary debug prints 2025-09-02 17:33:13 -04:00
Richard Geldreich
5d64f944f5 Fixing BASISU_OPENCL_ASSERT_ON_ANY_ERRORS so it's 0 by default 2025-07-17 12:18:18 -04:00
Richard Geldreich
100ace82d2 emcc warning fixes, fixing warnings in WASM cmakelists.txt files, changing ETC1S encoder to use std::map vs. std::unordered_map for hopefully more cross platform determinism 2025-06-24 17:22:05 -04:00
Jakub Marcowski
4855a3e338 Change ² (U+00B2) to ^2 2025-04-25 15:54:31 +02:00
Richard Geldreich, Jr.
b7ce25fd02 Windows ARM fixes 2025-02-19 15:09:52 -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
Richard Geldreich
acdf7620a8 new files 2025-01-21 10:08:45 -05:00
Richard Geldreich
3093d8bba6 removing renamed files 2025-01-21 10:07:55 -05:00
Richard Geldreich
6588a8a443 fixing load_png() so it checks the correct pointer 2024-11-15 04:02:04 -05:00