| commit | b70f6b5f4323006986a0f0ea1659eb8bce6ba05e | [log] [tgz] |
|---|---|---|
| author | Corentin Wallez <cwallez@chromium.org> | Wed Oct 15 03:18:20 2025 -0700 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Oct 15 03:18:20 2025 -0700 |
| tree | a2b96ab38e8e0d7a6bcc59755c4c920f8da2eaf2 | |
| parent | 9df64bee925de764dfc7bcafaccf60564da9d8dc [diff] |
[dawn][native] Factor the logic to compute the tint::Bindings This option passed to Tint compilation is used to remap bindings from WGSL bind points, to whatever the backend needs to match how it sets BindGroups. The logic in all backends look extremely similar apart from how they map a (group, index) to a tint::BindPoint. The logic is extracted in a GenerateBindingRemapping helper function in TintUtils that takes a backend-specified functor for the mapping of a (group, index) to a tint::BindPoint. In the Vulkan backend, some leftover logic for static samplers is extracted from the generation of the tint::Bindings to modify it a posteriori. Bug: 447157265 Change-Id: Ib128c83e71a4ef1916fbe3e1c9475b5f1b680566 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/266375 Commit-Queue: Corentin Wallez <cwallez@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.