Vulkan client leaks its VkCommandPool
The command pool constructed in client_vk_swapchain_create
is never destroyed, even after the OpenXR session and instance are both destroyed. It looks like client_vk_compositor_destroy
is intended to do this, but experimenting in a debugger indicates that said function is never called. I attempted to trace the intended path but got lost in a maze of twisty function pointers.
This causes undefined behavior when the Vulkan device is destroyed, and generates errors from validation layers installed by the application, which can cause significant confusion as it appears to attribute a bug to the application.