Skip to content

fatmap v0.9.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 05:37
· 6 commits to main since this release

fatmap 0.9.0: a SPIR-V JIT and SIMD texture sampling.

Highlights

  • SPIR-V JIT to x86 machine code (x86-64 and x86-32, AVX2 / AVX-512, 16 lanes per pass), bit exact with the interpreter; the default for SPIR-V programs (fm3d_spirv_set_jit, FM_JIT=0 for the interpreter)
  • AVX2 and AVX-512 quad samplers over packed mip levels (trilinear, every wrap mode, the same bits as the scalar path)
  • Fragment stages may interpolate their varyings and pack their colors themselves (fm3d_program.interpolates / packs_color); the JIT does both
  • MSAA: color masks and occlusion counts work with MSAA, depth / stencil are resolved into the targets
  • Faster GL_ONE / GL_ONE blending, masked AVX2 tails, AVX2 straight_f, one TLS lookup per batch
  • Doom 3 BFG light interactions through fatgl (1280x720): 871 -> ~148 ms on one thread, 60.8 -> ~10 ms on 32 (Mesa llvmpipe: 133 / 11.0); see docs/PERF.md

Static library packages for C and C++ (headers, library, pkg-config and CMake package files).

platform archive
windows-x64-mingw fatmap-0.9.0-windows-x64-mingw.zip
windows-x64-msvc fatmap-0.9.0-windows-x64-msvc.zip
windows-x86-msvc fatmap-0.9.0-windows-x86-msvc.zip
linux-arm64 fatmap-0.9.0-linux-arm64.tar.gz
linux-x64 fatmap-0.9.0-linux-x64.tar.gz
macos-arm64 fatmap-0.9.0-macos-arm64.tar.gz
macos-x64 fatmap-0.9.0-macos-x64.tar.gz

CMake: find_package(fatmap) then link fatmap::fatmap (C) or fatmap::fatmapxx (C++), with -DCMAKE_PREFIX_PATH=<unpacked dir>.
Meson / pkg-config: dependency('fatmap') with --pkg-config-path <unpacked dir>/lib/pkgconfig.
Details: docs/PACKAGING.md