Merged Mike Blumenkrantz requested to merge zmike/mesa:copper into main

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.

Edited by Mike Blumenkrantz

Merge request reports