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 | |
| 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>
| -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" |
