commit | 3f5a9376dea63b041f604afef820651213272a9d | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Fri Jun 20 01:49:00 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Jun 20 01:49:00 2025 -0700 |
tree | 6d733f4dcaed485f35a57e191e3c8336e03033ed | |
parent | 6a294b931ac942984bdeb350d608c93c0fef8cae [diff] |
[tint][spirv-writer] Add a KeepBindingArrayAsPointer transform. KeepBindingArrayAsPointer is a transform that ensures that binding_arrays are never stored by value but only used via a pointer to them. This is used to produce SPIR-V that's more similar to what drivers typically ingest where OpTypeArray<OpTypeImage> is always kept as a pointer. Note that it doesn't handle function parameters so DirectVariableAccess (DVA) for handles must have run prior to this transform. This mismatch between Tint IR and SPIR-V at the time of writing is because Tint IR disallows handle address space pointers as function arguments, while "idiomatic" SPIR-V that drivers are used to use pointers to pass handle types as function arguments. Bug: 393558555 Change-Id: I2a37899b938dd773a6d991d6ebf58f30a3a6a5ca Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/247054 Reviewed-by: James Price <jrprice@google.com> Auto-Submit: Corentin Wallez <cwallez@chromium.org> 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.