Use an empty dummy texture for unbound slots, as the driver can't know
what the shader will sample from.
Also remove any sort of implicit attempts at compaction of slots.
Import libliftoff as subproject and plumb our planes through it.
Wait for a flip to complete immediately after queuing it for now.
Also immediately wait for cursor image uploads, as we don't have to
do Vulkan rendering anymore after queuing an upload.
Cursor shows up with format hack, but is badly corrupt. We might need
to use a DRM dumb_fb rather than going through the same Vulkan image.
Alpha bits of surfaces are ignored again, need to make Steam select
an ARGB visual for overlay windows, probably.
Setting up the "alpha" plane property somehow makes overlays not
show up at all despite liftoff happily letting us go with scanout.
We're in sole control of the cursor now, there's no "fake" cursor anymore.
Don't attempt to hide it in X, it doesn't matter.
Also Vulkan rendering of a texture populated from arbitrary bits.
Also add the third layer to the shader... Badly needs clean-up.
Doesn't help running out right now, as the DMA-BUFs from a new app
frame get imported as different Vulkan textures. Not sure how to
ensure continuity across several sightings of the original swapchain
images yet.