[Bug 711155] wayland: add wl_drm support to wayland sink

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jan 16 07:41:04 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=711155
  GStreamer | gst-plugins-bad | 1.x

--- Comment #12 from Daniel Stone <daniel at fooishbar.org> 2014-01-16 15:41:00 UTC ---
I think you've misunderstood the role of dmabuf.

The only thing dmabuf does, is allow potentially cross-subsystem mapping of
already allocated buffers, and allow userspace to pass a reference to these
buffers in the form of file descriptors.  That's it.  The standard example is
dequeuing a frame with V4L, asking V4L for a dmabuf fd, then passing that fd to
your display system (or GL driver) to display, without any copies along the
way.

It doesn't do allocation (we couldn't even work out how to make a generic GPU
buffer allocation interface, so GEM doesn't even standardise this*), it doesn't
do a mapping, and where it came from is irrelevant.

The allocation and usage is still in the subsystems, as is a subsystem-specific
call to extract a dmabuf fd from an existing buffer, or import a dmabuf fd in
for use.  So whether it's DRM, ION, V4L, or whatever is irrelevant: all that
matters is that you're able to import it.

This will not change: you won't get a generic dmabuf allocator.  Even mmap() to
userspace has been pretty controversial.

As for wl_dmabuf as a generic API, yes, there is a proposal, but so far it's
not merged into Weston core.  And, thanks to dmabuf not having an allocator,
that moves us even _further_ away from having the sink be able to allocate
buffers, since that would have to be done with something like, say, wl_drm.

http://lists.freedesktop.org/archives/wayland-devel/2013-December/012455.html

*: Except that scanout (i.e. display) buffers which are only ever rendered into
with software.  These 'dumb' buffers are a special case to support boot screens
or unaccelerated display systems with generic code.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list