CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
6cd52e30ef
Change-Id: Ic5845cff3e6e708ce88670f3d6038e339a94f33e Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17660 Reviewed-by: dan sinclair <dsinclair@google.com> |
||
---|---|---|
fuzz | ||
samples | ||
src | ||
test | ||
third_party | ||
tools | ||
.clang-format | ||
.gitignore | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CPPLINT.cfg | ||
DEPS | ||
Doxyfile | ||
LICENSE | ||
README.md | ||
standalone.gclient |
README.md
Tint
Tint is a compiler for the WebGPU Shader Language (WGSL).
This is not an officially supported Google product.
Requirements
- Git
- CMake (3.10.2 or later)
- Ninja (or other build tool)
- Python, for fetching dependencies
Build options
TINT_BUILD_SPV_READER
: enable the SPIR-V input reader (off by default)TINT_BUILD_WGSL_READER
: enable the WGSL input reader (on by default)TINT_BUILD_SPV_WRITER
: enable the SPIR-V output writer (on by default)TINT_BUILD_WGSL_WRITER
: enable the WGSL output writer (on by default)
Building
Tint uses Chromium dependency management so you need to install depot_tools and add it to your PATH.
Getting source & dependencies
# Clone the repo as "tint"
git clone https://dawn.googlesource.com/tint tint && cd tint
# Bootstrap the gclient configuration
cp standalone.gclient .gclient
# Fetch external dependencies and toolchains with gclient
gclient sync
Compiling using CMake + Ninja
mkdir -p out/Debug
cd out/Debug
cmake -GNinja ../..
ninja # or autoninja
Compiling using CMake + make
mkdir -p out/Debug
cd out/Debug
cmake ../..
make # -j N for N-way parallel build
Issues
Please file any issues or feature requests at https://bugs.chromium.org/p/tint/issues/entry
Contributing
Please see the CONTRIBUTING and CODE_OF_CONDUCT files on how to contribute to Tint.