commit | 76e255b08ce6fa1460256a7cadf1cd541ce8e7b1 | [log] [tgz] |
---|---|---|
author | Ryan Harrison <rharrison@chromium.org> | Mon Jun 02 15:33:55 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Jun 02 15:33:55 2025 -0700 |
tree | 07749d50f5a6e459448f09fec201a2b6e1a40004 | |
parent | 3aa147292f7008537b5e476bc77f9a33842b6405 [diff] |
[tint][ir] Handle `alignment` of 0 instead of DBZ in `RoundUp` Recently the checks for alignment and size of elements/members were removed from the binary decoder, because fundamentally it was a check that is being duplicated in the validator and thought to be unneeded. The fuzzer found that these were actually slightly load bearing, since alignment = 0 will lead to a div by zero in `RoundUp`. When this type of alignment occurs, either it is a malformed shader that should be rejected by the validator or an opaque type is being used and there is special handling for it. This CL adds a guard to `RoundUp` to just return the initial value if being asked to round with an alignment of 0. Fixes: 421228420 Change-Id: I3ff7c542fd4256df3a62e22b58d86d7a3694e031 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/244835 Auto-Submit: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: James Price <jrprice@google.com> Commit-Queue: James Price <jrprice@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.