commit | f0d7cc4f5a2caeb7ca8be9d099ce947ff38b40ed | [log] [tgz] |
---|---|---|
author | Austin Eng <enga@chromium.org> | Wed Jan 13 18:31:47 2021 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Wed Jan 13 18:31:47 2021 +0000 |
tree | 7b90e14a6727f2d656c00ebb766e5aa958661d0a | |
parent | f6ef7530ab4f4f4dbcc1c1b99281c6df1cf6299b [diff] |
dawn_wire: Make all objects owned by the client This removes the logic where the Client owns the Device and the Device owns all other objects. Ownership should be tracked in dawn_native either with refcounting or validation to disallow operations after an object's parent has been destroyed. This simplifies the wire client code in that the client only tracks allocated handles and does not manage parent/child lifetimes. This is an important simplification so we can support multiple WebGPU instances, adapters, and devices on a single wire. Bug: dawn:384 Change-Id: I8ecc7c368130b8917202150c467b5f0e7d4b753e Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/37000 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Corentin Wallez <cwallez@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.