CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
dan sinclair b595052ea3 Set root folder for linter.
This CL sets the root folder to be used by the linter when determining
header guards.

Bug: tint:23
Change-Id: I52ce8d3cd67e9882d4ea8a2c9cbd2d5d5650d5b7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17205
Reviewed-by: David Neto <dneto@google.com>
2020-03-19 13:03:35 +00:00
fuzz Initial commit 2020-03-02 15:47:43 -05:00
samples Expand build flags for Tint. 2020-03-18 14:08:48 +00:00
src Emit member accessor in WGSL generator. 2020-03-19 02:55:19 +00:00
test Initial commit 2020-03-02 15:47:43 -05:00
third_party Expand build flags for Tint. 2020-03-18 14:08:48 +00:00
tools Set root folder for linter. 2020-03-19 13:03:35 +00:00
.clang-format Initial commit 2020-03-02 15:47:43 -05:00
.gitignore Add gclient files to gitignore 2020-03-05 18:17:32 +00:00
CMakeLists.txt Set root folder for linter. 2020-03-19 13:03:35 +00:00
CODE_OF_CONDUCT.md Initial commit 2020-03-02 15:47:43 -05:00
CONTRIBUTING.md Initial commit 2020-03-02 15:47:43 -05:00
CPPLINT.cfg Initial commit 2020-03-02 15:47:43 -05:00
DEPS Fixup googletest deps 2020-03-04 14:48:39 +00:00
Doxyfile Initial commit 2020-03-02 15:47:43 -05:00
LICENSE Initial commit 2020-03-02 15:47:43 -05:00
README.md Expand build flags for Tint. 2020-03-18 14:08:48 +00:00
standalone.gclient Convert dependency management to using gclient 2020-03-05 15:58:27 +00:00

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.