summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2017-02-23 16:49:49 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-02-23 12:49:52 -0800
commitc3e6178acfb4a050852b6b52a97cdeda3f9ce666 (patch)
treeb7be846d0bee0710f6c959f37ad9a41091aaabf5 /meta/recipes-graphics
parent01be63828c2d88ca10524716b357a73023743443 (diff)
downloadpoky-c3e6178acfb4a050852b6b52a97cdeda3f9ce666.tar.gz
libva: Find the correct wayland-scanner
* Add a patch to make sure wayland-scanner from native sysroot is used * Depend on wayland-native to get the scanner into the sysroot * Add a patch to make sure the scanner really is used (From OE-Core rev: 65cfc8aca3ff7e39453977a0215a350d13cb85ef) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics')
-rw-r--r--meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch37
-rw-r--r--meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch339
-rw-r--r--meta/recipes-graphics/libva/libva_1.7.3.bb6
3 files changed, 380 insertions, 2 deletions
diff --git a/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch b/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch
new file mode 100644
index 0000000000..a99c225ff6
--- /dev/null
+++ b/meta/recipes-graphics/libva/files/0001-configure.ac-Use-wayland-scanner-in-PATH.patch
@@ -0,0 +1,37 @@
1From 0af30602502035155929dd2a14482b82a9747cf8 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 23 Feb 2017 15:23:15 +0200
4Subject: [PATCH] configure.ac: Use wayland-scanner in PATH
5
6pkg-config will give us the wrong wayland-scanner location.
7Use the one in path instead: it will be from native sysroot.
8
9This is a workaround and should be fixed upstream: preferably
10with the same fix as all the other wayland-scanner users
11(see YOCTO #11100).
12
13Upstream-Status: Inappropriate [workaround]
14Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
15---
16 configure.ac | 5 +----
17 1 file changed, 1 insertion(+), 4 deletions(-)
18
19diff --git a/configure.ac b/configure.ac
20index 64eddf2..5536f35 100644
21--- a/configure.ac
22+++ b/configure.ac
23@@ -273,10 +273,7 @@ if test "$enable_wayland" = "yes"; then
24 PKG_CHECK_MODULES([WAYLAND], [wayland-client >= wayland_api_version],
25 [USE_WAYLAND="yes"], [:])
26 if test "$USE_WAYLAND" = "yes"; then
27-
28- WAYLAND_PREFIX=`$PKG_CONFIG --variable=prefix wayland-client`
29- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner],,
30- [${WAYLAND_PREFIX}/bin$PATH_SEPARATOR$PATH])
31+ AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner])
32
33 AC_DEFINE([HAVE_VA_WAYLAND], [1],
34 [Defined to 1 if VA/Wayland API is built])
35--
362.1.4
37
diff --git a/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch b/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch
new file mode 100644
index 0000000000..bd97e2229c
--- /dev/null
+++ b/meta/recipes-graphics/libva/files/0001-wayland-Don-t-commit-and-ship-generated-files.patch
@@ -0,0 +1,339 @@
1From 5993a7710cc8fd9a392d5015be5109987a42b498 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 23 Feb 2017 16:10:09 +0200
4Subject: [PATCH] wayland: Don't commit and ship generated files
5
6I believe shipping wayland-drm-client-protocol.h is wrong: The header
7should always be generated by the wayland-scanner that matches the
8runtime wayland version. Currently when someone clones the repo and
9builds, the shipped version is used.
10
11Upstream-Status: Submitted [https://github.com/01org/libva/pull/33]
12Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
13---
14 va/wayland/Makefile.am | 5 +-
15 va/wayland/wayland-drm-client-protocol.h | 290 -------------------------------
16 2 files changed, 4 insertions(+), 291 deletions(-)
17 delete mode 100644 va/wayland/wayland-drm-client-protocol.h
18
19diff --git a/va/wayland/Makefile.am b/va/wayland/Makefile.am
20index 4f8262c..4ab8d07 100644
21--- a/va/wayland/Makefile.am
22+++ b/va/wayland/Makefile.am
23@@ -53,7 +53,7 @@ protocol_source_h = \
24 noinst_LTLIBRARIES = libva_wayland.la
25 libva_waylandincludedir = ${includedir}/va
26 libva_waylandinclude_HEADERS = $(source_h)
27-libva_wayland_la_SOURCES = $(source_c) $(protocol_source_h)
28+libva_wayland_la_SOURCES = $(source_c)
29 noinst_HEADERS = $(source_h_priv)
30
31 # Wayland protocol
32@@ -65,5 +65,8 @@ EXTRA_DIST = \
33 wayland-drm.xml \
34 $(NULL)
35
36+BUILT_SOURCES = $(protocol_source_h)
37+CLEANFILES = $(BUILT_SOURCES)
38+
39 # Extra clean files so that maintainer-clean removes *everything*
40 MAINTAINERCLEANFILES = Makefile.in
41diff --git a/va/wayland/wayland-drm-client-protocol.h b/va/wayland/wayland-drm-client-protocol.h
42deleted file mode 100644
43index da267e8..0000000
44--- a/va/wayland/wayland-drm-client-protocol.h
45+++ /dev/null
46@@ -1,290 +0,0 @@
47-/* Generated by wayland-scanner 1.11.90 */
48-
49-#ifndef DRM_CLIENT_PROTOCOL_H
50-#define DRM_CLIENT_PROTOCOL_H
51-
52-#include <stdint.h>
53-#include <stddef.h>
54-#include "wayland-client.h"
55-
56-#ifdef __cplusplus
57-extern "C" {
58-#endif
59-
60-/**
61- * @page page_drm The drm protocol
62- * @section page_ifaces_drm Interfaces
63- * - @subpage page_iface_wl_drm -
64- * @section page_copyright_drm Copyright
65- * <pre>
66- *
67- * Copyright © 2008-2011 Kristian Høgsberg
68- * Copyright © 2010-2011 Intel Corporation
69- *
70- * Permission to use, copy, modify, distribute, and sell this
71- * software and its documentation for any purpose is hereby granted
72- * without fee, provided that\n the above copyright notice appear in
73- * all copies and that both that copyright notice and this permission
74- * notice appear in supporting documentation, and that the name of
75- * the copyright holders not be used in advertising or publicity
76- * pertaining to distribution of the software without specific,
77- * written prior permission. The copyright holders make no
78- * representations about the suitability of this software for any
79- * purpose. It is provided "as is" without express or implied
80- * warranty.
81- *
82- * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
83- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
84- * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
85- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
86- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
87- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
88- * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
89- * THIS SOFTWARE.
90- * </pre>
91- */
92-struct wl_buffer;
93-struct wl_drm;
94-
95-/**
96- * @page page_iface_wl_drm wl_drm
97- * @section page_iface_wl_drm_api API
98- * See @ref iface_wl_drm.
99- */
100-/**
101- * @defgroup iface_wl_drm The wl_drm interface
102- */
103-extern const struct wl_interface wl_drm_interface;
104-
105-#ifndef WL_DRM_ERROR_ENUM
106-#define WL_DRM_ERROR_ENUM
107-enum wl_drm_error {
108- WL_DRM_ERROR_AUTHENTICATE_FAIL = 0,
109- WL_DRM_ERROR_INVALID_FORMAT = 1,
110- WL_DRM_ERROR_INVALID_NAME = 2,
111-};
112-#endif /* WL_DRM_ERROR_ENUM */
113-
114-#ifndef WL_DRM_FORMAT_ENUM
115-#define WL_DRM_FORMAT_ENUM
116-enum wl_drm_format {
117- WL_DRM_FORMAT_C8 = 0x20203843,
118- WL_DRM_FORMAT_RGB332 = 0x38424752,
119- WL_DRM_FORMAT_BGR233 = 0x38524742,
120- WL_DRM_FORMAT_XRGB4444 = 0x32315258,
121- WL_DRM_FORMAT_XBGR4444 = 0x32314258,
122- WL_DRM_FORMAT_RGBX4444 = 0x32315852,
123- WL_DRM_FORMAT_BGRX4444 = 0x32315842,
124- WL_DRM_FORMAT_ARGB4444 = 0x32315241,
125- WL_DRM_FORMAT_ABGR4444 = 0x32314241,
126- WL_DRM_FORMAT_RGBA4444 = 0x32314152,
127- WL_DRM_FORMAT_BGRA4444 = 0x32314142,
128- WL_DRM_FORMAT_XRGB1555 = 0x35315258,
129- WL_DRM_FORMAT_XBGR1555 = 0x35314258,
130- WL_DRM_FORMAT_RGBX5551 = 0x35315852,
131- WL_DRM_FORMAT_BGRX5551 = 0x35315842,
132- WL_DRM_FORMAT_ARGB1555 = 0x35315241,
133- WL_DRM_FORMAT_ABGR1555 = 0x35314241,
134- WL_DRM_FORMAT_RGBA5551 = 0x35314152,
135- WL_DRM_FORMAT_BGRA5551 = 0x35314142,
136- WL_DRM_FORMAT_RGB565 = 0x36314752,
137- WL_DRM_FORMAT_BGR565 = 0x36314742,
138- WL_DRM_FORMAT_RGB888 = 0x34324752,
139- WL_DRM_FORMAT_BGR888 = 0x34324742,
140- WL_DRM_FORMAT_XRGB8888 = 0x34325258,
141- WL_DRM_FORMAT_XBGR8888 = 0x34324258,
142- WL_DRM_FORMAT_RGBX8888 = 0x34325852,
143- WL_DRM_FORMAT_BGRX8888 = 0x34325842,
144- WL_DRM_FORMAT_ARGB8888 = 0x34325241,
145- WL_DRM_FORMAT_ABGR8888 = 0x34324241,
146- WL_DRM_FORMAT_RGBA8888 = 0x34324152,
147- WL_DRM_FORMAT_BGRA8888 = 0x34324142,
148- WL_DRM_FORMAT_XRGB2101010 = 0x30335258,
149- WL_DRM_FORMAT_XBGR2101010 = 0x30334258,
150- WL_DRM_FORMAT_RGBX1010102 = 0x30335852,
151- WL_DRM_FORMAT_BGRX1010102 = 0x30335842,
152- WL_DRM_FORMAT_ARGB2101010 = 0x30335241,
153- WL_DRM_FORMAT_ABGR2101010 = 0x30334241,
154- WL_DRM_FORMAT_RGBA1010102 = 0x30334152,
155- WL_DRM_FORMAT_BGRA1010102 = 0x30334142,
156- WL_DRM_FORMAT_YUYV = 0x56595559,
157- WL_DRM_FORMAT_YVYU = 0x55595659,
158- WL_DRM_FORMAT_UYVY = 0x59565955,
159- WL_DRM_FORMAT_VYUY = 0x59555956,
160- WL_DRM_FORMAT_AYUV = 0x56555941,
161- WL_DRM_FORMAT_NV12 = 0x3231564e,
162- WL_DRM_FORMAT_NV21 = 0x3132564e,
163- WL_DRM_FORMAT_NV16 = 0x3631564e,
164- WL_DRM_FORMAT_NV61 = 0x3136564e,
165- WL_DRM_FORMAT_YUV410 = 0x39565559,
166- WL_DRM_FORMAT_YVU410 = 0x39555659,
167- WL_DRM_FORMAT_YUV411 = 0x31315559,
168- WL_DRM_FORMAT_YVU411 = 0x31315659,
169- WL_DRM_FORMAT_YUV420 = 0x32315559,
170- WL_DRM_FORMAT_YVU420 = 0x32315659,
171- WL_DRM_FORMAT_YUV422 = 0x36315559,
172- WL_DRM_FORMAT_YVU422 = 0x36315659,
173- WL_DRM_FORMAT_YUV444 = 0x34325559,
174- WL_DRM_FORMAT_YVU444 = 0x34325659,
175-};
176-#endif /* WL_DRM_FORMAT_ENUM */
177-
178-#ifndef WL_DRM_CAPABILITY_ENUM
179-#define WL_DRM_CAPABILITY_ENUM
180-/**
181- * @ingroup iface_wl_drm
182- * wl_drm capability bitmask
183- *
184- * Bitmask of capabilities.
185- */
186-enum wl_drm_capability {
187- /**
188- * wl_drm prime available
189- */
190- WL_DRM_CAPABILITY_PRIME = 1,
191-};
192-#endif /* WL_DRM_CAPABILITY_ENUM */
193-
194-/**
195- * @ingroup iface_wl_drm
196- * @struct wl_drm_listener
197- */
198-struct wl_drm_listener {
199- /**
200- */
201- void (*device)(void *data,
202- struct wl_drm *wl_drm,
203- const char *name);
204- /**
205- */
206- void (*format)(void *data,
207- struct wl_drm *wl_drm,
208- uint32_t format);
209- /**
210- */
211- void (*authenticated)(void *data,
212- struct wl_drm *wl_drm);
213- /**
214- */
215- void (*capabilities)(void *data,
216- struct wl_drm *wl_drm,
217- uint32_t value);
218-};
219-
220-/**
221- * @ingroup wl_drm_iface
222- */
223-static inline int
224-wl_drm_add_listener(struct wl_drm *wl_drm,
225- const struct wl_drm_listener *listener, void *data)
226-{
227- return wl_proxy_add_listener((struct wl_proxy *) wl_drm,
228- (void (**)(void)) listener, data);
229-}
230-
231-#define WL_DRM_AUTHENTICATE 0
232-#define WL_DRM_CREATE_BUFFER 1
233-#define WL_DRM_CREATE_PLANAR_BUFFER 2
234-#define WL_DRM_CREATE_PRIME_BUFFER 3
235-
236-/**
237- * @ingroup iface_wl_drm
238- */
239-#define WL_DRM_AUTHENTICATE_SINCE_VERSION 1
240-/**
241- * @ingroup iface_wl_drm
242- */
243-#define WL_DRM_CREATE_BUFFER_SINCE_VERSION 1
244-/**
245- * @ingroup iface_wl_drm
246- */
247-#define WL_DRM_CREATE_PLANAR_BUFFER_SINCE_VERSION 1
248-/**
249- * @ingroup iface_wl_drm
250- */
251-#define WL_DRM_CREATE_PRIME_BUFFER_SINCE_VERSION 2
252-
253-/** @ingroup iface_wl_drm */
254-static inline void
255-wl_drm_set_user_data(struct wl_drm *wl_drm, void *user_data)
256-{
257- wl_proxy_set_user_data((struct wl_proxy *) wl_drm, user_data);
258-}
259-
260-/** @ingroup iface_wl_drm */
261-static inline void *
262-wl_drm_get_user_data(struct wl_drm *wl_drm)
263-{
264- return wl_proxy_get_user_data((struct wl_proxy *) wl_drm);
265-}
266-
267-static inline uint32_t
268-wl_drm_get_version(struct wl_drm *wl_drm)
269-{
270- return wl_proxy_get_version((struct wl_proxy *) wl_drm);
271-}
272-
273-/** @ingroup iface_wl_drm */
274-static inline void
275-wl_drm_destroy(struct wl_drm *wl_drm)
276-{
277- wl_proxy_destroy((struct wl_proxy *) wl_drm);
278-}
279-
280-/**
281- * @ingroup iface_wl_drm
282- */
283-static inline void
284-wl_drm_authenticate(struct wl_drm *wl_drm, uint32_t id)
285-{
286- wl_proxy_marshal((struct wl_proxy *) wl_drm,
287- WL_DRM_AUTHENTICATE, id);
288-}
289-
290-/**
291- * @ingroup iface_wl_drm
292- */
293-static inline struct wl_buffer *
294-wl_drm_create_buffer(struct wl_drm *wl_drm, uint32_t name, int32_t width, int32_t height, uint32_t stride, uint32_t format)
295-{
296- struct wl_proxy *id;
297-
298- id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
299- WL_DRM_CREATE_BUFFER, &wl_buffer_interface, NULL, name, width, height, stride, format);
300-
301- return (struct wl_buffer *) id;
302-}
303-
304-/**
305- * @ingroup iface_wl_drm
306- */
307-static inline struct wl_buffer *
308-wl_drm_create_planar_buffer(struct wl_drm *wl_drm, uint32_t name, int32_t width, int32_t height, uint32_t format, int32_t offset0, int32_t stride0, int32_t offset1, int32_t stride1, int32_t offset2, int32_t stride2)
309-{
310- struct wl_proxy *id;
311-
312- id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
313- WL_DRM_CREATE_PLANAR_BUFFER, &wl_buffer_interface, NULL, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2);
314-
315- return (struct wl_buffer *) id;
316-}
317-
318-/**
319- * @ingroup iface_wl_drm
320- */
321-static inline struct wl_buffer *
322-wl_drm_create_prime_buffer(struct wl_drm *wl_drm, int32_t name, int32_t width, int32_t height, uint32_t format, int32_t offset0, int32_t stride0, int32_t offset1, int32_t stride1, int32_t offset2, int32_t stride2)
323-{
324- struct wl_proxy *id;
325-
326- id = wl_proxy_marshal_constructor((struct wl_proxy *) wl_drm,
327- WL_DRM_CREATE_PRIME_BUFFER, &wl_buffer_interface, NULL, name, width, height, format, offset0, stride0, offset1, stride1, offset2, stride2);
328-
329- return (struct wl_buffer *) id;
330-}
331-
332-#ifdef __cplusplus
333-}
334-#endif
335-
336-#endif
337--
3382.1.4
339
diff --git a/meta/recipes-graphics/libva/libva_1.7.3.bb b/meta/recipes-graphics/libva/libva_1.7.3.bb
index a7b4b90a06..5c74fa628b 100644
--- a/meta/recipes-graphics/libva/libva_1.7.3.bb
+++ b/meta/recipes-graphics/libva/libva_1.7.3.bb
@@ -17,7 +17,9 @@ SECTION = "x11"
17LICENSE = "MIT" 17LICENSE = "MIT"
18LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" 18LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
19 19
20SRC_URI = "git://github.com/01org/libva.git;protocol=http;branch=v1.7-branch" 20SRC_URI = "git://github.com/01org/libva.git;protocol=http;branch=v1.7-branch \
21 file://0001-configure.ac-Use-wayland-scanner-in-PATH.patch \
22 file://0001-wayland-Don-t-commit-and-ship-generated-files.patch"
21SRCREV = "dbf9f7e33349c3cee8d131e93a6a4f91255635cb" 23SRCREV = "dbf9f7e33349c3cee8d131e93a6a4f91255635cb"
22 24
23S = "${WORKDIR}/git" 25S = "${WORKDIR}/git"
@@ -33,7 +35,7 @@ EXTRA_OECONF = "--disable-dummy-driver"
33PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \ 35PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
34 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}" 36 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)}"
35PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes" 37PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxext libxfixes"
36PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" 38PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
37 39
38PACKAGES =+ "${PN}-x11 ${PN}-tpi ${PN}-glx ${PN}-egl ${PN}-wayland" 40PACKAGES =+ "${PN}-x11 ${PN}-tpi ${PN}-glx ${PN}-egl ${PN}-wayland"
39 41