Per window flips in Present with support for them in Xwayland

Roman Gilg subdiff at gmail.com
Mon Jan 29 13:33:58 UTC 2018


This is a follow up on my work as GSoC project in 2017. The patches have been
split up and some functionality has been removed in order to stabalize the
patches.

In contrast to my earlier patches
https://lists.x.org/archives/xorg-devel/2017-August/054422.html
with this patch the new window flip mode in present for now still always copies
the flip pixmap content back to the main window pixmap.

Doing this solves several problems, but of course does not improve performance.
But with the provided implementation in Xwayland at least any tearing should go
away. This can be observed very clearly in Weston. Also direct scanout of a
committed wl_buffer is made possible with this procedure, since buffer release
events are respected.

Currently there is also the possibility missing to queue vblank events and
flips on windows with smaller size than the associated xwl_window are not yet
supported.

My plan for the last point was to use subsurfaces. I have a patch for that,
which works nicely on Weston, but leads to some weird corruption in Mesa when
used with KWin. I will describe this problem in some separate mail as a RFC.

This is though independent of this patch set here, which hopefully can still be
merged for 1.20.



More information about the xorg-devel mailing list