| commit | ddf2e1f61d20171ecd10ae3be70acb750a56686d | [log] [tgz] |
|---|---|---|
| author | Brandon Jones <bajones@chromium.org> | Tue Jul 08 13:30:05 2025 -0700 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jul 08 13:30:05 2025 -0700 |
| tree | 2ecc93df6e4ff29c542d3f53a410279dac8b3393 | |
| parent | 1ab31225062d76ec23b7af38a90f9d934cd117e7 [diff] |
Cache VkFramebuffers (re-reland) Creation of VkFramebuffers is more expensive than expected on mobile devices, so this introduces a framebuffer cache to reduce that overhead. Previous attempt at landing was reverted after an MSan error on Linux. See https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_msan_rel_ng/10596/test-results Prior to that, had trouble landing due to crashes reported in https://crbug.com/425093010. Discovered that the likely reason for the crashes was that Vulkan may reuse handle values for things like image views, making them inappropriate for use as cache keys, as I was doing previously. Refactored this CL to use explicit unique IDs instead, which resolved the problems on the hardware I tested against. Bug: 416088623 Change-Id: Ic22483f0d5388ab8ea3fc307bcc69910d6699888 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/251254 Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Brandon Jones <bajones@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.