commit | aed92a6ec9c4f63c389a053c7b923aa291045318 | [log] [tgz] |
---|---|---|
author | dan sinclair <dsinclair@chromium.org> | Wed Feb 21 14:24:16 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 21 14:24:16 2024 +0000 |
tree | 1d4805b181bf5901e68b74df6780205a17b9f063 | |
parent | 6e86456bbd827e6eea77acc7824cd82daf070436 [diff] |
[msl] Fix issue with module scoped private var and modf. In the MSL backend we convert private module scoped variables into a structure which is create in the entry point and pased around. The private variables are initialized if they are transitively used from the entry point. If the private is initialized with a `modf` then we have an implicit internal structure which is created. This structure doesn't exist in the AST, it's synthesized by the AST printer. If we've removed the private variable usage, then we currently end up with a refernece ot the modf structure in the privates structure but we never emit the modf structure as we never emit the modf. This CL updates the AST printer to always attempt to emit the structure then we emiting the `type` of the structure. The structures themselves are check and only emitted once. This forces the modf structure to be emitted as needed. Bug: tint:2069 Change-Id: I168e174b8fd530974bb050d1013be602422d189f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/175521 Commit-Queue: dan sinclair <dsinclair@chromium.org> Reviewed-by: James Price <jrprice@google.com> Kokoro: Kokoro <noreply+kokoro@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.