commit | 79c1f8e966eea8644538296cd20f9361ffeb37ec | [log] [tgz] |
---|---|---|
author | Jaswant Panchumarti <jaswant.panchumarti@kitware.com> | Wed Jun 19 12:35:49 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jun 19 12:35:49 2024 +0000 |
tree | f02555d6d3500d1d9e089213bbca0d21537dda51 | |
parent | 9fba7ea8e943cb9396c356c4becb6842ef0710d5 [diff] |
Append interface link libraries into the bundle Fixes an issue of undefined symbols from the monolithic shared bundle library by appending dependencies found in the `INTERFACE_LINK_LIBRARIES` in addition to `LINK_LIBRARIES`. This is required since `LINK_LIBRARIES` does not contain the transitive dependencies advertised by a target, due to which the bundle ended up with undefined symbols. Without this CL, ``` nm ./libwebgpu_c_bundled.so | grep " U " | grep -vE '(GCC|GLIBC|CXXABI)' && echo "not ok" || echo "ok" U _ZN4absl13hash_internal15MixingHashState16LowLevelHashImplEPKhm U _ZN4absl13hash_internal15MixingHashState28CombineLargeContiguousImpl64EmPKhm U _ZN4absl13hash_internal15MixingHashState5kSeedE U _ZN4absl18container_internal11kEmptyGroupE U _ZN4absl18container_internal11kSooControlE U _ZN4absl18container_internal13EraseMetaOnlyERNS0_12CommonFieldsEmm U _ZN4absl18container_internal17ClearBackingArrayERNS0_12CommonFieldsERKNS0_15PolicyFunctionsEbb U _ZN4absl18container_internal19HashSetResizeHelper20TransferSlotAfterSooERNS0_12CommonFieldsEm U _ZN4absl18container_internal19HashSetResizeHelper24InitControlBytesAfterSooEPNS0_6ctrl_tES2_m U _ZN4absl18container_internal19HashSetResizeHelper35GrowSizeIntoSingleGroupTransferableERNS0_12CommonFieldsEm U _ZN4absl18container_internal21PrepareInsertAfterSooEmmRNS0_12CommonFieldsE U _ZN4absl18container_internal24DropDeletesWithoutResizeERNS0_12CommonFieldsEPKvRKNS0_15PolicyFunctionsEPv U _ZN4absl18container_internal29find_first_non_full_outoflineERKNS0_12CommonFieldsEm U _ZNK4absl18container_internal19HashSetResizeHelper38GrowIntoSingleGroupShuffleControlBytesEPNS0_6ctrl_tEm not ok ``` With this CL, ``` nm ./libwebgpu_c_bundled.so | grep " U " | grep -vE '(GCC|GLIBC|CXXABI)' && echo "not ok" || echo "ok" ok ``` Change-Id: Id3bfbc1d18a4a7edc087a547a26c8adce43bfcac Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/192641 Reviewed-by: Jim Blackler <jimblackler@google.com> Auto-Submit: Jaswant Panchumarti <jaswant.panchumarti@kitware.com> Commit-Queue: Jaswant Panchumarti <jaswant.panchumarti@kitware.com> Reviewed-by: Corentin Wallez <cwallez@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.