commit | 1b31dc0bb200dab1c7360b84fc15784eb81596c8 | [log] [tgz] |
---|---|---|
author | Austin Eng <enga@chromium.org> | Wed Feb 17 22:14:56 2021 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Wed Feb 17 22:14:56 2021 +0000 |
tree | ccaf4ecdd43988e9c30f05a4aee2da7a8c2628b3 | |
parent | eb71aaf689b40a9973dbf27eb585c941ad9df5ee [diff] |
Add a BufferConsumer primitive for wire [de]serialization BufferConsumer wraps a buffer pointer and size and exposes a limited number of operations to get data while decrementing the remaining available size. This makes it so that code reading or writing into a buffer cannot easily consume more bytes than available. This CL guards against serialization overflows using BufferConsumer, and it implements GetPtrFromBuffer (for deserialization) on top of BufferConsumer. A future patch will make the rest of the deserialization code use BufferConsumer. Bug: dawn:680 Change-Id: Ic2bd6e7039e83ce70307c2ff47aaca9891c16d91 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41780 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org>
Dawn is an open-source and cross-platform implementation of the work-in-progress 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)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.