Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Vulkan: Let XFB's BufferHelper keep SharedDescriptorSetCacheKey
instead of BufferBlock. Unlike uniform buffers which uses VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, the descriptorSet for transform feedback buffers also have the buffer offset baked in, so it is not helpful to use BufferBlock's serial in the cache key. This CL changes to use BufferHelper's serial for cache key. With this we can also let BufferHelper keep the SharedDescriptorSetCacheKey instead of store it in the BufferBlock. In the case that BufferHelper gets destroyed and recreated, the SharedDescriptorSetCacheKey will also get destroyed. Right now because we cache BufferBlock serial, the SharedDescriptorSetCacheKey will not be destroyed even though BufferHelper is destroyed and there is very rare case that it can be reused, thus causing BufferBlock's SharedDescriptorSetCacheKey queue keep increasing, which causes perf issue. Bug: b/384839847 Change-Id: I76b8f0d56486079740cca302e8b14a04a6e24074 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6115111 Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
- Loading branch information