Merge changes I181b926f,Ic8a4baf7

* changes:
  Vulkan: fix vkQueuePresentKHR logic when queueBuffer fails
  Vulkan: refactor and unify the swapchain destroy