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.