Vulkan: Avoid duplicate sharedCacheKey in mDescriptorSetCacheManager There are usage cases that same buffer/texture bound to multiple binding points. When we have a cache miss, we end up walking through all binding points and record the sharedCacheKey there (so that when the buffer/texture is destroyed, the cache will be destroyed). This causes same cacheKey added to the same buffer/texture multiple times. This CL keeps track of last added sharedCacheKey and do a quick check against it and it matches, we just early return. With this CL, SharedCacheKeyManager::mEmptySlotBits max vector size reduced from ~200 to ~70 for batman_telltale. Bug: b/384839847 Change-Id: I0d405c18b3f1c807da4c7a402392667630bd7f1f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6306687 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>