[glsl] Use structs for padding when possible When the number of padding bytes is large and the current offset is aligned, use structures to pad out the struct to avoid emitting too many members and initializer values. We use structures of uint values to avoid increasing the alignment of the containing struct. This significantly reduces the number of members needed for large amounts of padding, which helps with some fuzzer cases. Also add proper handling for padding amounts smaller than 4 bytes, which can happen with f16 members. Change-Id: I8ccb22a64ed32a1bec92ee2e4b12c945e8409cfa Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/336055 Auto-Submit: James Price <jrprice@google.com> Reviewed-by: dan sinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: James Price <jrprice@google.com> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
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.