[tint] Do not inline expressions with multiple uses If an instruction has no side-effects, we were inlining it into every use. This can lead to very large generated code size when non-trivial expressions are used multiple times, which happens for some of our polyfills. Add an extra check to ValueToLet to avoid doing this. Disable overrides for the ValueToLet fuzzer since it now tries to adds let instructions for override expressions in the root block. Fixed: 477665543, 519471056 Change-Id: Icdfbdc4eed4aa1e38b0432a475b3adec490ca3fb Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/313596 SLSA-Policy-Verified: SLSA Policy Verification Service <devtools-gerritcodereview-exitgate@google.com> Commit-Queue: James Price <jrprice@google.com> Reviewed-by: dan sinclair <dsinclair@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.