commit | 5d39860fef792bc0f5653c74584ad64d5ecf3075 | [log] [tgz] |
---|---|---|
author | Jiawei Shao <jiawei.shao@intel.com> | Thu May 27 00:49:03 2021 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu May 27 00:49:03 2021 +0000 |
tree | cc92cff113b3dcfb28db5e1b46a749ea35b86c19 | |
parent | 462a3ba917a32e6ad95d49ef8939dd9e8a17a9bc [diff] |
Implement AsyncWaitableEvent with std::condition_variable This patch implements the default implementation of WaitableEvent (AsyncWaitableEvent) with std::condition_variable instead of std::future as std::future will always block its destructor until the async function returns, which makes us unable to clean up all the execution environment of the async task inside the async function. This patch also implements WorkerThreadTaskManager to manage all the async tasks (inherited from WorkerThreadTask) in the future, for example all the Create*PipelineAsync() tasks. This patch also updates the related dawn_unittest WorkerThreadTest. Basic. BUG=dawn:529 TEST=dawn_unittests Change-Id: Ie789ba788789e91128ffc416e7e768923828a367 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/51740 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@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.