commit | 6fd4844a609f35b839b679b3bf72a7c6b069d590 | [log] [tgz] |
---|---|---|
author | Kyle Charbonneau <kylechar@google.com> | Mon Mar 17 11:56:20 2025 -0700 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Mar 17 11:56:20 2025 -0700 |
tree | 0ba1dfbdfe43289174b64301e118b7ea26fb1b01 | |
parent | d89ae7c3efad6a6f458ed885e7f7e8426ae427d8 [diff] |
Make sure objects are deleted when idle The Vulkan backend enqueues objects for deletion in FencedDeleter after the pending command serial is completed. This works until idle and no more work is submitted and the submitted/completed serial is never incremented. Have ReduceMemoryUsage() check if there any Vulkan objects pending deletion. If there are then it will potentially submit and then tick. If there was a vkQueueSubmit() the last submitted serial won't become completed immediately, all work must finish on the GPU first, and objects may still be pending deletion. Add a bool to ReduceMemoryUsage() to signal to Chrome that there is more deletion work to be done in the future and ReduceMemoryUsage() needs to be called again after a short delay. Bug: 398193014 Change-Id: I0207522ac501cbba18479f27a4113bd39598855b Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/231174 Reviewed-by: Brandon Jones <bajones@chromium.org> Commit-Queue: Kyle Charbonneau <kylechar@google.com> Reviewed-by: Corentin Wallez <cwallez@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.