commit | b04a92f01be0e7dc2faf91e0f6f974f990e8b2f2 | [log] [tgz] |
---|---|---|
author | Austin Eng <enga@chromium.org> | Mon Oct 05 19:53:58 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Mon Oct 05 19:53:58 2020 +0000 |
tree | f13b12102e4d1cfe40a5d305f2fe01227883c6b4 | |
parent | df909306835aaac8326dd6a06bac2efdca43ee01 [diff] |
Add a per-thread proc table using thread local storage In situations where both dawn_wire and dawn_native are used on separate threads (Chrome with --single-process or --in-process-gpu), it's desirable to have a per-thread proc table so that the WebGPU C++ API can still be used. This eliminates classes of bugs with manual reference/release errors. This also changes many of the GetProcs functions to return const references to the static proc tables known at compile time, instead of a copy. Bug: none Change-Id: I8775bb715b312dd9476a1903fbd797d4b1302614 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/29240 Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Austin Eng <enga@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 webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.