This repository releases pre-built tools for libmental. All tools are as faithful of upstream builds as possible across 7 targets (6 native + WebAssembly).
| Tool | Purpose | Source |
|---|---|---|
| glslang | GLSL/ESSL to SPIR-V (includes SPIRV-Tools) | Khronos |
| SPIRV-Cross | SPIR-V to GLSL/HLSL/MSL | Khronos |
| spirv-to-dxil | SPIR-V to DXIL (D3D12 backend; carve-out of Mesa) | Mesa |
| Naga | WGSL to/from SPIR-V (shared library via FFI) | gfx-rs |
| wgpu-native | WebGPU runtime (Metal/Vulkan/D3D12/OpenGL) | gfx-rs |
| LLVM | LLVM + Clang (NVPTX, AMDGPU, SPIRV experimental backends) | LLVM |
| clspv | OpenCL C to Vulkan SPIR-V | |
| SPIRV-LLVM-Translator | SPIR-V ↔ LLVM IR bridge | Khronos |
NOTE: The spirv-to-dxil build only uses the src/microsoft/spirv_to_dxil code and its NIR / dxil_compiler
dependencies, not the full library.
All tools except spirv-to-dxil are provided for:
- macOS ARM64 / x86_64
- Linux x86_64 / ARM64
- Windows x86_64 / ARM64
- WebAssembly
NOTE: spirv-to-dxil is only used on Windows or WSL targets, as that's the only places where D3D12 lives.
All artifacts have open source licenses, which are verified on every build and packaged alongside each.
If any of the licenses change underneath us, a nightly check will alert us to address it at that time.
Our Windows artifacts are PE/COFF DLLs built via MSYS2 UCRT64 (GCC / MinGW-w64 family), not MSVC — they link against ucrtbase.dll (the Universal CRT) and ship with GCC-style .dll.a import libraries rather than MSVC .lib files. Consumers need a UCRT-family toolchain (MSYS2, MinGW-w64 UCRT, or clang in UCRT mode); plain MSVC can't link them directly due to the CRT coupling and import-lib format differences.
There are so many reasons for this, mostly from interoperability perspectives.