Add support for using RBE on dev machines

Adds in needed dependencies and hooks to allow using RBE instead of
goma

Requires adding `use_remoteexec = true` to args.gn and adding
`"download_remoteexec_cfg":True,` to custom_vars in .gclient to use
RBE.

Rolls ahead buildtools, libc++, and libc++abi to pick up needed
changes to reclient support, but doesn't roll enough ahead to break
DXC.

Roll buildtools/ 2ff42d200..f841f2b2f (61 commits)

https://chromium.googlesource.com/chromium/src/buildtools/+log/2ff42d2008f0..f841f2b2fdde

$ git log 2ff42d200..f841f2b2f --date=short --no-merges --format='%ad %ae %s'
2023-04-26 bentekkie [reclient] Re-enable use_unified_uploads as performance fixed in latest reclient version
2023-04-26 pgrace Add filesystem to libc++ with a banrule to allow only centipede access
2023-04-25 wutao Reland "Roll libc++ from bff81b702ff4 to 0e4617cf8c09 (8 revisions)"
2023-04-21 thakis Revert "Roll libc++ from bff81b702ff4 to 0e4617cf8c09 (8 revisions)"
2023-04-21 thakis Roll libc++ from bff81b702ff4 to 0e4617cf8c09 (8 revisions)
2023-04-19 chromium-autoroll Roll libc++ from 8551b86d1ce1 to bff81b702ff4 (1 revision)
2023-04-18 bentekkie [reclient] Update flags in reproxy.cfg.template to improve apac performance
2023-04-18 chromium-autoroll Roll libc++ from 5f7e371b41f0 to 8551b86d1ce1 (3 revisions)
2023-04-17 chromium-autoroll Roll libc++ from 7df372d6fd11 to 5f7e371b41f0 (1 revision)
2023-04-16 chromium-autoroll Roll libc++ from db673c95b9d1 to 7df372d6fd11 (6 revisions)
2023-04-15 chromium-autoroll Roll libc++ from 5488b5c294dd to db673c95b9d1 (3 revisions)
2023-04-14 chromium-autoroll Roll libc++ from a112d60e2f99 to 5488b5c294dd (2 revisions)
2023-04-13 bentekkie [reclient] Enable depsscanner service for developers
2023-04-13 bentekkie [reclient] Enable fast_log_collection for developers
2023-04-13 chromium-autoroll Roll libc++ from 4156a29aabac to a112d60e2f99 (6 revisions)
2023-04-12 bentekkie Update reproxy.cfg.template in preparation for linux dogfood
2023-04-11 chromium-autoroll Roll libc++ from ff2fcdb345ba to 4156a29aabac (5 revisions)
2023-04-10 chromium-autoroll Roll libc++ from 049d48aa9978 to ff2fcdb345ba (1 revision)
2023-04-09 chromium-autoroll Roll libc++ from 928c6627d301 to 049d48aa9978 (7 revisions)
2023-04-08 chromium-autoroll Roll libc++ from ee488d060889 to 928c6627d301 (7 revisions)
2023-04-07 chromium-autoroll Roll libc++ from ab37483b426c to ee488d060889 (1 revision)
2023-04-07 andusyu [reclient] Add experimental rewrapper link cfg
2023-04-04 bentekkie [reclient] Enable unified uploads for developer builds
2023-04-01 chromium-autoroll Roll libc++ from 6f868b200390 to ab37483b426c (1 revision)
2023-03-31 chromium-autoroll Roll libc++ from 9780b643bfda to 6f868b200390 (6 revisions)
2023-03-30 chromium-autoroll Roll libc++ from e0dca9327208 to 9780b643bfda (2 revisions)
2023-03-28 chromium-autoroll Roll libc++ from 26ace673c4b9 to e0dca9327208 (3 revisions)
2023-03-27 chromium-autoroll Roll libc++ from 79a510511b03 to 26ace673c4b9 (1 revision)
2023-03-26 chromium-autoroll Roll libc++ from 962f2bdb7daf to 79a510511b03 (1 revision)
2023-03-25 chromium-autoroll Roll libc++ from 5622befaf8a9 to 962f2bdb7daf (1 revision)
2023-03-23 chromium-autoroll Roll libc++ from e44019bfac2b to 5622befaf8a9 (6 revisions)
2023-03-23 danakj Add rust targets to BUILDCONFIG, use libc++ in find_clanglibs on Mac.
2023-03-23 aeubanks [libc++] Build with _LIBCPP_NO_ABI_TAG
2023-03-22 chromium-autoroll Roll libc++ from af83f5d2fada to e44019bfac2b (2 revisions)
2023-03-21 zequanwu Update clang-format binaries and scripts for all platforms.
2023-03-21 chromium-autoroll Roll libc++ from 6f04403d621d to af83f5d2fada (1 revision)
2023-03-21 chromium-autoroll Roll libc++ from 9b076b800367 to 6f04403d621d (10 revisions)
2023-03-19 chromium-autoroll Roll libc++ from e931f4775ac9 to 9b076b800367 (4 revisions)
2023-03-18 chromium-autoroll Roll libc++ from afb9e77fdffa to e931f4775ac9 (7 revisions)
2023-03-16 chromium-autoroll Roll libc++ from 124c7ee3fcfe to afb9e77fdffa (1 revision)
2023-03-15 chromium-autoroll Roll libc++ from 24a179746076 to 124c7ee3fcfe (9 revisions)
2023-03-14 chromium-autoroll Roll libc++ from 2c26bce6b079 to 24a179746076 (2 revisions)
2023-03-13 chromium-autoroll Roll libc++ from ae04d7cb7de9 to 2c26bce6b079 (11 revisions)
2023-03-13 lokeric Make fetch reclient cfg script runnable in ChromeOS chroot
2023-03-09 chromium-autoroll Roll libc++ from 3cf0fe444584 to ae04d7cb7de9 (10 revisions)
2023-03-08 chromium-autoroll Roll libc++ from e136ec5032a5 to 3cf0fe444584 (60 revisions)
2023-03-06 manojgupta Revert "Roll libc++ from e136ec5032a5 to f8109050eccb (25 revisions)"
2023-03-05 chromium-autoroll Roll libc++ from b6cd2b9eee3a to 49c1b48fc5a4 (5 revisions)
2023-03-04 chromium-autoroll Roll libc++ from 2213f1846f91 to b6cd2b9eee3a (5 revisions)
2023-03-03 chromium-autoroll Roll libc++ from f8109050eccb to 2213f1846f91 (8 revisions)
2023-03-02 chromium-autoroll Roll libc++ from e136ec5032a5 to f8109050eccb (25 revisions)
2023-03-01 bentekkie Implement gclient hook to pull reproxy config for developers
2023-02-28 bentekkie Add quiet mode to fetch_reclient_cfgs.py
2023-02-28 lokeric Add and update rewrapper configs for chroot (ChromeOS) builds
2023-02-27 jwata Add Browser Build team and Foundry-X team members to buildtools/reclient_cfgs/OWNERS
2023-02-23 chromium-autoroll Roll libc++ from 09f68a400f92 to e136ec5032a5 (3 revisions)
2023-02-22 chromium-autoroll Roll libc++ from abad4bb576d9 to 09f68a400f92 (5 revisions)
2023-02-21 chromium-autoroll Roll libc++ from 43c39fecf3aa to abad4bb576d9 (2 revisions)
2023-02-20 chromium-autoroll Roll libc++ from 3c25fb0803f2 to 43c39fecf3aa (1 revision)
2023-02-19 chromium-autoroll Roll libc++ from 63a3e673a7d1 to 3c25fb0803f2 (4 revisions)
2023-02-18 chromium-autoroll Roll libc++ from 6f4617b9efc3 to 63a3e673a7d1 (13 revisions)

