[native][d3d12] Fix arrayLength/OffsetFromUniform applying to non-visible bindings When populating options for arrayLengthFromUniform and arrayOffsetFromUniform for a given stage, we must skip bindings that are not visible to that stage. Otherwise these bindings may collide with valid bindings that get remapped. This is what resulted in the crash (assert in debug) reported in 478206474 which relates to arrayOffsetFromUniform. Once I understood the bug, I was also able to reproduce a similar failure with arrayLengthFromUniform. See the two e2e tests in this CL. Bug: 478206474 Change-Id: Ib14a771121d077dcefec1f346d19dc21b915119a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/287135 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Antonio Maiorano <amaiorano@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.