CMake-only fork of https://dawn.googlesource.com/dawn with cleaned, vendored dependencies
Go to file
dan sinclair fa9dbf0dda Add type determiner infrastructure.
This CL adds the Context object, variable ScopeStack and a Function map
into the type determiner.

The sample app is also updated to verify the module produced before
passing to the type determiner.

Bug: tint:5
Change-Id: Ib4af4e4305ee8a306f48e1bd328eaf3ad006fd9a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/18823
Reviewed-by: David Neto <dneto@google.com>
2020-04-06 18:43:56 +00:00
fuzz Initial commit 2020-03-02 15:47:43 -05:00
samples Add type determiner infrastructure. 2020-04-06 18:43:56 +00:00
src Add type determiner infrastructure. 2020-04-06 18:43:56 +00:00
test Fix type of gl_GlobalInvocationId in compute boids. 2020-03-31 15:06:07 +00: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 Fixup the contributing file. 2020-04-06 18:43:20 +00:00
CPPLINT.cfg Initial commit 2020-03-02 15:47:43 -05:00
DEPS Rolling 3 dependencies 2020-03-19 18:31:59 +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 Add depot tools to the requirements section. 2020-04-06 15:19:47 +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
  • depot_tools in your path

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.