commit | ffd485c685040edb1e678165dcbf0e841cfa0298 | [log] [tgz] |
---|---|---|
author | Ben Clayton <bclayton@google.com> | Mon Jan 22 14:27:32 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jan 22 14:27:32 2024 +0000 |
tree | 87153fb36b89a1193a9bc772e92ca1de33428e3f | |
parent | ec953bd795cdbdffd0f9f533c676efdcfbb0d6a9 [diff] |
[tint][msl] Replace volatile loop conditional with outer volatile conditional. Instead of attempting to preserve UB loops with volatile loads in the conditional, instead wrap the loop in a conditional using a volatile load. This means the UB loop might still get removed, but control flow that comes after will not be affected. This has the following benefits: • Doesn't (appear to) trigger control flow bugs on older hardware. • Doesn't require a volatile load per iteration (O(n) -> O(1)). • Looks like it might actually work for all of Skia's tests. Bug: tint:2125 Change-Id: Ibb17f77d1291eff6a0d5b3244be711bd8ecaff62 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/170801 Kokoro: Kokoro <noreply+kokoro@google.com> Auto-Submit: Ben Clayton <bclayton@google.com> Commit-Queue: David Neto <dneto@google.com> Reviewed-by: 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.