| commit | 13600cd646900af9ca24d3c3bcc086f5989d8d33 | [log] [tgz] |
|---|---|---|
| author | Brandon Jones <bajones@chromium.org> | Wed Jul 02 12:51:21 2025 -0700 |
| committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Jul 02 12:51:21 2025 -0700 |
| tree | 7de3ec24653f285ce9941149ce61c3a74e1d05b6 | |
| parent | 48886872a28bae958e1f9cd5b85de52b6cabcf23 [diff] |
Cache VkFramebuffers (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 crashes reported in https://crbug.com/425093010, which seem limited to devices with Samsung Xclipse GPUs (AMD-based). 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: I3fcbf374d530ecc2be0db87ee70d781e1b249699 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249354 Commit-Queue: Brandon Jones <bajones@chromium.org> Reviewed-by: Loko Kung <lokokung@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.