commit | ec4d78832f2a478e9e8c3bff45471d222368f22c | [log] [tgz] |
---|---|---|
author | Peter McNeeley <petermcneeley@google.com> | Wed May 14 14:34:30 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed May 14 14:34:30 2025 -0700 |
tree | f5f1dadf3a3c83a19cd498c48c86537dcb62a99a | |
parent | 8a5a860e72f9a7035af3ed5f8f9d41c339f27ff0 [diff] |
[tint] MSL Const arrays/structs access turn into program constants The constant manager will inline const values directly at point of usage. This means something like a const array will be constructed inside nested loops. The metal compiler (and backend) does not optimize/hoist these constants out of the loops and we can end up with executions that initializing large arrays every loop iteration. To fix this we use the "program scope constants" of msl to define constants (array/struct) at program scope. Doc: https://docs.google.com/document/d/14Nmg07G-J2BVb5PhEwdZ-R4Lj-NMUvOI7IShNpD_a1o/edit?resourcekey=0-xDZxMV-IqUdxPmEXuUgqMw&tab=t.0 Bug:412476137,413690572 Change-Id: If15e4dfc59f1b1f34ac5b52883c00f9172db14c1 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/241595 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: Peter McNeeley <petermcneeley@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.