commit | 7be7549d944e0603d04dece430a0756ec297333f | [log] [tgz] |
---|---|---|
author | Ben Clayton <bclayton@google.com> | Thu Jul 20 15:59:31 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Jul 20 15:59:31 2023 +0000 |
tree | f145bd9ee74af73b876003351239088301f7423a | |
parent | bc9dc1f099f3c4ddb4567cd18c78c06c2ce1e09d [diff] |
[tint][ir] Further simplify FromProgram Use a stack of tasks to walk and evaluate expressions. Uses fewer stacks and only type dispatches once per expression node. Move all the expressions emission functions into EmitExpression() to prevent them accidentally being called by other emission functions. This reduces the expression related methods to just EmitExpression() and EmitValueExpression(). Move expr_to_result_ into EmitExpression(), substantially reducing the lifetime of this map, and reducing the likelihood it would spill to the heap. Emit loads at expression emission time instead of when fetching the result. This is more truthful to the semantic info. Bug: tint:1718 Change-Id: I73685b4d78d910922710f8779cd5cce26826157e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/141962 Reviewed-by: Dan Sinclair <dsinclair@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Auto-Submit: Ben Clayton <bclayton@google.com> Commit-Queue: Ben Clayton <bclayton@google.com>
Dawn is an open-source and cross-platform implementation of the work-in-progress 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)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.