summaryrefslogtreecommitdiff
path: root/recipes-graphics
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2023-01-17 16:14:09 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2023-01-25 16:21:24 +0100
commit4874eee208cb516500e20b7aa5e3a1627ce5fddb (patch)
tree144f21ff76dac8c00a6af0104a3293ae8731ab3a /recipes-graphics
parent2ed5569e97bee1c200b55c7181056544a6016cf6 (diff)
wayland-protocols: import from meta-arago
From dunfell, update to new override syntax. Related-to: ELB-4978 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-graphics')
-rw-r--r--recipes-graphics/wayland/wayland-protocols/0001-wayland-drm-Add-wayland-drm-protocol-to-stable.patch179
-rw-r--r--recipes-graphics/wayland/wayland-protocols/0002-wayland-drm-Update-to-version-2.patch75
-rw-r--r--recipes-graphics/wayland/wayland-protocols_%.bbappend13
3 files changed, 267 insertions, 0 deletions
diff --git a/recipes-graphics/wayland/wayland-protocols/0001-wayland-drm-Add-wayland-drm-protocol-to-stable.patch b/recipes-graphics/wayland/wayland-protocols/0001-wayland-drm-Add-wayland-drm-protocol-to-stable.patch
new file mode 100644
index 0000000..7cb1750
--- /dev/null
+++ b/recipes-graphics/wayland/wayland-protocols/0001-wayland-drm-Add-wayland-drm-protocol-to-stable.patch
@@ -0,0 +1,179 @@
+From aad79976f85fda12ade80a0bd760733a6ffb519e Mon Sep 17 00:00:00 2001
+From: Ramprasad N <x0038811@ti.com>
+Date: Mon, 26 Feb 2018 09:22:00 +0530
+Subject: [PATCH] wayland-drm: Add wayland-drm protocol to stable
+
+wayland-drm protocol is missing in the protocols list since this
+protocol is MESA specific. For waylandsink gstreamer support
+wayland-drm protocol is needed.
+
+Signed-off-by: Ramprasad N <x0038811@ti.com>
+---
+ stable/wayland-drm/wayland-drm.xml | 155 +++++++++++++++++++++++++++++++++++++
+ 1 file changed, 155 insertions(+)
+ create mode 100644 stable/wayland-drm/wayland-drm.xml
+
+diff --git a/stable/wayland-drm/wayland-drm.xml b/stable/wayland-drm/wayland-drm.xml
+new file mode 100644
+index 0000000..265d4f8
+--- /dev/null
++++ b/stable/wayland-drm/wayland-drm.xml
+@@ -0,0 +1,155 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<protocol name="drm">
++
++ <copyright>
++ Copyright © 2008-2011 Kristian Høgsberg
++ Copyright © 2010-2011 Intel Corporation
++
++ Permission to use, copy, modify, distribute, and sell this
++ software and its documentation for any purpose is hereby granted
++ without fee, provided that\n the above copyright notice appear in
++ all copies and that both that copyright notice and this permission
++ notice appear in supporting documentation, and that the name of
++ the copyright holders not be used in advertising or publicity
++ pertaining to distribution of the software without specific,
++ written prior permission. The copyright holders make no
++ representations about the suitability of this software for any
++ purpose. It is provided "as is" without express or implied
++ warranty.
++
++ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
++ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
++ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
++ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
++ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
++ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
++ THIS SOFTWARE.
++ </copyright>
++
++ <!-- drm support. This object is created by the server and published
++ using the display's global event. -->
++ <interface name="wl_drm" version="1">
++ <enum name="error">
++ <entry name="authenticate_fail" value="0"/>
++ <entry name="invalid_format" value="1"/>
++ <entry name="invalid_name" value="2"/>
++ </enum>
++
++ <enum name="format">
++ <!-- The drm format codes match the #defines in drm_fourcc.h.
++ The formats actually supported by the compositor will be
++ reported by the format event. -->
++ <entry name="c8" value="0x20203843"/>
++ <entry name="rgb332" value="0x38424752"/>
++ <entry name="bgr233" value="0x38524742"/>
++ <entry name="xrgb4444" value="0x32315258"/>
++ <entry name="xbgr4444" value="0x32314258"/>
++ <entry name="rgbx4444" value="0x32315852"/>
++ <entry name="bgrx4444" value="0x32315842"/>
++ <entry name="argb4444" value="0x32315241"/>
++ <entry name="abgr4444" value="0x32314241"/>
++ <entry name="rgba4444" value="0x32314152"/>
++ <entry name="bgra4444" value="0x32314142"/>
++ <entry name="xrgb1555" value="0x35315258"/>
++ <entry name="xbgr1555" value="0x35314258"/>
++ <entry name="rgbx5551" value="0x35315852"/>
++ <entry name="bgrx5551" value="0x35315842"/>
++ <entry name="argb1555" value="0x35315241"/>
++ <entry name="abgr1555" value="0x35314241"/>
++ <entry name="rgba5551" value="0x35314152"/>
++ <entry name="bgra5551" value="0x35314142"/>
++ <entry name="rgb565" value="0x36314752"/>
++ <entry name="bgr565" value="0x36314742"/>
++ <entry name="rgb888" value="0x34324752"/>
++ <entry name="bgr888" value="0x34324742"/>
++ <entry name="xrgb8888" value="0x34325258"/>
++ <entry name="xbgr8888" value="0x34324258"/>
++ <entry name="rgbx8888" value="0x34325852"/>
++ <entry name="bgrx8888" value="0x34325842"/>
++ <entry name="argb8888" value="0x34325241"/>
++ <entry name="abgr8888" value="0x34324241"/>
++ <entry name="rgba8888" value="0x34324152"/>
++ <entry name="bgra8888" value="0x34324142"/>
++ <entry name="xrgb2101010" value="0x30335258"/>
++ <entry name="xbgr2101010" value="0x30334258"/>
++ <entry name="rgbx1010102" value="0x30335852"/>
++ <entry name="bgrx1010102" value="0x30335842"/>
++ <entry name="argb2101010" value="0x30335241"/>
++ <entry name="abgr2101010" value="0x30334241"/>
++ <entry name="rgba1010102" value="0x30334152"/>
++ <entry name="bgra1010102" value="0x30334142"/>
++ <entry name="yuyv" value="0x56595559"/>
++ <entry name="yvyu" value="0x55595659"/>
++ <entry name="uyvy" value="0x59565955"/>
++ <entry name="vyuy" value="0x59555956"/>
++ <entry name="ayuv" value="0x56555941"/>
++ <entry name="nv12" value="0x3231564e"/>
++ <entry name="nv21" value="0x3132564e"/>
++ <entry name="nv16" value="0x3631564e"/>
++ <entry name="nv61" value="0x3136564e"/>
++ <entry name="yuv410" value="0x39565559"/>
++ <entry name="yvu410" value="0x39555659"/>
++ <entry name="yuv411" value="0x31315559"/>
++ <entry name="yvu411" value="0x31315659"/>
++ <entry name="yuv420" value="0x32315559"/>
++ <entry name="yvu420" value="0x32315659"/>
++ <entry name="yuv422" value="0x36315559"/>
++ <entry name="yvu422" value="0x36315659"/>
++ <entry name="yuv444" value="0x34325559"/>
++ <entry name="yvu444" value="0x34325659"/>
++ </enum>
++
++ <!-- Call this request with the magic received from drmGetMagic().
++ It will be passed on to the drmAuthMagic() or
++ DRIAuthConnection() call. This authentication must be
++ completed before create_buffer could be used. -->
++ <request name="authenticate">
++ <arg name="id" type="uint"/>
++ </request>
++
++ <!-- Create a wayland buffer for the named DRM buffer. The DRM
++ surface must have a name using the flink ioctl -->
++ <request name="create_buffer">
++ <arg name="id" type="new_id" interface="wl_buffer"/>
++ <arg name="name" type="uint"/>
++ <arg name="width" type="int"/>
++ <arg name="height" type="int"/>
++ <arg name="stride" type="uint"/>
++ <arg name="format" type="uint"/>
++ </request>
++
++ <!-- Create a wayland buffer for the named DRM buffer. The DRM
++ surface must have a name using the flink ioctl -->
++ <request name="create_planar_buffer">
++ <arg name="id" type="new_id" interface="wl_buffer"/>
++ <arg name="name" type="uint"/>
++ <arg name="width" type="int"/>
++ <arg name="height" type="int"/>
++ <arg name="format" type="uint"/>
++ <arg name="offset0" type="int"/>
++ <arg name="stride0" type="int"/>
++ <arg name="offset1" type="int"/>
++ <arg name="stride1" type="int"/>
++ <arg name="offset2" type="int"/>
++ <arg name="stride2" type="int"/>
++ </request>
++
++ <!-- Notification of the path of the drm device which is used by
++ the server. The client should use this device for creating
++ local buffers. Only buffers created from this device should
++ be be passed to the server using this drm object's
++ create_buffer request. -->
++ <event name="device">
++ <arg name="name" type="string"/>
++ </event>
++
++ <event name="format">
++ <arg name="format" type="uint"/>
++ </event>
++
++ <!-- Raised if the authenticate request succeeded -->
++ <event name="authenticated"/>
++ </interface>
++
++</protocol>
+--
+1.9.1
+
diff --git a/recipes-graphics/wayland/wayland-protocols/0002-wayland-drm-Update-to-version-2.patch b/recipes-graphics/wayland/wayland-protocols/0002-wayland-drm-Update-to-version-2.patch
new file mode 100644
index 0000000..3c9da42
--- /dev/null
+++ b/recipes-graphics/wayland/wayland-protocols/0002-wayland-drm-Update-to-version-2.patch
@@ -0,0 +1,75 @@
+From 4bfbb6c8236c648f7fd8090a540e3590674dbd81 Mon Sep 17 00:00:00 2001
+From: Angela Stegmaier <angelabaker@ti.com>
+Date: Fri, 19 Jul 2019 15:19:17 -0500
+Subject: [PATCH 2/2] wayland-drm: Update to version 2
+
+Update the wayland-drm protocol to version 2
+
+Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
+---
+ stable/wayland-drm/wayland-drm.xml | 35 +++++++++++++++++++++++++++++++++--
+ 1 file changed, 33 insertions(+), 2 deletions(-)
+
+diff --git a/stable/wayland-drm/wayland-drm.xml b/stable/wayland-drm/wayland-drm.xml
+index 265d4f8..83aa561 100644
+--- a/stable/wayland-drm/wayland-drm.xml
++++ b/stable/wayland-drm/wayland-drm.xml
+@@ -29,7 +29,7 @@
+
+ <!-- drm support. This object is created by the server and published
+ using the display's global event. -->
+- <interface name="wl_drm" version="1">
++ <interface name="wl_drm" version="2">
+ <enum name="error">
+ <entry name="authenticate_fail" value="0"/>
+ <entry name="invalid_format" value="1"/>
+@@ -39,7 +39,8 @@
+ <enum name="format">
+ <!-- The drm format codes match the #defines in drm_fourcc.h.
+ The formats actually supported by the compositor will be
+- reported by the format event. -->
++ reported by the format event. New codes must not be added,
++ unless directly taken from drm_fourcc.h. -->
+ <entry name="c8" value="0x20203843"/>
+ <entry name="rgb332" value="0x38424752"/>
+ <entry name="bgr233" value="0x38524742"/>
+@@ -150,6 +151,36 @@
+
+ <!-- Raised if the authenticate request succeeded -->
+ <event name="authenticated"/>
++
++ <enum name="capability" since="2">
++ <description summary="wl_drm capability bitmask">
++ Bitmask of capabilities.
++ </description>
++ <entry name="prime" value="1" summary="wl_drm prime available"/>
++ </enum>
++
++ <event name="capabilities">
++ <arg name="value" type="uint"/>
++ </event>
++
++ <!-- Version 2 additions -->
++
++ <!-- Create a wayland buffer for the prime fd. Use for regular and planar
++ buffers. Pass 0 for offset and stride for unused planes. -->
++ <request name="create_prime_buffer" since="2">
++ <arg name="id" type="new_id" interface="wl_buffer"/>
++ <arg name="name" type="fd"/>
++ <arg name="width" type="int"/>
++ <arg name="height" type="int"/>
++ <arg name="format" type="uint"/>
++ <arg name="offset0" type="int"/>
++ <arg name="stride0" type="int"/>
++ <arg name="offset1" type="int"/>
++ <arg name="stride1" type="int"/>
++ <arg name="offset2" type="int"/>
++ <arg name="stride2" type="int"/>
++ </request>
++
+ </interface>
+
+ </protocol>
+--
+1.9.1
+
diff --git a/recipes-graphics/wayland/wayland-protocols_%.bbappend b/recipes-graphics/wayland/wayland-protocols_%.bbappend
new file mode 100644
index 0000000..ef635ca
--- /dev/null
+++ b/recipes-graphics/wayland/wayland-protocols_%.bbappend
@@ -0,0 +1,13 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+PR:append:am62xx = ".arago2"
+
+SRC_URI:append:am62xx = " \
+ file://0001-wayland-drm-Add-wayland-drm-protocol-to-stable.patch \
+ file://0002-wayland-drm-Update-to-version-2.patch \
+"
+
+do_install:append:am62xx () {
+ install -d ${D}${datadir}/wayland-protocols/stable/wayland-drm
+ cp ${S}/stable/wayland-drm/wayland-drm.xml ${D}${datadir}/wayland-protocols/stable/wayland-drm/
+}