commit | 7dd8d3e2af2804a4f9a7d09142a324854532f7f5 | [log] [tgz] |
---|---|---|
author | James Price <jrprice@google.com> | Fri Jan 12 18:10:48 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Jan 12 18:10:48 2024 +0000 |
tree | 89db434405752ddbaf2eed2e9aed2db605bbe0e7 | |
parent | f545410e64c67a57bbeb48fa0e29116c60c0a21f [diff] |
[tint][uniformity] Fix nested LValue expressions When an LValue is a dereferenced pointer, we were cutting the analysis short instead of descending into nested expressions that may contain uniformity violations or affect the uniformity of the parent. This CL adds an `is_dereferencing` parameter to `ProcessLValueExpression()` to track whether we are currently dereferencing, and moves the logic for partial pointers to the handling of the root identifier expression. This unifies the logic in the three different expressions that can cause derefences (unary *, index accessors, and member accessors). Bug: tint:2113, tint:2053 Fixed: tint:2139 Change-Id: Ia55b5345590c41ea1b162112ac2545c69a95ba75 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/169265 Commit-Queue: James Price <jrprice@google.com> Reviewed-by: Antonio Maiorano <amaiorano@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.