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.