| commit | 5f5984923015d226e61ff97790afe13351917fa7 | [log] [tgz] |
|---|---|---|
| author | dneto <dneto@google.com> | Mon Nov 24 16:41:43 2025 -0800 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Nov 24 16:41:43 2025 -0800 |
| tree | 0dbad483e0b3bb2dfa5e6f1639b7249d97a99916 | |
| parent | 80128f92cd70ee0a272009cfaf2dcc701e7eb441 [diff] |
[uniformity] relax uniformity when loop bodies have returns See https://github.com/gpuweb/gpuweb/issues/5364 When a loop body has a return then it can cut off control flow entirely. Function calls that might have required uniformity may no longer be reached, and should not cause a uniformity error. Also, the return may be taken non-uniformly, and hence the other remaining invocations may complete the loop nonuniformily. In these cases code after the loop may now be exposed to nonuniform execution, which should trigger a uniformity error. The tests add a small domain-specific language to test various combinations of statement behaviours (break, return, next, continue) and various placements of uniformity "attackers" and "detectors". This patch is part 1: loop without continuing. This includes 4 cases that fail due to the conservatism. // "", "_#b!", "", "" // "", "_#r!", "", "" // "", "_#b=r!", "", "" // "", "_#bxr!", "", "" Bug: 452692768 Change-Id: I6a6a696457f17dfa3be4e0c2fecd895bd058c254 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/272156 Reviewed-by: Alan Baker <alanbaker@google.com> Commit-Queue: David Neto <dneto@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.