commit | 18f63b4e16c7fa2e77cbc5d7641a1a2264e9aa34 | [log] [tgz] |
---|---|---|
author | Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com> | Wed Jul 21 15:41:29 2021 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jul 21 15:41:29 2021 +0000 |
tree | 804f46d298756a335c9084ccf6681fa81c40f535 | |
parent | f50c22b9985e5162ece8afe326fb14c8c6b161b6 [diff] |
Metal: Handle failure to allocate an MTLCommandBuffer This requires restructuring the logic around MTLCommandBuffer allocation so that GetPendingCommandContext is guaranteed to never fail. Logic in the Metal backend is now similar to the Vulkan backend: the MTLCommandBuffer is prepared at device initialization time, or after a submission, such that it is always valid. A new mUsed boolean is added to CommandRecordingContext to say whether any commands have been recording. Previously mCommandBuffer was used for that purpose, but it is now always non-null. Bug: dawn:801 Change-Id: I5dc6747d1e6d538054010cc50533a03a49af921a Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58720 Auto-Submit: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: 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.