From: Pekka Paalanen <pekka.paalanen(a)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.ht…
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(a)fooishbar.org>
Cc: Louis-Francis Ratté-Boulianne <lfrb(a)collabora.com>
Cc: Benjamin Gaignard <benjamin.gaignard(a)linaro.org>
Cc: Axel Davy <axel.davy(a)ens.fr>
Cc: linaro-mm-sig(a)lists.linaro.org
Cc: Daniel Vetter <daniel(a)ffwll.ch>
Cc: Thomas Hellstrom <thellstrom(a)vmware.com>
Cc: Rob Clark <robdclark(a)gmail.com>
Cc: George Kiagiadakis <george.kiagiadakis(a)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
--
2.3.6
Thanks,
pq