commit | 1f750a6d5c4baee4069567960dcda8dbb3b6ef50 | [log] [tgz] |
---|---|---|
author | Jiawei Shao <jiawei.shao@intel.com> | Thu Oct 31 01:22:36 2024 +0000 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Oct 31 01:22:36 2024 +0000 |
tree | 89aede56830a9ae2f059b957c984c11217167189 | |
parent | 205c0158db5b15a6a1b27eacb9c25a8862c90561 [diff] |
Destroy `mStagingBuffer` immediately in `BufferBase::Unmap()` When calling `BufferBase::Unmap()` on the buffer created with `mappedAtCreation == true` we can destroy the internal staging buffer `mStagingBuffer` immediately after recording the copy command instead of putting it into `DynamicUploader` and destroying it in the next completed serial. It is because the lifecycle of `mStagingBuffer` is the same as the current pending commands and the pending command serial, so it can be safely destroyed when the execution of the pending commands are completed. With this patch `mStagingBuffer` can be destroyed one serial number earlier than current implementation. Bug: chromium:42242066 Test: dawn_end2end_tests Change-Id: I9ff15ab0c20a374b9065897a64a2b5e0a9e03214 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/212894 Reviewed-by: Loko Kung <lokokung@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
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.