| commit | 952a7dacbf6e40aa0b06a5d73cbf250d38b152f7 | [log] [tgz] |
|---|---|---|
| author | Brandon Jones <bajones@chromium.org> | Thu Nov 13 13:14:20 2025 -0800 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Nov 13 13:14:20 2025 -0800 |
| tree | afcc03d16ff2b8f46393d4c18b1793e7bf253581 | |
| parent | 5420f29ea7eccaa5342e46228958904f5424ee67 [diff] |
Optimize Dawn Wire WriteTexture Reduces the number of memcpys that are done when uploading texture data via WriteTexture 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 WriteTexture implementation, depending on data size. (Larger uploads typically see a bigger improvement.) Very similar to recent WriteBuffer optimizations proposed by Loko: https://dawn-review.googlesource.com/c/dawn/+/271535 Bug: 441900745 Change-Id: Ie85e2d38e4db9ad85465640a4f0d65f07c69fa78 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/273396 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.