{"id":19985513,"url":"https://github.com/kode/tint","last_synced_at":"2026-05-13T06:31:54.381Z","repository":{"id":166904893,"uuid":"642460774","full_name":"Kode/tint","owner":"Kode","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-19T03:01:48.000Z","size":73418,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-12T11:29:02.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-18T16:05:41.000Z","updated_at":"2023-05-18T16:10:42.000Z","dependencies_parsed_at":"2023-05-21T10:45:30.132Z","dependency_job_id":null,"html_url":"https://github.com/Kode/tint","commit_stats":null,"previous_names":["kode/tint"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kode%2Ftint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kode%2Ftint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kode%2Ftint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kode%2Ftint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kode","download_url":"https://codeload.github.com/Kode/tint/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241419545,"owners_count":19959924,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T04:25:14.034Z","updated_at":"2026-05-13T06:31:54.337Z","avatar_url":"https://github.com/Kode.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tint\n\n---\nNote: This repo is read-only, minimized mirror of [the Dawn repo](https://dawn.googlesource.com/dawn).\n\n**Tint changes should be made in [the Dawn repo](https://dawn.googlesource.com/dawn).**\n\n---\n\nTint is a compiler for the WebGPU Shader Language (WGSL).\n\nThis is not an officially supported Google product.\n\n## Requirements\n\n* Git\n* CMake (3.10.2 or later)\n* Ninja (or other build tool)\n* Python, for fetching dependencies\n* [depot_tools] in your path\n\n## Build options\n\n* `TINT_BUILD_SPV_READER` : enable the SPIR-V input reader (off by default)\n* `TINT_BUILD_WGSL_READER` : enable the WGSL input reader (on by default)\n* `TINT_BUILD_SPV_WRITER` : enable the SPIR-V output writer (on by default)\n* `TINT_BUILD_WGSL_WRITER` : enable the WGSL output writer (on by default)\n* `TINT_BUILD_FUZZERS` : enable building fuzzzers (off by default)\n\n## Building\nTint uses Chromium dependency management so you need to install [depot_tools]\nand add it to your PATH.\n\n[depot_tools]: http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up\n\n### Getting source \u0026 dependencies\n\n```sh\n# Clone the repo as \"tint\"\ngit clone https://dawn.googlesource.com/tint tint\ncd tint\n\n# Bootstrap the gclient configuration\ncp standalone.gclient .gclient\n\n# Fetch external dependencies and toolchains with gclient\ngclient sync\n```\n\n### Compiling using CMake + Ninja\n\n```sh\nmkdir -p out/Debug\ncd out/Debug\ncmake -GNinja ../..\nninja # or autoninja\n```\n\n### Compiling using CMake + make\n\n```sh\nmkdir -p out/Debug\ncd out/Debug\ncmake ../..\nmake # -j N for N-way parallel build\n```\n\n### Compiling using gn + ninja\n\n```sh\nmkdir -p out/Debug\ngn gen out/Debug\nautoninja -C out/Debug\n```\n\n### Fuzzers on MacOS\n\nIf you are attempting fuzz, using `TINT_BUILD_FUZZERS=ON`, the version of llvm\nin the XCode SDK does not have the needed libfuzzer functionality included.\n\nThe build error that you will see from using the XCode SDK will look something\nlike this:\n\n```text\nld: file not found:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.fuzzer_osx.a\n```\n\nThe solution to this problem is to use a full version llvm, like what you would\nget via homebrew, `brew install llvm`, and use something like `CC=\u003cpath to full\nclang\u003e cmake ..` to setup a build using that toolchain.\n\n### Checking [chromium-style] issues in CMake builds\n\nThe gn based work flow uses the Chromium toolchain for building in anticipation\nof integration of Tint into Chromium based projects. This toolchain has\nadditional plugins for checking for style issues, which are marked with\n[chromium-style] in log messages. This means that this toolchain is more strict\nthen the default clang toolchain.\n\nIn the future we will have a CQ that will build this work flow and flag issues\nautomatically. Until that is in place, to avoid causing breakages you can run\nthe [chromium-style] checks using the CMake based work flows. This requires\nsetting `CC` to the version of clang checked out by `gclient sync` and setting\nthe `TINT_CHECK_CHROMIUM_STYLE` to `ON`.\n\n```sh\nmkdir -p out/style\ncd out/style\ncmake ../..\nCC=../../third_party/llvm-build/Release+Asserts/bin/clang cmake -DTINT_CHECK_CHROMIUM_STYLE=ON ../../ # add -GNinja for ninja builds\n```\n\n## Issues\n\nPlease file any issues or feature requests at\nhttps://bugs.chromium.org/p/tint/issues/entry\n\n## Contributing\n\nPlease see the [contributing guide in the Dawn repo](https://dawn.googlesource.com/dawn/+/refs/heads/main/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkode%2Ftint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkode%2Ftint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkode%2Ftint/lists"}