Simon Ser
Simon Ser
Before trying an atomic test commit, check the format & modifier is compatible. It's not clear it's a good idea yet: all we get is a FB ID. We can...
With https://github.com/emersion/libliftoff/issues/6, we try to re-use the previous plane allocation if (given the properties that changed) we won't be able to improve it. However, if we think we can improve...
Atomic test-only commits make it somewhat difficult to find the optimal solution. Driver-specific plugins in libliftoff would allow to find a better plane allocation, and would help with https://github.com/emersion/libliftoff/issues/19.
It's still premature to plan anything, but in the long run a goal would be to indicate the preferred buffer/modifier format to clients. The idea would be to figure out...
Another use-case for underlays (see #7) would be mapping a layer to the underlay while the layer is supposed to be _over_ the primary plane. To do so, a punch-through...
https://github.com/emersion/libliftoff/issues/12 would allow us to check if the format is missing an alpha channel. The compositor could also set the opaque region of the FB (usually submitted as a hint...
For instance, the compositor might prefer to put the focused window's layer on a plane.
Not sure how to detect "completely opaque layers" yet. We'll probably need https://github.com/emersion/libliftoff/issues/12. Maybe also expose a function to set an opaque region hint?
If zpos is mutable, set it as needed depending on the layer configuration. Properly handle atomic test commit failures (some zpos combinations might be not supported by the driver). Preliminary...
This results in memory leaks. The fix is to use `runtime.SetFinalizer` (see e.g. https://github.com/emersion/go-tsm/blob/master/vte.go#L47).