commit | ebab9132b77e02bcbca029d7ef0da495f4027769 | [log] [tgz] |
---|---|---|
author | Kyle Charbonneau <kylechar@google.com> | Fri Feb 21 20:46:17 2025 -0800 |
committer | Dawn LUCI CQ <dawn-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Feb 21 20:46:17 2025 -0800 |
tree | e85bf501575f40cc2e5c5a02194dd9f80f7a5928 | |
parent | fe48e8c532ee770c9644f97e662416c2285a8254 [diff] |
Skip building mCacheKey when not needed RenderPipeline[Vk]::mCacheKey contains all shader SPIR-V and all the Vulkan creation struct data. This results in a large mCacheKey size with graphite, it's observed to be in tens of kilobytes and it quickly adds up to megabytes for all of the RenderPipeline objects that are kept alive. mCacheKey is only used for serializing VkPipelineCache objects into BlobCache. This path isn't used with the monolithic pipeline cache so it's all unnecessary memory usage. Only need to build the cache key if Toggle::VulkanMonolithicPipelineCache isn't enabled. Bug: 397934765 Change-Id: I99c2a0ed819a4fe364e71aac7ef75fb470cd6102 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/227154 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Kyle Charbonneau <kylechar@google.com>
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.