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/weston | |
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/weston')
-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 |
2 files changed, 85 insertions, 0 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], | ||