Vulkan: Optimize DescriptorSetLayout with no bindings There is no need to unpack bindings of DescriptorSetLayoutDesc and call into vkCreateDescriptorSetLayout when there are no bindings. Insert a placeholder vk::DescriptorSetLayout into DescriptorSetLayoutCache. This reduces the number of Vulkan handles created and can be reused across multiple pipelines that have DescriptorSetLayoutDesc with no bindings. Bug: angleproject:8677 Change-Id: Ifc0d199697a95f3a5c037fd85520220a512d7949 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5483308 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>