commit | 51765abc2eae26ded1827b1933b3dc452e1ac11a | [log] [tgz] |
---|---|---|
author | Daniel Cheng <dcheng@chromium.org> | Tue Jul 02 21:41:20 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jul 02 21:41:20 2024 +0000 |
tree | 7aae9da4449345e70d94ad4e1dee47de3d767f5e | |
parent | 47ae7fb823b74ba1e9e0c9afc7b500bb26adcccf [diff] |
[MSan] Fix use-after-dtor issues in generated C++ APIs. The move assignment operator manually invokes the destructor, to ensure any data owned by pointer fields is cleaned up instead of leaked. However, manually invoking the destructor also ends the lifetime of `this`, and future attempts to use the field become an error when MSan's use-after-dtor check is enabled. The fix is to move the cleanup logic into a private helper function and invoke the helper from both the destructor and the move assignment operator. Bug: 40222690 Change-Id: I1c31a1f2c342b0768ecc02f4f84c63b7e3a9160c Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/196554 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Dawn is an open-source and cross-platform implementation of the 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)
BSD 3-Clause License, please see LICENSE.
This is not an officially supported Google product.