Skip to content

4.5.0

Compare
Choose a tag to compare
@solidpixel solidpixel released this 20 Jun 12:58
· 94 commits to main since this release

Status: June 2023

The 4.5.0 release is a minor release with minor image quality improvements, and multiple build system quality-of-life improvements.

  • General:
    • Bug-fix: Improved handling compiler arguments in CMake, including consistent use of MSVC-style command line arguments for ClangCL.
    • Bug-fix: Invariant Clang builds now use -ffp-model=precise with -ffp-contract=off which is needed to restore invariance due to recent changes in compiler defaults.
    • Change: macOS binary releases are now distributed as a single universal binary for all platforms.
    • Change: Windows binary releases are now compiled with VS2022.
    • Change: Invariant MSVC builds for VS2022 now use /fp:precise instead of /fp:strict, which is is now possible because precise no longer implies contraction. This should improve performance for MSVC builds.
    • Change: Non-invariant Clang builds now use -ffp-model=precise with -ffp-contract=on. This should improve performance on older Clang versions which defaulted to no contraction.
    • Change: Non-invariant MSVC builds for VS2022 now use /fp:precise with /fp:contract. This should improve performance for MSVC builds.
    • Change: CMake config variables now use an ASTCENC_ prefix to add a namespace and group options when the library is used in a larger project.
    • Change: CMake config ASTCENC_UNIVERSAL_BUILD for building macOS universal binaries has been improved to include the x86_64h slice for AVX2 builds. Universal builds are now on by default for macOS, and always include NEON (arm64), SSE4.1 (x86_64), and AVX2 (x86_64h) variants.
    • Change: CMake config ASTCENC_NO_INVARIANCE has been inverted to remove the negated option, and is now ASTCENC_INVARIANCE with a default of ON. Disabling this option can substantially improve performance, but images can different across platforms and compilers.
    • Optimization: Color quantization and packing for LDR RGB and RGBA has been vectorized to improve performance.
    • Change: Color quantization for LDR RGB and RGBA endpoints will now try multiple quantization packing methods, and pick the one with the lowest endpoint encoding error. This gives a minor image quality improvement, for no significant performance impact when combined with the vectorization optimizations.

Binary release sha256 checksums

fe2a1e5c8e57fc77175c6e9d0e1a10e583816507c82c748c568694bf39ae9f57  astcenc-4.5.0-linux-x64.zip
bc8895222820106135575b7dd1bef4d9f184be7ef7de6e684ab563b64c22d163  astcenc-4.5.0-macos-universal.zip
7c63f167558c65e607f72a4dc30b86d631ae3b561cffaee9d2afb5d5149d72e0  astcenc-4.5.0-windows-x64.zip