| commit | 2060fe6297cd7d23c0000a6b31ae17e827c530d1 | [log] [tgz] |
|---|---|---|
| author | Corentin Wallez <cwallez@chromium.org> | Fri Oct 03 07:49:16 2025 -0700 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Oct 03 07:49:16 2025 -0700 |
| tree | c0d6a437c73417c464860c205256ebe454cb84ae | |
| parent | d285209bfe339e429307623f005ef5573a27d7ff [diff] |
[dawn][d3d12] Use the binding's BindingIndex for the HLSL register Instead of the BindingNumber. While both are bounded values in most cases: - BindingIndex is < max possible bindings in BGL - BindingNumber < maxBindingsPerBindGroup (1000) We also create fake BindingNumber during BGL creation for additional bindings that are added for external textures or dynamic binding arrays. These can be any values and one allocation scheme was to start from uint32_t max, which caused D3D12 to complain about the register number being too big. Using BindingIndex fixes this. Reenable support for ExternalTexture in the static bindings part of dynamic binding arrays since that's now possible to support on D3D12. Bug: 435317394, 42240282 Change-Id: I20258c05a6862e841261089719d644a8aec8b1cf Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/264474 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Antonio Maiorano <amaiorano@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.