diff options
author | Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> | 2017-11-02 00:22:55 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-11-07 13:25:31 +0000 |
commit | 5b2b572d85177211dc3ce6330ffade22bb5c2f2a (patch) | |
tree | 715974e4296c9ca36c99e4f922201a2d88e35e70 /meta/recipes-graphics/wayland | |
parent | 32fd3af26860a86668ac88c30be5f682620ca93b (diff) | |
download | poky-5b2b572d85177211dc3ce6330ffade22bb5c2f2a.tar.gz |
weston: Bump version to 3.0.0
Update weston release to 3.0.0.
Two patches added:
- fix-missing-header.patch:
fix a build issue when musl is used as libc.
- weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch:
fix display issue with YUV420/I420 format, that could result in a crash.
(From OE-Core rev: 148920f3971de0f44ac4dd3c85c29983862c5318)
Signed-off-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-graphics/wayland')
-rw-r--r-- | meta/recipes-graphics/wayland/weston/fix-missing-header.patch | 30 | ||||
-rw-r--r-- | meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch | 55 | ||||
-rw-r--r-- | meta/recipes-graphics/wayland/weston_3.0.0.bb (renamed from meta/recipes-graphics/wayland/weston_2.0.0.bb) | 17 |
3 files changed, 94 insertions, 8 deletions
diff --git a/meta/recipes-graphics/wayland/weston/fix-missing-header.patch b/meta/recipes-graphics/wayland/weston/fix-missing-header.patch new file mode 100644 index 0000000000..55c0d4fd0f --- /dev/null +++ b/meta/recipes-graphics/wayland/weston/fix-missing-header.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | On the musl C library, tests/timespec-text.c does not build, with the | ||
2 | following error: | ||
3 | |||
4 | In file included from tests/timespec-test.c:36:0: | ||
5 | ./shared/timespec-util.h:41:21: warning: ‘struct timespec’ declared | ||
6 | inside parameter list will not be visible outside of this definition | ||
7 | or declaration | ||
8 | timespec_sub(struct timespec *r, | ||
9 | ^~~~~~~~ | ||
10 | [...] | ||
11 | |||
12 | Indeed, struct timespec is defined in time.h, so we must include it. | ||
13 | |||
14 | Upstream-Status: Backport [fa41bdfbc0b962fd73b89f01aab1a5370c9c28eb] | ||
15 | |||
16 | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> | ||
17 | Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> | ||
18 | |||
19 | Index: weston-3.0.0/shared/timespec-util.h | ||
20 | =================================================================== | ||
21 | --- weston-3.0.0.orig/shared/timespec-util.h | ||
22 | +++ weston-3.0.0/shared/timespec-util.h | ||
23 | @@ -28,6 +28,7 @@ | ||
24 | |||
25 | #include <stdint.h> | ||
26 | #include <assert.h> | ||
27 | +#include <time.h> | ||
28 | |||
29 | #define NSEC_PER_SEC 1000000000 | ||
30 | |||
diff --git a/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch new file mode 100644 index 0000000000..b3e1d06f57 --- /dev/null +++ b/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | Multi-plane sub-sampled textures have partial width/height, e.g. | ||
2 | YUV420/I420 has a full-size Y plane, followed by a half-width/height U | ||
3 | plane, and a half-width/height V plane. | ||
4 | |||
5 | zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each | ||
6 | plane, but for wl_shm this must be inferred. gl-renderer was correctly | ||
7 | accounting for the width and height when subsampling, but the pitch was | ||
8 | being taken as the pitch for the first plane. | ||
9 | |||
10 | This does not match the requirements for GStreamer's waylandsink, in | ||
11 | particular, as well as other clients. Fix the SHM upload path to | ||
12 | correctly set the pitch for each plane, according to subsampling. | ||
13 | |||
14 | Tested with: | ||
15 | $ gst-launch-1.0 videotestsrc ! waylandsink | ||
16 | |||
17 | Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/] | ||
18 | |||
19 | Signed-off-by: Daniel Stone <daniels@collabora.com> | ||
20 | Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420") | ||
21 | Reported-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> | ||
22 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063 | ||
23 | |||
24 | --- | ||
25 | libweston/gl-renderer.c | 4 ++-- | ||
26 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
27 | |||
28 | diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c | ||
29 | index 244ce309..40bf0bb6 100644 | ||
30 | --- a/libweston/gl-renderer.c | ||
31 | +++ b/libweston/gl-renderer.c | ||
32 | @@ -1445,14 +1445,13 @@ gl_renderer_flush_damage(struct weston_surface *surface) | ||
33 | goto done; | ||
34 | } | ||
35 | |||
36 | - glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch); | ||
37 | - | ||
38 | if (gs->needs_full_upload) { | ||
39 | glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0); | ||
40 | glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0); | ||
41 | wl_shm_buffer_begin_access(buffer->shm_buffer); | ||
42 | for (j = 0; j < gs->num_textures; j++) { | ||
43 | glBindTexture(GL_TEXTURE_2D, gs->textures[j]); | ||
44 | + glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); | ||
45 | glTexImage2D(GL_TEXTURE_2D, 0, | ||
46 | gs->gl_format[j], | ||
47 | gs->pitch / gs->hsub[j], | ||
48 | @@ -1477,6 +1476,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) | ||
49 | glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1); | ||
50 | for (j = 0; j < gs->num_textures; j++) { | ||
51 | glBindTexture(GL_TEXTURE_2D, gs->textures[j]); | ||
52 | + glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); | ||
53 | glTexSubImage2D(GL_TEXTURE_2D, 0, | ||
54 | r.x1 / gs->hsub[j], | ||
55 | r.y1 / gs->vsub[j], | ||
diff --git a/meta/recipes-graphics/wayland/weston_2.0.0.bb b/meta/recipes-graphics/wayland/weston_3.0.0.bb index 8160f5556d..ad0cdc2b0f 100644 --- a/meta/recipes-graphics/wayland/weston_2.0.0.bb +++ b/meta/recipes-graphics/wayland/weston_3.0.0.bb | |||
@@ -9,12 +9,13 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ | |||
9 | file://weston.png \ | 9 | file://weston.png \ |
10 | file://weston.desktop \ | 10 | file://weston.desktop \ |
11 | file://0001-make-error-portable.patch \ | 11 | file://0001-make-error-portable.patch \ |
12 | file://0001-configure.ac-Fix-wayland-protocols-path.patch \ | ||
13 | file://xwayland.weston-start \ | 12 | file://xwayland.weston-start \ |
14 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ | 13 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ |
14 | file://weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch \ | ||
15 | file://fix-missing-header.patch \ | ||
15 | " | 16 | " |
16 | SRC_URI[md5sum] = "15f38945942bf2a91fe2687145fb4c7d" | 17 | SRC_URI[md5sum] = "9c42a4c51a1b9f35d040fa9d45ada36d" |
17 | SRC_URI[sha256sum] = "b4e446ac27f118196f1609dab89bb3cb3e81652d981414ad860e733b355365d8" | 18 | SRC_URI[sha256sum] = "cde1d55e8dd70c3cbb3d1ec72f60e60000041579caa1d6a262bd9c35e93723a5" |
18 | 19 | ||
19 | inherit autotools pkgconfig useradd distro_features_check | 20 | inherit autotools pkgconfig useradd distro_features_check |
20 | # depends on virtual/egl | 21 | # depends on virtual/egl |
@@ -76,7 +77,7 @@ PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam" | |||
76 | 77 | ||
77 | do_install_append() { | 78 | do_install_append() { |
78 | # Weston doesn't need the .la files to load modules, so wipe them | 79 | # Weston doesn't need the .la files to load modules, so wipe them |
79 | rm -f ${D}/${libdir}/libweston-2/*.la | 80 | rm -f ${D}/${libdir}/libweston-3/*.la |
80 | 81 | ||
81 | # If X11, ship a desktop file to launch it | 82 | # If X11, ship a desktop file to launch it |
82 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then | 83 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then |
@@ -93,16 +94,16 @@ do_install_append() { | |||
93 | } | 94 | } |
94 | 95 | ||
95 | PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ | 96 | PACKAGES += "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', '${PN}-xwayland', '', d)} \ |
96 | libweston-2 ${PN}-examples" | 97 | libweston-3 ${PN}-examples" |
97 | 98 | ||
98 | FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" | 99 | FILES_${PN} = "${bindir}/weston ${bindir}/weston-terminal ${bindir}/weston-info ${bindir}/weston-launch ${bindir}/wcap-decode ${libexecdir} ${libdir}/${BPN}/*.so ${datadir}" |
99 | 100 | ||
100 | FILES_libweston-2 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-2/*.so" | 101 | FILES_libweston-3 = "${libdir}/lib*${SOLIBS} ${libdir}/libweston-3/*.so" |
101 | SUMMARY_libweston-2 = "Helper library for implementing 'wayland window managers'." | 102 | SUMMARY_libweston-3 = "Helper library for implementing 'wayland window managers'." |
102 | 103 | ||
103 | FILES_${PN}-examples = "${bindir}/*" | 104 | FILES_${PN}-examples = "${bindir}/*" |
104 | 105 | ||
105 | FILES_${PN}-xwayland = "${libdir}/libweston-2/xwayland.so" | 106 | FILES_${PN}-xwayland = "${libdir}/libweston-3/xwayland.so" |
106 | RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" | 107 | RDEPENDS_${PN}-xwayland += "xserver-xorg-xwayland" |
107 | 108 | ||
108 | RDEPENDS_${PN} += "xkeyboard-config" | 109 | RDEPENDS_${PN} += "xkeyboard-config" |