[PATCH 0/7] Generic dmabuf protocol RFCv1
Pekka Paalanen
ppaalanen at gmail.com
Tue Dec 16 02:19:39 PST 2014
Hi,
I'm adding more people to CC who have commented on Wayland dmabuf
attempts before and might be interested.
If you want to keep updated without monitoring wayland-devel@, you
could subscribe to
https://bugs.freedesktop.org/show_bug.cgi?id=83881
Thanks,
pq
On Fri, 12 Dec 2014 16:51:01 -0500
Louis-Francis Ratté-Boulianne <lfrb at collabora.com> wrote:
> This serie of patches by Pekka and George contains an experimental
> implementation of "zlinux_dmabuf" protocol.
>
> See these links for more information about the design and failed previous
> attempts:
>
> http://lists.freedesktop.org/archives/wayland-devel/2014-June/015362.html
> https://bugs.freedesktop.org/show_bug.cgi?id=83881
>
> This protocol allows clients to wrap a dmabuf into a wl_buffer, and push that
> into the compositor for display. The compositor then uses GBM to import that
> wl_buffer as a bo for compositing with GL (via EGLImage) or direct scanout as a
> DRM FB object.
>
> Note that a round-trip is needed when creating the buffer because there is no
> way to communicate all dmabuf constraints from the compositor to a client
> before-hand. They are simply too complicated and changing to be described in
> a Wayland protocol extension. In fact, there are existing APIs like EGL (the
> dmabuf import extension) that are based on trial-and-error rather than knowing
> the constraints before-hand.
>
> However, the protocol design is far far away from complete. Even the kernel
> developers are still discussing, how cross-device support for dmabufs should
> work, and what is the proper information split between the kernel and the user
> space. How do you communicate, or even describe, things like tiling formats.
>
> But, we should start from somewhere, and this patch is pushing the user space
> part forward a bit.
>
> The extension is especially useful for video players and this pipeline has been
> demonstrated to work with GStreamer:
>
> http://cgit.collabora.com/git/user/gkiagia/gst-plugins-bad.git/commit/?h=inteldmabufupload&id=727732c6de87949278cd53436ba2c430956cd8f9
>
>
> George Kiagiadakis (1):
> clients: add simple-dmabuf client
>
> Pekka Paalanen (6):
> protocol: add linux_dmabuf extension RFCv1
> 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 | 24 +-
> clients/simple-dmabuf.c | 578 ++++++++++++++++++++++++++++++++++++++++++++++
> configure.ac | 9 +
> protocol/linux-dmabuf.xml | 224 ++++++++++++++++++
> src/compositor-drm.c | 31 ++-
> src/compositor-x11.c | 5 +
> src/gl-renderer.c | 103 +++++++++
> src/linux-dmabuf.c | 322 ++++++++++++++++++++++++++
> src/linux-dmabuf.h | 45 ++++
> 10 files changed, 1336 insertions(+), 6 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
>
More information about the wayland-devel
mailing list