tu: Fix missing implementation of creating images from swapchains
What does this MR do and why?
On top of parts of !28571 (merged).
This is my attempt at fixing the missing implementation of creating images from swapchains, so that we can enable a couple of extensions that are implemented in common code. EXT_swapchain_maintenance1 is needed for Gamescope. (It's based on my NVK patch at !28203 (merged))
Turnip is missing VkImageSwapchainCreateInfoKHR
and VkBindImageMemorySwapchainInfoKHR
which causes the CTS to segfault.
I haven't been able to test the patch myself and @frog said they'd look at it but I've figured I'd open a draft MR to get more eyes on the problem.
The relevant tests are dEQP-VK.wsi.*.maintenance1.*
and there was a CTS bug that was recently fixed by https://github.com/KhronosGroup/VK-GL-CTS/commit/a8466bf6ea98f6cd6733849ad8081775318a3e3e.