commit | cef8bcac582edf0bea73f074784e05f8d1e317a9 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Thu Jun 05 10:58:57 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jun 05 10:58:57 2025 -0700 |
tree | c2294564c5e3d03d1fe933a4fa94c60f7a2b6615 | |
parent | 10a45acffb5b08f4d5dab406bdfbf60c7518d289 [diff] |
[tint][ir] Handle binding_array in DVA DVA previously had two separate code paths to replace parameters into direct accesses in forked functions. Parameters that were handled were: - Pointers to various non-handle storage spaces that had logic to follow access chains. - Handle types that were mapped directly to a global variable. With binding_array the distinction between the two cases disappears as handle types can now be the result of indexing in a binding_array so they need to follow access chains during DVA. This CL merges both code paths in DVA by removing the handle paths and adding Load instruction support when following access chains as well as fixups needed to add that extra Load instructions back when reconstructing the parameter in the forked functions. Adds two tests for DVA of handle types that pass a binding_array as argument or a texture from a binding_array as argument. Bug: 393558555 Change-Id: I33e9f13cba22df2addcc2b1a2a832fa303eebf2c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/245474 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: 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.