commit | 4090b7d2d2cb4f3e8ef448aeaca55c75a55b41ca | [log] [tgz] |
---|---|---|
author | danakj <danakj@chromium.org> | Tue Oct 24 17:49:01 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Oct 24 17:49:01 2023 +0000 |
tree | 7dbff550dcb63821c1e61fe9c5b342f798bfd021 | |
parent | 2d123d0dfdc67af1dcbabd178be8073726b67524 [diff] |
Add support for the Rust toolchain To enable Rust build targets in standalone dawn: - Add `checkout_rust: True` to the gclient `custom_vars` section. As it defaults to false: "custom_vars": { "checkout_rust": True, } - Set `enable_rust = true` in GN args, as it also defaults to false. - Run gclient sync Then building `rust_build_tests` will build test targets in //build/rust/tests, which rely on and verify the functioning of the Rust toolchain. Make new rust targets by using the GN templates in //build/rust. In the chromium build, Rust build targets that use the templates from //build/rust will just work. ------ Dependent steps that are already done: 1) The //tools/rust repo needs to be created in https://bugs.chromium.org/p/chromium/issues/detail?id=1494128 2) Then, we should remove the checkout_tools_rust DEPS var, 3) And update the tools/clang and tools/rust revisions so that they are compatible. 4) Roll the chromium //build changes that were required in from https://chromium-review.googlesource.com/c/chromium/src/+/4956874 and https://chromium-review.googlesource.com/c/chromium/src/+/4966201 5) The clang roll causes clang-cl to warn on use of offsetof, but it does not define __GNUC__, which is used to remove the warning. So also remove the warning when __clang__ is defined. Bug: chromium:1494118 Change-Id: I5e280090ec950a1da9f91e2e4717925ce4b2eaa6 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/157120 Reviewed-by: Austin Eng <enga@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: danakj <danakj@chromium.org>
Dawn is an open-source and cross-platform implementation of the work-in-progress WebGPU standard. More precisely it implements webgpu.h
that is a one-to-one mapping with the WebGPU IDL. Dawn is meant to be integrated as part of a larger system and is the underlying implementation of WebGPU in Chromium.
Dawn provides several WebGPU building blocks:
webgpu.h
version that Dawn implements.webgpu.h
.Helpful links:
Developer documentation:
User documentation: (TODO, figure out what overlaps with the webgpu.h docs)
(TODO)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.