commit | c64242d4c26b17989efcc862a828f82941f67735 | [log] [tgz] |
---|---|---|
author | Rafael Cintron <rafael.cintron@microsoft.com> | Mon Apr 06 18:20:02 2020 +0000 |
committer | Commit Bot service account <commit-bot@chromium.org> | Mon Apr 06 18:20:02 2020 +0000 |
tree | c9b7b65a7b5e784529b8207abc6853a54db759a6 | |
parent | 022d074c06d208e079e1bb2f8cc9ee6c39f4dd40 [diff] |
Make RefCounted derived objects have private destructors RefCounted (and derived) destructors should be protected on the class to ensure the objects can ONLY be destructed by calling Release. This avoids errors cause by destroying objects out from under code which has an active reference count. Unfortunately, many of the 'base' classes must continue having public destructors because they are used as "blueprint" objects created on the stack. Added final on most-derived classes. Ideas for future improvement: - Change "base" objects to have protected destructors but create new blueprint objects that privately derive from base objects. This limits the blueprint object's usefulness to only be a blueprint. - Modify createX methods to return Ref<Object> instead of Object* Change-Id: I6f3b3b178118d135c4342cb912e982a3873d71af Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18780 Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: 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 webgpu.h docs)
(TODO)
Apache 2.0 Public License, please see LICENSE.
This is not an officially supported Google product.