[wire] Spanify BufferConsumer and it's callsites. - This change spanifies the APIs provided via BufferConsumer. This is an Dawn internal helper class that needs to be spanified to facilitate more spanification of the Dawn wire API. - Removes BufferConsumer_impl.h since separating the templates and the implementations of them was making it harder to update them, and the implementations aren't too big, so the compilation gains should be marginal. - A lot of the wire transfer structs needed volatile constructors to satisfy std::span iterator requirements. Since we don't actually expect these constructors to be called (they are needed for some algorithms that need to copy or duplicate elements), we just trivially implement them with a DAWN_UNREACHABLE(). Bug: 528027992 Change-Id: I60cfa340df03104057c51c292776942fd17a897f Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/320696 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Commit-Queue: Loko Kung <lokokung@google.com> Reviewed-by: Kai Ninomiya <kainino@chromium.org> Auto-Submit: Loko Kung <lokokung@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.