commit | b8e5a6adcd7da6e9c5612783eae1d802bd6a400f | [log] [tgz] |
---|---|---|
author | Sunny Sachanandani <sunnyps@chromium.org> | Wed Nov 15 16:20:13 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Nov 15 16:20:13 2023 +0000 |
tree | 8ff20345f229643601a04b6e9e1405d29327007d | |
parent | 5896e7501bf3a0dccb12f146949195d461d4a71e [diff] |
Fix webgpu_dawn_native_proc multiple paths build issue Recent ninja versions complain if multiple rules generate the same target within a single build. This happens when Dawn native is built in Skia: % autoninja -C out/Default dm ninja: Entering directory `out/Default' ninja: error: obj/third_party/externals/dawn/src/dawn/native/webgpu_dawn_static.ninja:12: multiple rules generate obj/BUILD_DIR/gen/third_party/externals/dawn/src/dawn/native/libwebgpu_dawn.webgpu_dawn_native_proc.o This is because the webgpu_native_proc_gen output sources are included in both the static and shared lib variants of webgpu_dawn: % gn refs out/Default third_party/externals/dawn/src/dawn/native:webgpu_dawn_native_proc_gen //third_party/externals/dawn/src/dawn/native:webgpu_dawn_shared //third_party/externals/dawn/src/dawn/native:webgpu_dawn_static webgpu_dawn is a dawn_component that directly includes target outputs of webgpu_dawn_native_proc_gen in its sources. One way of fixing this is to introduce an intermediate source_set that contains target outputs of webgpu_dawn_native_proc_gen which is what this CL does. Change-Id: I1e78ad5815ee8710053e30e7f9368c886d38278b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/160641 Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Dawn is an open-source and cross-platform implementation of the 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)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.