dawn-cmake/README.md

62 lines
1.5 KiB
Markdown
Raw Normal View History

2020-03-02 20:47:43 +00:00
# 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
* [depot_tools] in your path
2020-03-02 20:47:43 +00:00
## 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)
2020-03-02 20:47:43 +00:00
## Building
Tint uses Chromium dependency management so you need to install [depot_tools]
and add it to your PATH.
2020-03-02 20:47:43 +00:00
[depot_tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
### Getting source & dependencies
```sh
# 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
2020-03-02 20:47:43 +00:00
```
### Compiling using CMake + Ninja
```sh
2020-03-02 20:47:43 +00:00
mkdir -p out/Debug
cd out/Debug
cmake -GNinja ../..
ninja # or autoninja
```
### Compiling using CMake + make
```sh
mkdir -p out/Debug
cd out/Debug
cmake ../..
make # -j N for N-way parallel build
2020-03-02 20:47:43 +00:00
```
## Issues
Please file any issues or feature requests at
https://bugs.chromium.org/p/tint/issues/entry
2020-03-02 20:47:43 +00:00
## Contributing
Please see the CONTRIBUTING and CODE_OF_CONDUCT files on how to contribute to
Tint.