commit | 0f97df8c5326b251a761317b97f8281b1b76b153 | [log] [tgz] |
---|---|---|
author | Corentin Wallez <cwallez@chromium.org> | Tue Jun 14 14:55:46 2022 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jun 14 14:55:46 2022 +0000 |
tree | b2f00b4eb9db1df4e05fd9573e00fc780d979d3d | |
parent | 87af04b769068d016814b749dc829b4b257406f8 [diff] |
dawn::wire::client: Track the object generation on the objects Previously the ObjectAllocator was tracking the generation on the side of the object. This was done to avoid the need to check that the objects aren't null before accessing the generation in ClientHandlers. This is only a very minor optimization for return commands so it is removed in favor of simplifying the code. The code is simplified in a bunch of place by getting the ObjectHandle for an object directly (since it knows the generation now) instead of walking the object graph returned by the allocator. The ObjectBase class is also changed to store an ObjectHandle interrnally that's only accessible via getters. Encapsulating the other memebers will be done in follow-up CLs. Also adds the generation to the ObjectBaseParams since all ObjectBases now require it. Bug: dawn:1451 Change-Id: Ic6c850fc989f715f7c80952ff447b7c29378cd27 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/93146 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.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.