[PATCH v4 0/3] Add support of dmabuf in wayland/weston
Jasper St. Pierre
jstpierre at mecheye.net
Tue Jan 7 09:57:49 PST 2014
Sorry if this was discussed before, but any reason this is being put in
Wayland, and in the "wl_" namespace? DMA-BUF is a private Linux kernel
feature that's really semi-stable, not used by all drivers, and I'd hate
for it to bit-rot and tell people not to use it, the same way wl_shell
went. Having it only in the weston source tree, and in a private "dmabuf"
namespace seems like it should be enough for now.
On Tue, Jan 7, 2014 at 12:41 PM, <benjamin.gaignard at linaro.org> wrote:
> From: Benjamin Gaignard <benjamin.gaignard at linaro.org>
>
> The goal of this serie of patches is to add a way to use
> dmabuf file descriptor inside wayland and weston.
>
> In a context where there is no Mesa EGL (and so no wl_drm protocol)
> wl_dmabuf
> could be used as an alternative to shm to share buffers between hardware
> devices. If your hardware device (video decoder, renderer, etc...) need
> physical contiguous memory (obviously don't have MMU) wl_dmabuf may save
> the cost of one copy compare to shm.
>
> shm case:
> videodecoder --(copy into shm_buffer)--> weston(+pixman) --> HW renderer
>
> dmabuf case:
> videodecoder --(directly write in dmabuf buffer)--> weston(+pixman) --> HW
> renderer
>
> The server is responsible to send its supported pixel formats and the
> device
> name to be used by the client to allocate buffers.
>
> While mmap() call on dmabuf file descriptor result isn't guaranty on all
> architectures both server and client should take care of it before
> accessing
> to buffer data to avoid segfault.
>
> This series of patches include wayland and weston modifications.
> An example of how use wl_dmabuf is provided in
> weston/clients/simple-dmabuf.c
>
> === Wayland ===
> Benjamin Gaignard (1):
> Add wl_dmabuf protocol
>
> protocol/Makefile.am | 6 +-
> protocol/wayland-dmabuf.xml | 128 ++++++++++++++++++++++++
> src/Makefile.am | 12 ++-
> src/wayland-dmabuf.c | 231
> +++++++++++++++++++++++++++++++++++++++++++
> src/wayland-dmabuf.h | 123 +++++++++++++++++++++++
> 5 files changed, 496 insertions(+), 4 deletions(-)
> create mode 100644 protocol/wayland-dmabuf.xml
> create mode 100644 src/wayland-dmabuf.c
> create mode 100644 src/wayland-dmabuf.h
>
> === Weston ===
> Benjamin Gaignard (2):
> compositor-drm: allow to be a wl_dmabuf server
> add simple-dmabuf client
>
> clients/Makefile.am | 11 ++
> clients/simple-dmabuf.c | 469
> +++++++++++++++++++++++++++++++++++++++++++++++
> configure.ac | 5 +
> src/compositor-drm.c | 83 ++++++++-
> src/compositor.c | 4 +-
> src/compositor.h | 2 +
> src/pixman-renderer.c | 93 +++++++---
> 7 files changed, 637 insertions(+), 30 deletions(-)
> create mode 100644 clients/simple-dmabuf.c
>
> --
> 1.7.9.5
>
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
>
--
Jasper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20140107/b36e4307/attachment-0001.html>
More information about the wayland-devel
mailing list