Commit ac4f52c4f7ffb84408f3ca677cebd74ee5a9be52

Steven Noonan 2023-06-22T01:47:33

Vulkan: release all resources on RendererVk destroy The most important part of this is unloading the libvulkan handle. We open the handle in ::initialize but we were previously only unloading it in ::~RendererVk[1]. Since a DisplayVk (and RendererVk) are not destructed in between context creations, this meant that the libvulkan library handle reference count only increased, never decreased. [1] Which, incidentally, never gets invoked, ever. We create Display instances and they live forever in a static structure and we only ::initialize/::terminate them. Bug: angleproject:8225 Change-Id: I03da9b19f0c4ae3b5efacd07880aadb7ee77ebf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4636882 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>