[PATCH wayland-protocols v4] linux-dmabuf: advertise format modifiers with modifier event

Varad Gautam varadgautam at gmail.com
Thu Jan 19 08:18:02 UTC 2017

From: Varad Gautam <varad.gautam at collabora.com>

advertise the supported fourcc format modifiers along with supported
formats to the client. the 'modifier' event introduced here is
intended to replace the 'format' event from zwp_linux_dmabuf_v1
version 1.

bump zwp_linux_dmabuf_v1, zwp_linux_buffer_params_v1 interface
versions to 3.

v2: specify request name in event description for clarity (Yong Bakos)
v3: grammar fixup (Yong Bakos)
v4: add deprecation warning against 'format' event usage (pq)

Signed-off-by: Varad Gautam <varad.gautam at collabora.com>
Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
 unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml | 30 +++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
index 22e7af9..1d83268 100644
--- a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
+++ b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
@@ -26,7 +26,7 @@
-  <interface name="zwp_linux_dmabuf_v1" version="2">
+  <interface name="zwp_linux_dmabuf_v1" version="3">
     <description summary="factory for creating dmabuf-based wl_buffers">
       Following the interfaces from:
@@ -34,7 +34,8 @@
       This interface offers ways to create generic dmabuf-based
       wl_buffers. Immediately after a client binds to this interface,
-      the set of supported formats is sent with 'format' events.
+      the set of supported formats and format modifiers is sent with
+      'format' and 'modifier' events.
       The following are required from clients:
@@ -107,12 +108,35 @@
         zwp_linux_buffer_params_v1::create request.
         XXX: Can a compositor ever enumerate them?
+        Warning: the 'format' event is likely to be deprecated and replaced
+        with the 'modifier' event introduced in zwp_linux_dmabuf_v1 version 3,
+        described below. Please refrain from using the information received
+        from this event.
       <arg name="format" type="uint" summary="DRM_FORMAT code"/>
+    <event name="modifier" since="3">
+      <description summary="supported buffer format modifier">
+        This event advertises the formats that the server supports, along with
+        the modifiers supported for each format. All the supported modifiers
+        for all the supported formats are advertised once when the client
+        binds to this interface. A roundtrip after binding guarantees that
+        the client has received all supported format-modifier pairs.
+        For the definition of the format and modifier codes, see the
+        zwp_linux_buffer_params_v1::create request.
+      </description>
+      <arg name="format" type="uint" summary="DRM_FORMAT code"/>
+      <arg name="modifier_hi" type="uint"
+           summary="high 32 bits of layout modifier"/>
+      <arg name="modifier_lo" type="uint"
+           summary="low 32 bits of layout modifier"/>
+    </event>
-  <interface name="zwp_linux_buffer_params_v1" version="2">
+  <interface name="zwp_linux_buffer_params_v1" version="3">
     <description summary="parameters for creating a dmabuf-based wl_buffer">
       This temporary object is a collection of dmabufs and other
       parameters that together form a single logical buffer. The temporary

More information about the wayland-devel mailing list