[spirv] Always use constants for struct member access We recently introduced a bitcast for access operands to avoid a spirv-val check from firing on negative indices. This bitcast turns some constants into non-constants, which is invalid for struct member access in SPIR-V. This would never be an issue when coming from WGSL because struct member indices always become unsigned values, but the IR supports signed indices too and so the fuzzers found this case. Add an extra case for constants to make sure that they stay as constants to fix this. Fixed: 466695222 Change-Id: I160ad2f305e767e49142b218d1cf0a6f051db96c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/279475 Reviewed-by: Peter McNeeley <petermcneeley@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.