commit | 5767f435195311b3c471ecca2b0836d512a75271 | [log] [tgz] |
---|---|---|
author | Austin Eng <enga@chromium.org> | Fri Apr 07 21:39:36 2023 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Apr 07 21:39:36 2023 +0000 |
tree | f2248d7302b7e66f0c9d50706ecdf830d78f09ad | |
parent | de24841411c4cfb13662238327f2e456c82d26f6 [diff] |
Always flush device callbacks when the callbacks are changed With the wire, callbacks reference device-related data which is freed when the device is unregistered from the wire. However, the device that the wire refers to can live longer than this and have its callbacks invoked at a later time, leading to a use-after-free. Always flush the callbacks so that when the wire unregisters a device and clears its callbacks, they are called immediately and no dangling pointers remain. No-Try: true Bug: chromium:1430221 Change-Id: Ib753b58cee5e7cb4d90ebd703958a0ddd5873573 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/126483 Reviewed-by: Loko Kung <lokokung@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Kokoro: Austin Eng <enga@chromium.org> Commit-Queue: Austin Eng <enga@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.