| commit | 498fbf7cc39ebf9b8fe85ea6f3ad59f3eae4be4e | [log] [tgz] |
|---|---|---|
| author | Brandon Jones <bajones@chromium.org> | Mon Nov 10 19:29:11 2025 -0800 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Nov 10 19:29:11 2025 -0800 |
| tree | c0dd7d3a1a1d2eebcd3309c2f71be7c9c1e6bd27 | |
| parent | 9a6e465a38f1b60d7e28f6b5353c43d35b570183 [diff] |
Optimize Dawn Wire WriteBuffer Reduces the number of memcpys that are done when uploading buffer data via WriteBuffer using the wire client. Does so by directly managing the allocation of shared memory and writing to that rather than copying the data to the wire command buffer first, which may involve chunking and additional copies. In tests so far this performs up to 2X better than the previous WriteBuffer implementation, depending on data size. (Larger uploads typically see a bigger improvement.) Derived from Loko's prototype: https://dawn-review.googlesource.com/c/dawn/+/269134 https://dawn-review.googlesource.com/c/dawn/+/269814 Alternative to my previous effort to move the WriteBuffer implementation client-side: https://dawn-review.googlesource.com/c/dawn/+/270895 Bug: 441900745 Change-Id: I1d7aa1b7f64e2ac6582512d64a4b981f2e208cd6 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/271535 Reviewed-by: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Brandon Jones <bajones@chromium.org> Reviewed-by: Loko Kung <lokokung@google.com>
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.