commit | 63b777b552da3d05a9fa894829448d80b3f1910a | [log] [tgz] |
---|---|---|
author | Zhaoming Jiang <zhaoming.jiang@intel.com> | Fri Feb 10 01:43:55 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Feb 10 01:43:55 2023 +0000 |
tree | 5e0c5d655c175858994851e303bb32571cd6a668 | |
parent | 4906b039639180bb8f878050f759ddd8c2a6e24d [diff] |
Dawn: Refactor device toggles This CL refactor the logic adapter creating device toggles set when creating device and the way device holding its toggles. This CL also introduce the concept "toggle stage", currently "device stage" only but in future will add "instance stage" and "adapter stage" for instance and adapter toggles. No changes on Dawn API. More details: 1. Introduce `TogglesState` objects that represent the complete toggles state of a device (and will used for instance and adapter in future). 2. When creating a device, adapter set up a TogglesState object for it in `AdapterBase::CreateDeviceInternal` and `Adapter::SetupBackendDeviceToggles`, no other place would change the device's toggles state. This change simplify the logic. 3. Introduce the `ToggleStage` enum for every toggle and `TogglesState` object. Currently we only have `Device` toggle stage, but in future will have `Instance` and `Adapter` for instance and adapter toggles. Bug: dawn:1495 Change-Id: Ifafac6a6a075b5b9a733159574ae5b6d4f3ebde9 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/118030 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
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.