[dawn][native] Spanify WriteBuffer/Texture. This spanification goes all the way to backends as they can overload some of the code paths for WriteTexture/WriteBuffer to be more optimal. - Frontend: - Update internal uses of Queue::WriteBuffer - Make Buffer::UploadData used by Queue::WriteBuffer to take a Span. - D3D11: - Update WriteBuffer/TextureImpl to take a Span - GL - Update WriteBuffer/TextureImpl to take a Span. - Update EnqueueGL taking a bag of data to use Span. - Vulkan: - Update Buffer::UploadData to take a Span. - WebGPU - Update WriteBuffer/TextureInternal to take a Span. - Update CaptureContext to take a Span for QueueWriteBuffer/Texture. - Add a TODO to spanify WriteCommand/ContentBytes. - Update QueueMock - Fix an identifier conflict in ProcTable.cpp (dataSize was both the name of an argument and of a temporary). Bug: 515272358, 524406299, 439062058 Change-Id: I3442b6309c56569ec13a043d271310b0a9cf37bf Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/320375 Reviewed-by: Loko Kung <lokokung@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.