Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
This MR implements the zwp_linux_explicit_synchronization_unstable_v1
protocol in libweston.
The implementation is partial, in the sense that the zwp_buffer_release_v1.fenced_release
event is supported only for GL rendered surfaces, but this is still a conformant implementation since we do support the immediate_release event for other cases. Note that it's safe to emit an immediate_release when a surface is assigned to a plane, since the DRM backend releases the surface buffer only after the next page flip that doesn't use the buffers has finished (see commit 4 for more).
There are a few open concern/questions which have been marked in the commit message in the respective commits.
Commits 1-4 in this MR implement the protocol itself and are the only ones strictly required for this feature, although I would ideally like to get all the proposed commits in.
Commit 5 adds some extra, but important, tests for the per-commit behavior of the implementation.
Commit 6 extends the simple-dmabuf-egl client to support explicit synchronization if available.
Commit 7 extends the simple-dmabuf-egl client to support more complex rendering (mandelbrot fragment shader + multiple draw calls), in order to help uncover potentially synchronization issues.