KOPPER!
This is the MR that will (hopefully?) eventually become the kopper interface for zink to enable native wsi handling
depends on (and at least partially includes):
The kopper interface was brainstormed by @ajax and then chainsawed into existence by me. its premise is that it provides some minimal amount of display server info to zink (basically whatever's needed to successfully create a swapchain) and then zink passes it off to vulkan wsi. this means it skips nearly all of dri2/3 in the frontend and is somewhat close to the existing swrast codepath.
on the zink side, most of the changes required are:
- swapchain management
- swapchain surface management
- semaphore handling
In my testing, everything "just works" now. There's one regression with texture-from-pixmap not working, but even more are miraculously passing. The only thing that definitely doesn't work is running any kind of xserver because glamor is hard.