can someone tell me if there is a function that, for a given VkSurface, gives me the VkInstance object that was used to create the VkSurface?
I experiment with qt and vulkan and when trying to use a surface I get the following errors from the validation layer:
vkDebug: Validation: 0: Validation Error: [ VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x801f247e | Invalid VkSurfaceKHR Object 0x55555777b560. The Vulkan spec states: surface must be a valid VkSurfaceKHR handle (https://vulkan.lunarg.com/doc/view/18.104.22.168/linux/1.2-extensions/vkspec.html#VUID-vkGetPhysicalDeviceSurfaceSupportKHR-surface-parameter)
vkDebug: Validation: 0: Validation Error: [ UNASSIGNED-Threading-Info ] Object 0: handle = 0x55555777b560, type = VK_OBJECT_TYPE_SURFACE_KHR; | MessageID = 0x5d6b67e2 | Couldn’t find VkSurfaceKHR Object 0x55555777b560. This should not happen and may indicate a bug in the application.
I would like to know if this error can happen if a VkSurface is not used with the VkInstance it was created from.