[wayland-protocols v3] linux-dmabuf: advertise format modifiers with modifier event
Varad Gautam
varadgautam at gmail.com
Tue Jan 17 14:28:57 UTC 2017
Hi,
On Tue, Jan 17, 2017 at 7:40 PM, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> On Mon, 21 Nov 2016 15:47:39 +0530
> Varad Gautam <varadgautam at gmail.com> wrote:
>
>> From: Varad Gautam <varad.gautam at collabora.com>
>>
>> advertise the supported fourcc format modifiers along with supported
>> formats to the client.
>>
>> 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)
>>
>> Signed-off-by: Varad Gautam <varad.gautam at collabora.com>
>> Reviewed-by: Yong Bakos <ybakos at humanoriented.com>
>> ---
>> unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml | 25 +++++++++++++++++++---
>> 1 file changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
>> index a0aa42e..cc5d604 100644
>> --- a/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
>> +++ b/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
>> @@ -26,7 +26,7 @@
>> THIS SOFTWARE.
>> </copyright>
>>
>> - <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:
>> https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_image_dma_buf_import.txt
>> @@ -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.
>
> Hi,
>
> so does this mean that when v3 is bound, the client will receive *both*
> 'format' and 'modifier' events?
>
> What does it mean if a format comes via 'format' event but not via
> 'modifiers' event?
>
> Can a format come only via 'modifiers' event?
Bind triggers both `format` and `modifier` events. - the `format` event carries
only the DRM_FORMAT_* code, (preserved from v1), whereas `modifier`
sends a supported <format, modifier> pair. So, for each supported format,
there would be one `format` event, and as many `modifier` events as the
number of modifiers supported for that format.
Thanks,
Varad
>
> Otherwise looks fine to me. With those clarifications it's at least:
> Acked-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
>
> The event size is 5 words which is 20 bytes. One wire buffer can hold
> around 200 such events. If we ever need to send more format/modifier
> combinations than that, well, I suppose we'll cross that bridge then.
>
>
> Thanks,
> pq
>
>>
>> The following are required from clients:
>>
>> @@ -110,9 +111,27 @@
>> </description>
>> <arg name="format" type="uint" summary="DRM_FORMAT code"/>
>> </event>
>> +
>> + <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>
>>
>> - <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