From: Pekka Paalanen pekka.paalanen@collabora.co.uk
Hi all,
here is the v2 iteration of the Wayland protocol extension for generic sharing of dmabufs between clients and the compositor.
The RFCv1 can be found at http://lists.freedesktop.org/archives/wayland-devel/2014-December/019006.htm...
The related tracking bug is https://bugs.freedesktop.org/show_bug.cgi?id=83881
The major changes compared to RFCv1 are: - use drm_fourcc.h to define format codes - support FB modifiers and y-flip - simplified protocol - improved documentation - flags for interlaced buffer content
As you can see, we have dropped the "RFC" status from this series now. We think this is in a good enough shape to be merged into Weston as an experimental protocol and implementation. Obviously we are still lacking on: - agreed ways to flush caches (what can we cache? EGLImages? DRM FBs?) - enumerating supported formats - supported FB modifiers? - do all imports in compositor before-hand, not as-needed (the import as DRM FB) - EGL doesn't support dmabuf import with modifiers yet - a test application not specific to (Intel) hardware (vivid?) - compositor-drm.c's import of dmabuf needs a rewrite to bypass GBM (to be done after atomic lands) - compositor-drm.c support for multi-planar buffers
This patch series is also available at: https://git.collabora.com/cgit/user/pq/weston.git/log/?h=dmabuf-v2
Cc: Daniel Stone daniel@fooishbar.org Cc: Louis-Francis Ratté-Boulianne lfrb@collabora.com Cc: Benjamin Gaignard benjamin.gaignard@linaro.org Cc: Axel Davy axel.davy@ens.fr Cc: linaro-mm-sig@lists.linaro.org Cc: Daniel Vetter daniel@ffwll.ch Cc: Thomas Hellstrom thellstrom@vmware.com Cc: Rob Clark robdclark@gmail.com Cc: George Kiagiadakis george.kiagiadakis@collabora.com
George Kiagiadakis (1): clients: add simple-dmabuf client
Louis-Francis Ratté-Boulianne (1): gl-renderer: introduce struct egl_image
Pekka Paalanen (6): protocol: add linux_dmabuf extension (v2) dmabuf: implement linux_dmabuf extension gl-renderer: add dmabuf import compositor-x11: init linux_dmabuf support compositor-drm: init linux_dmabuf support compositor-drm: dmabuf GBM import
.gitignore | 1 + Makefile.am | 25 +- clients/simple-dmabuf.c | 591 ++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 10 + protocol/linux-dmabuf.xml | 279 ++++++++++++++++++++++ src/compositor-drm.c | 49 +++- src/compositor-x11.c | 7 + src/compositor.c | 28 +++ src/compositor.h | 9 + src/gl-renderer.c | 303 +++++++++++++++++++++++- src/linux-dmabuf.c | 497 ++++++++++++++++++++++++++++++++++++++ src/linux-dmabuf.h | 84 +++++++ src/weston-egl-ext.h | 16 ++ 13 files changed, 1885 insertions(+), 14 deletions(-) create mode 100644 clients/simple-dmabuf.c create mode 100644 protocol/linux-dmabuf.xml create mode 100644 src/linux-dmabuf.c create mode 100644 src/linux-dmabuf.h