[tint][glsl] Support binding_array in texture_builtins_from_uniform The options to texture_builtins_from_uniform are augmented to contain an explicit offset and metadata count for each binding point (so that binding_arrays can correspond to a span of the metadata passed by uniform buffer). Multiple helpers are updated to pass the additional options. texture_builtins_from_uniform is changed to use get the "Path" for each use of texture in the emulated builtins and uses that path to compute an offset into the uniform buffer containing the metadata. Due to layout restrictions, the uniform buffer cannot be a packed array<u32> so instead it is an array<vec4> that needs two indexing operations to get the u32 we require. Tests are added. Bug: 411573957 Change-Id: I699f72e78d23dce5cc8b8ce7e5096a7e025c29e5 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249214 Reviewed-by: James Price <jrprice@google.com> Commit-Queue: Corentin Wallez <cwallez@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.