diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2017-02-23 16:49:49 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-02-23 12:49:52 -0800 |
commit | c3e6178acfb4a050852b6b52a97cdeda3f9ce666 (patch) | |
tree | b7be846d0bee0710f6c959f37ad9a41091aaabf5 /meta/recipes-graphics/libva/files | |
parent | 01be63828c2d88ca10524716b357a73023743443 (diff) | |
download | poky-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/libva/files')
2 files changed, 376 insertions, 0 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 @@ | |||
1 | From 0af30602502035155929dd2a14482b82a9747cf8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
3 | Date: Thu, 23 Feb 2017 15:23:15 +0200 | ||
4 | Subject: [PATCH] configure.ac: Use wayland-scanner in PATH | ||
5 | |||
6 | pkg-config will give us the wrong wayland-scanner location. | ||
7 | Use the one in path instead: it will be from native sysroot. | ||
8 | |||
9 | This is a workaround and should be fixed upstream: preferably | ||
10 | with the same fix as all the other wayland-scanner users | ||
11 | (see YOCTO #11100). | ||
12 | |||
13 | Upstream-Status: Inappropriate [workaround] | ||
14 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
15 | --- | ||
16 | configure.ac | 5 +---- | ||
17 | 1 file changed, 1 insertion(+), 4 deletions(-) | ||
18 | |||
19 | diff --git a/configure.ac b/configure.ac | ||
20 | index 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 | -- | ||
36 | 2.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 @@ | |||
1 | From 5993a7710cc8fd9a392d5015be5109987a42b498 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | ||
3 | Date: Thu, 23 Feb 2017 16:10:09 +0200 | ||
4 | Subject: [PATCH] wayland: Don't commit and ship generated files | ||
5 | |||
6 | I believe shipping wayland-drm-client-protocol.h is wrong: The header | ||
7 | should always be generated by the wayland-scanner that matches the | ||
8 | runtime wayland version. Currently when someone clones the repo and | ||
9 | builds, the shipped version is used. | ||
10 | |||
11 | Upstream-Status: Submitted [https://github.com/01org/libva/pull/33] | ||
12 | Signed-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 | |||
19 | diff --git a/va/wayland/Makefile.am b/va/wayland/Makefile.am | ||
20 | index 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 | ||
41 | diff --git a/va/wayland/wayland-drm-client-protocol.h b/va/wayland/wayland-drm-client-protocol.h | ||
42 | deleted file mode 100644 | ||
43 | index 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 | -- | ||
338 | 2.1.4 | ||
339 | |||