commit | 5608bf7a94f45e9e96aeeb5772164382a9e3807e | [log] [tgz] |
---|---|---|
author | Brendon Tiszka <tiszka@chromium.org> | Wed Sep 27 08:30:11 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Sep 27 08:30:11 2023 +0000 |
tree | 6ae746cc9c3cab2df100194df6df8ad69b8ade33 | |
parent | 63bcdc49e07a2e7f16817e59defc01d875c27102 [diff] |
Reland "Reland "[DawnLPM] Enable dawn lpm for use_libfuzzer builds"" This is a reland of commit 555b91a7b3861dcc8f2158320d4aa62351f5bfb2 Differences: The change in https://dawn-review.googlesource.com/c/dawn/+/152500 caused `proto_out_dir` to default to `proto_in_dir` [1], in our case the `$root_out_dir/gen`. `proto_in_dir` needs to be set to `$root_out_dir/gen` because this is where `dawn_json_lpm_generator` generates its `.proto` files. This would cause the `.pb.h` and `.pb.c` files to be generated in: `gen/out/libfuzzer/gen/third_party/dawn/src/dawn/fuzzers/lpmfuzz/` In this reland we explicitly set `proto_out_dir` to `//` which results in the `.pb.h` and `.pb.c` files being generated in the correct path. Drive-by: Disable this fuzzer on every platform except for Linux. Breaking the Windows CQ bot was unexpected, however the build still works if we set is_dawn_lpm_fuzzer=true explicitly on Windows. [1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/protobuf/proto_library.gni;l=263;drc=cecb90fb3bdae7fbb8269f3142d68ad019f3045a Original change's description: > Reland "[DawnLPM] Enable dawn lpm for use_libfuzzer builds" > > This is a reland of commit 7e5f6113b005c24473fdd1908a5f47c20a0c297e > > Difference: Fixed cyclic dependency in https://dawn-review.googlesource.com/c/dawn/+/152500 and prevented this fuzzer from building in non-fuzzing builds https://dawn-review.googlesource.com/c/dawn/+/152562 > > Original change's description: > > [DawnLPM] Enable dawn lpm for use_libfuzzer builds > > > > This commit enables dawnlpm for use_libfuzzer=true builds which allows > > us to use it on clusterfuzz. > > > > Bug: chromium:1374747 > > Change-Id: Ie515765bc54e56b028e860f056e2e8d9681752fa > > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/137341 > > Reviewed-by: Austin Eng <enga@chromium.org> > > Commit-Queue: Brendon Tiszka <tiszka@chromium.org> > > Kokoro: Kokoro <noreply+kokoro@google.com> > > Bug: chromium:1374747 > Change-Id: Ie64cadd86233a552682316352450988ada780db6 > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/153400 > Reviewed-by: Corentin Wallez <cwallez@chromium.org> > Commit-Queue: Brendon Tiszka <tiszka@chromium.org> > Kokoro: Kokoro <noreply+kokoro@google.com> Bug: chromium:1374747 Change-Id: I849747d597e9aacd535e59fecbe60cef8b35186c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/153580 Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Brendon Tiszka <tiszka@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com>
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)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.