After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 791617 - waylandsink: fix dmabuf import for zwp_linux_dmabuf_v1 interface version 3
waylandsink: fix dmabuf import for zwp_linux_dmabuf_v1 interface version 3
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-12-14 14:52 UTC by Philipp Zabel
Modified: 2017-12-14 17:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
wldisplay: update to zwp_linux_dmabuf_v1 interface version 3 (2.82 KB, patch)
2017-12-14 14:52 UTC, Philipp Zabel
rejected Details | Review

Description Philipp Zabel 2017-12-14 14:52:56 UTC
Created attachment 365545 [details] [review]
wldisplay: update to zwp_linux_dmabuf_v1 interface version 3

Weston 3.0 implements the zwp_linux_dmabuf_v1 interface version 3, which sends "modifier" events. As far as I am aware, "format" events, which are likely to become deprecated, have never been sent.
Therefore waylandsink currently always probes an empty format list for video/x-raw(memory:DMABuf). This can be fixed by updating the the zwp_linux_dmabuf_v1 interface to version 3.

As long as DRM modifiers can't be negotiated through caps, all formats that are reported with non-linear modifiers can be dropped.
Comment 1 Nicolas Dufresne (ndufresne) 2017-12-14 17:11:42 UTC
Review of attachment 365545 [details] [review]:

I have the same patch, but it's just hiding a compositor bug. We properly advertise version 1 where this new callback does not exist, so it's wrong to set it.

::: ext/wayland/wldisplay.c
@@ +248,3 @@
   } else if (g_strcmp0 (interface, "zwp_linux_dmabuf_v1") == 0) {
     self->dmabuf =
+        wl_registry_bind (registry, id, &zwp_linux_dmabuf_v1_interface, 3);

Make absolutly no sense to request 3 if we we implement 1. I'll accept moving forward if something is done with the new feature. Meanwhile, complain to the respective compositor project.