Created with:
  roll-dep buildtools

Roll buildtools/third_party/libc++/trunk/ c1341b9a1..0e4617cf8 (209 commits)

https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/c1341b9a1a7d..0e4617cf8c09

$ git log c1341b9a1..0e4617cf8 --date=short --no-merges --format='%ad %ae %s'
2023-02-21 koraq [libc++][format] Improves width estimate.
2023-04-16 koraq [libc++][doc] Update format status.
2023-04-11 1894981+hiraditya Instructions to run libc++ test suite
2023-04-16 nikolasklauser [libc++][NFC] Remove one apply_cv implementation
2023-04-19 ldionne.2 [libc++] Adjust D_LIBCPP_ENABLE_ASSERTIONS defines in exception_guard tests
2023-03-06 ldionne.2 [libc++] Remove symbols for a std::allocator_arg & friends from the dylib
2023-04-18 ldionne.2 [libc++] Add helper script libcxx-lit for running tests
2023-04-05 martin [libcxx] [ci] Run the libcxxabi and libunwind tests in mingw configurations
2023-04-18 koraq [libc++] Adds missing includes.
2023-04-16 nikolasklauser [libc++][NFC] Remove some dead code in common_type
2023-04-17 david.spickett [libcxx] Replace find_executable with shutil.which
2023-04-17 ldionne.2 [libc++] Add annotation for arm64e in the strong_order test for long double
2023-01-23 nikolasklauser [libc++] Add hide_from_abi check for classes
2023-04-15 koraq Revert "Revert "Revert "[CMake] Bumps minimum version to 3.20.0."""
2023-04-15 koraq [NFC][libc++] Removes incorrect sliceExpr friend.
2023-04-15 koraq Revert "[NFC][libc++] Removes sliceExpr friend."
2023-04-14 koraq [NFC][libc++] Removes sliceExpr friend.
2023-04-15 koraq Revert "Revert "[CMake] Bumps minimum version to 3.20.0.""
2023-04-14 koraq [libc++] Removes Clang 14 support.
2023-04-14 ldionne.2 [libc++] Re-generate the ignore-format file with the CI's clang-format
2023-04-11 ldionne.2 [libc++] Remove redundant assertion in std::span::subspan
2023-04-13 varconsteq [libc++] Fix `generate_ignore_format.sh` and regenerate the file.
2023-04-13 nicolerabjohn [libcxx][AIX] Reverting XFAILs for test cases after OS update
2023-04-12 martin [libcxx] Rename the now fully private header __std_stream to std_stream.h
2023-04-12 varconsteq [libc++][ranges][NFC] Templatize some of the types in `almost_satisfies_types.h`
2023-04-11 koraq [NFC][libc++] Use _LIBCPP_HIDE_FROM_ABI.
2023-04-10 nikolasklauser [libc++][NFC] rename __is_trivially_equality_comparable to __libcpp_is_trivially_equality_comparable
2023-04-04 nikolasklauser [libc++] Rename __tuple_dir back to __tuple
2023-04-08 martin [libcxx] Move the private header __std_stream into the src subdir
2023-03-30 martin [libcxx] [test] Check for C++ headers before building a test that uses them
2023-04-09 koraq [libc++][format] Mark range formaters as complete.
2023-04-11 ldionne.2 [libc++][NFC] Update precondition comments when testing subspan assertions
2023-04-09 koraq [libc++][format] Improves tests.
2023-03-15 koraq [libc++][CI] Prepares building C++ modules.
2023-04-09 koraq [libc++] Formats the sytem_error headers.
2023-03-19 nikolasklauser [libc++] Move __errc to __system_error/errc.h
2023-04-08 koraq [libc++] Granularize system_error.
2023-04-08 koraq [libc++] Implements isblank.
2023-02-17 koraq [libc++][format] Addresses LWG3720.
2022-05-05 koraq [libc++][format] range-default-formatter for strings.
2023-04-01 zingam [libc++][spaceship] Implement `operator<=>` for `time_point`
2023-01-08 nikolasklauser [libc++] Remove <cstdlib> includes
2023-03-31 nikolasklauser [libc++][NFC] Only run the preprocessor in transitive_includes.sh.cpp
2023-02-18 koraq [libc++][format] Implements formatter thread::id.
2022-03-20 koraq [libc++][chrono] Add sys_time formatter.
2023-03-03 koraq [libc++][format] Implements LWG3892.
2023-03-07 nikolasklauser [libc++] Reject standard attributes which are extensions in libcpp-uglify-attributes
2023-03-21 koraq [libc++] Module fixes for __synth_three_way.
2023-02-18 koraq [libc++][format][chrono] Addresses LWG3842.
2023-03-16 koraq [libc++][format] Use granularized charconv.
(...)
2023-03-01 ldionne.2 [libc++] Reintroduce workaround for stdint re-export on Darwin
2023-03-01 ldionne.2 [libc++] Use ASSERT_SAME_TYPE instead of <type_traits> in depr tests
2023-03-02 shivam.kunwar [libcxx][NFC] Added a note about the P2520R0
2023-03-01 emaste [libc++] [FreeBSD] correct 64-bit test
2023-01-20 kib [libc++] [FreeBSD] only use _umtx_op(2) on 64bit arches
2023-03-01 ldionne.2 [libc++] Use generic-cxx20 instead of apple-cxx20 on Apple CI
2023-03-01 ldionne.2 [libc++][NFC] Remove trailing whitespace on line and clang-format
2023-03-01 ldionne.2 [libc++] Refactor the std/depr C headers tests
2023-03-01 ldionne.2 [libc++][NFC] Move test to .compile.pass.cpp since it doesn't run anything
2023-03-01 shivam.kunwar [libc++] implement move_iterator<T*> should be a random access iterator \n Differntial Revision- https://reviews.llvm.org/D135248
2022-07-31 arthur.j.odwyer [libc++] Fix modules issues on OS X
2023-02-28 vvereschaka Fix failed libcxx test build on the Windows to Linux cross builders. NFC.
2023-02-05 nikolasklauser [libc++] Run clang-tidy in all configurations that are run in the Docker container
2023-01-21 koraq [libc++] Addresses LWG3782.
2023-01-20 arthur.j.odwyer [libc++] Refactor allocator_mismatch.compile.fail.cpp -> .verify.cpp
2022-08-20 avogelsgesang [libc++][spaceship] Implement `operator<=>` for `list`
2023-01-19 arthur.j.odwyer [libc++] Fix "size_t" constants that should be "bool" or "int", and add tests
2023-01-24 nikolasklauser [libc++][NFC] Format __split_buffer and move constructors that are marked inline into the class body
2023-02-26 nikolasklauser [libc++] Simplify the modules_include.sh.cpp script a bit
2023-02-24 koraq [libc++] Improves clang-format settings.
2023-02-25 koraq [libc++] Fixes operator& hijacking atomic types.
2023-02-19 fsb4000 [libc++][ranges] Implement LWG-3860 range_common_reference_t is missing
2023-02-25 koraq [libc++] Improves clang-tidy configuration.
2023-02-25 nikolasklauser [libc++] Add FTM for views::as_rvalue
2023-02-25 fsb4000 [libc++] Implement LWG-3204: `sub_match::swap` only swaps the base class
2023-02-23 Casey [libc++][test] Silence MSVC deprecation warnings
2023-02-24 koraq [libc++][test] Use the Japanese test.
2023-02-21 nikolasklauser [libc++] Remove <experimental/{algorithm,functional}>
2023-02-23 nikolasklauser [libc++] Run modules_include.sh.cpp compiles in parallel
2023-02-23 advenam.tacet [ASan][libcxx] Annotating std::vector with all allocators
2023-02-22 phosek Revert "[CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag"
2023-02-21 koraq [libc++][format] Removes transitive type_traits.
2023-02-17 nikolasklauser [libc++][NFC] Replace typedef with using declarations in <__atomic/*>
2023-02-01 phosek [CMake] Unify llvm_check_linker_flag and llvm_check_compiler_linker_flag
2023-02-20 nikolasklauser [runtimes] Remove unused functions from Handle{Libcxx,Libunwind}Flags.cmake
2023-02-21 nikolasklauser [libc++][NFC] Simplify __sort{4,5}
2022-12-07 nikolasklauser [libc++] Forward to std::memcmp for trivially comparable types in equal
2023-02-05 nikolasklauser [libc++] Move constexpr <cstring> functions into their own headers and remove unused <cstring> includes
2023-02-20 nikolasklauser [runtimes] Remove add_target_flags* functions and use add_flags* instead
2023-02-20 nikolasklauser [runtimes] Move common functions from Handle{Libcxx,Libcxxabi,Libunwind}Flags.cmake to runtimes/cmake/Modules/HandleFlags.cmake
2023-02-19 koraq [libc++][format] Disables test on GCC-12.
2023-02-18 koraq [NFC][libc++][format] Small improvements.
2023-02-18 koraq [NFC][libc++][doc] Fixes formatting.
2023-02-18 nikolasklauser [libc++] Fix header includes in <__atomic/cxx_atomic_impl.h>
2023-01-21 koraq [libc++][test] Removes rapid-cxx-test.h.
2023-02-17 nikolasklauser [libc++][NFC] Remove TODOs that are already done
2023-02-17 nikolasklauser [libc++][NFC] Replace _VSTD and _LIBCPP_INLINE_VISIBILITY in <__atomic/*>
2023-02-17 koraq [libc++][format] Addresses LWG3810.
2023-02-17 varconst [libc++] Mark a test relying on `typeid` as unsupported without RTTI.
2023-02-17 nikolasklauser [libc++] Add missing include in <__atomic/cxx_atomic_impl.h>

Created with:
  roll-dep buildtools/third_party/libc++/trunk

Roll buildtools/third_party/libc++abi/trunk/ f7460fc60..307bd1636 (33 commits)

https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/f7460fc60ab5..307bd163607c

$ git log f7460fc60..307bd1636 --date=short --no-merges --format='%ad %ae %s'
2023-04-21 zibi [SystemZ][z/OS] Make LIBCXXABI_LIBUNWIND_INCLUDES_INTERNAL available for external unwind library.
2023-04-16 nikolasklauser [libc++][PSTL] Remove current integration
2023-04-20 ndesaulniers [libcxxabi][demangle] create helper for std::string_view::starts_with
2023-04-18 ldionne.2 [libc++abi] Make the error message for recursive initialization of function-local statics more explicit
2023-03-30 martin [libcxxabi] [test] Fix the mingw test config
2023-04-02 martin [libcxxabi] [test] Avoid mingw warnings about missing a return statement
2023-04-15 martin [libcxxabi] Omit dllimport in public headers in MinGW mode
2023-04-05 martin [libcxxabi] [test] Use the correct printf formats for printing pointers
2023-04-15 koraq Revert "Revert "Revert "[CMake] Bumps minimum version to 3.20.0."""
2023-04-15 koraq Revert "Revert "[CMake] Bumps minimum version to 3.20.0.""
2023-04-05 martin [libcxxabi] [test] Don't cast a pointer to long, fixing the test on Windows
2023-04-05 martin [libcxxabi, libunwind] [test] Place output from tests under a 'test' subdir
2023-04-03 martin [libcxxabi] [test] Mark thread_local_destruction_order.pass.cpp unsupported for mingw targets
2021-08-27 martin [libcxxabi, libunwind] [test] Quote the python path properly for LIB*_EXECUTOR
2023-03-18 ldionne.2 [libc++] Use the stdlib=<LIB> Lit feature instead of use_system_cxx_lib
2023-03-20 dmitryc [libcxxabi] Fix for c9d36bd80760db14f14b33789e6cbc6cb8c64830
2023-03-07 michaelbuch12 [libcxxabi][Demangle] Don't drop ctor/dtor name for abi-tagged structures
2023-03-19 msrlancern [libc++abi] Improve performance of __dynamic_cast
2023-03-18 koraq Revert "Reland "[CMake] Bumps minimum version to 3.20.0.""
2023-03-18 koraq Reland "[CMake] Bumps minimum version to 3.20.0."
2023-03-17 ldionne.2 [libc++][NFC] Move the stdlib= test suite configuration for Apple into the cfg.in files
2023-02-17 nikolasklauser [runtimes] Synchronize warnings flags between libc++/libc++abi/libunwind
2023-03-16 kstoimenov [HWASAN] Remove RUN statements, which have to effect on the test
2023-03-16 kstoimenov [HWASAN] Disable leak checking for forced_unwind2.pass.cpp
2023-03-16 kstoimenov [HWASAN] Disable leak checking for test_vector2.pass.cpp
2023-02-12 nikolasklauser [libc++] Granularize <type_traits> includes
2023-02-23 nikolasklauser [libc++] Enable -Wunused-template
2023-03-04 koraq Revert "[CMake] Bumps minimum version to 3.20.0."
2023-02-21 koraq [CMake] Bumps minimum version to 3.20.0.
2023-02-24 zibi [z/OS][NFC] Remove obsolete code.
2023-02-05 nikolasklauser [libc++] Move constexpr <cstring> functions into their own headers and remove unused <cstring> includes
2023-02-20 nikolasklauser [runtimes] Remove add_target_flags* functions and use add_flags* instead
2023-02-20 nikolasklauser [runtimes] Move common functions from Handle{Libcxx,Libcxxabi,Libunwind}Flags.cmake to runtimes/cmake/Modules/HandleFlags.cmake

Created with:
  roll-dep buildtools/third_party/libc++abi/trunk

BUG=dawn:1920

Change-Id: I6f8d9b5811ad683eff2be91f3537a7bef4b90424
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/141226
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
1 file changed
tree: 3d186a9e62006429413caa68b5a335b937fc8db5
  1. .vscode/
  2. build_overrides/
  3. docs/
  4. generator/
  5. include/
  6. infra/
  7. scripts/
  8. src/
  9. test/
  10. third_party/
  11. tools/
  12. webgpu-cts/
  13. .clang-format
  14. .clang-tidy
  15. .gitattributes
  16. .gitignore
  17. .gn
  18. AUTHORS
  19. BUILD.gn
  20. CMakeLists.txt
  21. CMakeSettings.json
  22. CODE_OF_CONDUCT.md
  23. codereview.settings
  24. CONTRIBUTING.md
  25. CPPLINT.cfg
  26. dawn.json
  27. dawn_wire.json
  28. DEPS
  29. DIR_METADATA
  30. Doxyfile
  31. go.mod
  32. go.sum
  33. go_presubmit_support.py
  34. LICENSE
  35. OWNERS
  36. PRESUBMIT.py
  37. README.chromium
  38. README.md
  39. tint_overrides_with_defaults.gni
README.md

Dawn's logo: a sun rising behind a stylized mountain inspired by the WebGPU logo. The text Dawn is written below it.

Dawn, a WebGPU implementation

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 C/C++ headers that applications and other building blocks use.
    • The webgpu.h version that Dawn implements.
    • A C++ wrapper for the webgpu.h.
  • A “native” implementation of WebGPU using platforms' GPU APIs: D3D12, Metal, Vulkan and OpenGL. See per API support for more details.
  • A client-server implementation of WebGPU for applications that are in a sandbox without access to native drivers
  • Tint is a compiler for the WebGPU Shader Language (WGSL) that can be used in standalone to convert shaders from and to WGSL.

Helpful links:

Documentation table of content

Developer documentation:

User documentation: (TODO, figure out what overlaps with the webgpu.h docs)

Status

(TODO)

License

Apache 2.0 Public License, please see LICENSE.

Disclaimer

This is not an officially supported Google product.