summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Wannamaker <jeff_wannamaker@cable.comcast.com>2018-01-27 12:45:23 -0500
committerAndrei Gherzan <andrei@gherzan.com>2018-02-02 11:13:24 +0000
commitee668d80729d093d3f2f32af6402424659d30605 (patch)
treeb8db3f3342087c735ce8793f476fb1b38567a4f7
parent073f1e845eb1d3807069644bc535fefe8c013a64 (diff)
downloadmeta-raspberrypi-ee668d80729d093d3f2f32af6402424659d30605.tar.gz
userland: Update to latest master
Add patch to allow multiple wayland clients per process userland has limit of one wayland client per process and thereby allow compositors to launch multiple wayland client apps Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch6
-rw-r--r--recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch14
-rw-r--r--recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch6
-rw-r--r--recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch6
-rw-r--r--recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch6
-rw-r--r--recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch6
-rw-r--r--recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch6
-rw-r--r--recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch6
-rw-r--r--recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch6
-rw-r--r--recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch6
-rw-r--r--recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch6
-rw-r--r--recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch6
-rw-r--r--recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch6
-rw-r--r--recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch6
-rw-r--r--recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch6
-rw-r--r--recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch145
-rw-r--r--recipes-graphics/userland/userland_git.bb5
17 files changed, 197 insertions, 51 deletions
diff --git a/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch b/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
index 5861c4e..933f279 100644
--- a/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
+++ b/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
@@ -1,7 +1,7 @@
1From e45bc677368d0f8d42720aad242f33f6e2687fb1 Mon Sep 17 00:00:00 2001 1From 0a64dc61d3d7db69389157ae757203b4b3afdbfa Mon Sep 17 00:00:00 2001
2From: Dom Cobley <dc4@broadcom.com> 2From: Dom Cobley <dc4@broadcom.com>
3Date: Tue, 9 Jul 2013 09:26:26 -0400 3Date: Tue, 9 Jul 2013 09:26:26 -0400
4Subject: [PATCH 01/15] Allow applications to set next resource handle 4Subject: [PATCH 01/16] Allow applications to set next resource handle
5 5
6This patch adds provisions in userland to 6This patch adds provisions in userland to
7let apps callers set the next rendereing dispmanx resource. 7let apps callers set the next rendereing dispmanx resource.
@@ -204,5 +204,5 @@ index 8a5734c..51b3580 100644
204 204
205 FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data)) 205 FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
206-- 206--
2072.15.0 2072.16.1
208 208
diff --git a/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
index d6e6476..e9c7058 100644
--- a/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ b/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
@@ -1,7 +1,7 @@
1From 15fb270f438f4ef1413192b5ce1e0dc784b45d9e Mon Sep 17 00:00:00 2001 1From 5608ec8002be8370e78c9dbb1e07cee4cfb18b58 Mon Sep 17 00:00:00 2001
2From: Tomeu Vizoso <tomeu.vizoso@collabora.com> 2From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
3Date: Tue, 1 Oct 2013 13:19:20 +0200 3Date: Tue, 1 Oct 2013 13:19:20 +0200
4Subject: [PATCH 02/15] wayland: Add support for the Wayland winsys 4Subject: [PATCH 02/16] wayland: Add support for the Wayland winsys
5 5
6* Adds EGL_WL_bind_wayland_display extension 6* Adds EGL_WL_bind_wayland_display extension
7* Adds wayland-egl library 7* Adds wayland-egl library
@@ -89,13 +89,13 @@ index cfc8ae5..673a5ad 100644
89 89
90 # Global include paths 90 # Global include paths
91diff --git a/README.md b/README.md 91diff --git a/README.md b/README.md
92index 358d2b4..4da4448 100644 92index 94b93b8..50b90b1 100644
93--- a/README.md 93--- a/README.md
94+++ b/README.md 94+++ b/README.md
95@@ -4,3 +4,7 @@ EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG. 95@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake to be installed and an arm cross compile
96
97 Use buildme to build. It requires cmake to be installed and an arm cross compiler. It is set up to use this one:
98 https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian 96 https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
97
98 Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
99+ 99+
100+To build support for the Wayland winsys in EGL, execute the buildme script like this: 100+To build support for the Wayland winsys in EGL, execute the buildme script like this:
101+ 101+
@@ -1884,5 +1884,5 @@ index 0000000..ad90d30
1884+ set(${_sources} ${${_sources}} PARENT_SCOPE) 1884+ set(${_sources} ${${_sources}} PARENT_SCOPE)
1885+endfunction() 1885+endfunction()
1886-- 1886--
18872.15.0 18872.16.1
1888 1888
diff --git a/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch b/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
index 1d78755..e3a0cf2 100644
--- a/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
+++ b/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
@@ -1,7 +1,7 @@
1From b0437cf318a26c62119ad60649430903f58bbab4 Mon Sep 17 00:00:00 2001 1From 20ac7c6af4e826b5c536b6a7c8b2d1d266ced81e Mon Sep 17 00:00:00 2001
2From: Tomeu Vizoso <tomeu.vizoso@collabora.com> 2From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
3Date: Tue, 1 Oct 2013 13:19:20 +0200 3Date: Tue, 1 Oct 2013 13:19:20 +0200
4Subject: [PATCH 03/15] wayland: Add Wayland example 4Subject: [PATCH 03/16] wayland: Add Wayland example
5 5
6--- 6---
7 .../linux/apps/hello_pi/CMakeLists.txt | 1 + 7 .../linux/apps/hello_pi/CMakeLists.txt | 1 +
@@ -862,5 +862,5 @@ index 8225dd5..0be6ce7 100755
862- 862-
863+make -C hello_wayland 863+make -C hello_wayland
864-- 864--
8652.15.0 8652.16.1
866 866
diff --git a/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
index d60c432..713fc3e 100644
--- a/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ b/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
@@ -1,7 +1,7 @@
1From cae4ff834eef23c8f23126ba4d630db395f13aee Mon Sep 17 00:00:00 2001 1From f17879b691984b5c4950e4b94ebf102c78797ede Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 10 Aug 2015 02:38:27 -0700 3Date: Mon, 10 Aug 2015 02:38:27 -0700
4Subject: [PATCH 04/15] wayland-egl: Add bcm_host to dependencies 4Subject: [PATCH 04/16] wayland-egl: Add bcm_host to dependencies
5 5
6It uses headers like vcos_platform_types.h but does not 6It uses headers like vcos_platform_types.h but does not
7depend on module which should add the required include paths 7depend on module which should add the required include paths
@@ -24,5 +24,5 @@ index 8bafc15..fd259c9 100644
24 Libs: -L${libdir} -lwayland-egl 24 Libs: -L${libdir} -lwayland-egl
25 Cflags: -I${includedir} 25 Cflags: -I${includedir}
26-- 26--
272.15.0 272.16.1
28 28
diff --git a/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
index 676f34c..8d78333 100644
--- a/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ b/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
@@ -1,7 +1,7 @@
1From 8ee4f6eedb81e9bfe0e603a21606c52f9501e609 Mon Sep 17 00:00:00 2001 1From 0273b7b9d7a27d8fe7d3ad8680b799f997e75dca Mon Sep 17 00:00:00 2001
2From: "Yann E. MORIN" <yann.morin.1998@free.fr> 2From: "Yann E. MORIN" <yann.morin.1998@free.fr>
3Date: Sat, 24 Jan 2015 22:07:19 +0100 3Date: Sat, 24 Jan 2015 22:07:19 +0100
4Subject: [PATCH 05/15] interface: remove faulty assert() to make weston happy 4Subject: [PATCH 05/16] interface: remove faulty assert() to make weston happy
5 at runtime 5 at runtime
6 6
7This was removed after a discussion on IRC with the weston guys 7This was removed after a discussion on IRC with the weston guys
@@ -25,5 +25,5 @@ index eab146e..29e0dee 100755
25 } 25 }
26 } else { 26 } else {
27-- 27--
282.15.0 282.16.1
29 29
diff --git a/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
index a8f1f24..43eb7f0 100644
--- a/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ b/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
@@ -1,7 +1,7 @@
1From 789b0b0c04b741c21dd573b78eded970721d14c2 Mon Sep 17 00:00:00 2001 1From 0d678cd2042551cc4e26ec42fa3aba7c72d033b4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 6 Feb 2016 11:10:47 -0800 3Date: Sat, 6 Feb 2016 11:10:47 -0800
4Subject: [PATCH 06/15] zero-out wl buffers in egl_surface_free 4Subject: [PATCH 06/16] zero-out wl buffers in egl_surface_free
5 5
6origins from buildroot 6origins from buildroot
7 7
@@ -29,5 +29,5 @@ index 42350bf..1f923d9 100644
29 #endif 29 #endif
30 } 30 }
31-- 31--
322.15.0 322.16.1
33 33
diff --git a/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch b/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
index ad2636a..987740b 100644
--- a/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
+++ b/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
@@ -1,7 +1,7 @@
1From 762dd3156775f167ff0dfd44322dbb19a85822a7 Mon Sep 17 00:00:00 2001 1From ec2e00989bf614b259bc9a47b5035f8586e8a214 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 6 Feb 2016 11:11:41 -0800 3Date: Sat, 6 Feb 2016 11:11:41 -0800
4Subject: [PATCH 07/15] initialize front back wayland buffers 4Subject: [PATCH 07/16] initialize front back wayland buffers
5 5
6origins from metrological wayland support 6origins from metrological wayland support
7 7
@@ -30,5 +30,5 @@ index 1f923d9..9a9582c 100644
30 } 30 }
31 #endif 31 #endif
32-- 32--
332.15.0 332.16.1
34 34
diff --git a/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch b/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
index 1e66813..4bf05c1 100644
--- a/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
+++ b/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
@@ -1,7 +1,7 @@
1From f8929adbf95ad3d44491cf6fc8a84a686b71193e Mon Sep 17 00:00:00 2001 1From 59ba66c2ea17f7a57124b9fd6c9bdff4325ff5c9 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 6 Feb 2016 11:09:18 -0800 3Date: Sat, 6 Feb 2016 11:09:18 -0800
4Subject: [PATCH 08/15] Remove RPC_FLUSH 4Subject: [PATCH 08/16] Remove RPC_FLUSH
5 5
6Origins from buildroot 6Origins from buildroot
7 7
@@ -23,5 +23,5 @@ index f9b7287..b04ffef 100644
23 } 23 }
24 #endif 24 #endif
25-- 25--
262.15.0 262.16.1
27 27
diff --git a/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch b/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
index 214d5e2..a2c1df5 100644
--- a/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
+++ b/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
@@ -1,7 +1,7 @@
1From f53e028f33f261f85883c9168977dd5486e9b47c Mon Sep 17 00:00:00 2001 1From 264d82387ea1e607b2e5c899ff6bd46807c7b185 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 6 Feb 2016 13:12:47 -0800 3Date: Sat, 6 Feb 2016 13:12:47 -0800
4Subject: [PATCH 09/15] fix cmake dependency race 4Subject: [PATCH 09/16] fix cmake dependency race
5 5
6Fixes errors like 6Fixes errors like
7 7
@@ -74,5 +74,5 @@ index f0bae30..8c44c58 100644
74 struct wl_resource *resource; 74 struct wl_resource *resource;
75 struct wl_dispmanx *dispmanx; 75 struct wl_dispmanx *dispmanx;
76-- 76--
772.15.0 772.16.1
78 78
diff --git a/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch b/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
index 9f77920..a6c9a59 100644
--- a/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
+++ b/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
@@ -1,7 +1,7 @@
1From 6559a57c66c5f55571a1aa29cf14d9130a9ef2c9 Mon Sep 17 00:00:00 2001 1From 7c51c2d37bfadaabbbf205237d932b685b09d34f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 29 Mar 2016 20:38:30 -0700 3Date: Tue, 29 Mar 2016 20:38:30 -0700
4Subject: [PATCH 10/15] Fix for framerate with nested composition 4Subject: [PATCH 10/16] Fix for framerate with nested composition
5 5
6frame rate appears irregular and lower than expected when using nested composition. 6frame rate appears irregular and lower than expected when using nested composition.
7 7
@@ -56,5 +56,5 @@ index 03fe67b..13a110c 100644
56 #ifdef ANDROID 56 #ifdef ANDROID
57 CLIENT_UNLOCK(); 57 CLIENT_UNLOCK();
58-- 58--
592.15.0 592.16.1
60 60
diff --git a/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch b/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
index 5ee5cbd..55a5be8 100644
--- a/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
+++ b/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
@@ -1,7 +1,7 @@
1From 3e396f0b514f3acf90c02f5d55b3816028367a55 Mon Sep 17 00:00:00 2001 1From fb3002f77a175633af31019c513754d2ef5f3ac0 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 2 Apr 2016 10:37:24 -0700 3Date: Sat, 2 Apr 2016 10:37:24 -0700
4Subject: [PATCH 11/15] build shared library for vchostif 4Subject: [PATCH 11/16] build shared library for vchostif
5 5
6Fixes #149 6Fixes #149
7 7
@@ -24,5 +24,5 @@ index c415176..d0cca1a 100755
24 #add_library(bufman vc_vchi_bufman.c ) 24 #add_library(bufman vc_vchi_bufman.c )
25 25
26-- 26--
272.15.0 272.16.1
28 28
diff --git a/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
index 48af588..28a5fc6 100644
--- a/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ b/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
@@ -1,7 +1,7 @@
1From f5b2263c8d65e307cb085414e08118cbbe00a94c Mon Sep 17 00:00:00 2001 1From df8b9633a45069bdd1bf256d974636ef11aa39cb Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 2 Apr 2016 10:54:59 -0700 3Date: Sat, 2 Apr 2016 10:54:59 -0700
4Subject: [PATCH 12/15] implement buffer wrapping interface for dispmanx 4Subject: [PATCH 12/16] implement buffer wrapping interface for dispmanx
5 5
6Courtesy: Zan Dobersek 6Courtesy: Zan Dobersek
7 7
@@ -88,5 +88,5 @@ index c18626d..11ed1ef 100644
88 88
89 </protocol> 89 </protocol>
90-- 90--
912.15.0 912.16.1
92 92
diff --git a/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch b/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch
index d3a9840..ebff314 100644
--- a/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch
+++ b/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch
@@ -1,7 +1,7 @@
1From 10ba55489002c2ccdf96d221301ec059c4574811 Mon Sep 17 00:00:00 2001 1From 2e0e331da8556fecd841349cfae294baf0f14485 Mon Sep 17 00:00:00 2001
2From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com> 2From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
3Date: Thu, 19 Jan 2017 18:56:07 +0000 3Date: Thu, 19 Jan 2017 18:56:07 +0000
4Subject: [PATCH 13/15] Implement triple buffering for wayland 4Subject: [PATCH 13/16] Implement triple buffering for wayland
5 5
6Change from double to triple buffering for wayland. 6Change from double to triple buffering for wayland.
7This enables higher frame rates without tearing artifacts 7This enables higher frame rates without tearing artifacts
@@ -86,5 +86,5 @@ index e328b77..58a3184 100644
86 back_wl_buffer 86 back_wl_buffer
87 87
88-- 88--
892.15.0 892.16.1
90 90
diff --git a/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
index b596056..025b6bc 100644
--- a/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
+++ b/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
@@ -1,7 +1,7 @@
1From d750c738b5c23bba24531cb713292e4ab3f2ec56 Mon Sep 17 00:00:00 2001 1From 8d9299d219a2a4f76f8278973584e1a9f7116c78 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 May 2017 06:39:34 +0000 3Date: Wed, 10 May 2017 06:39:34 +0000
4Subject: [PATCH 14/15] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT 4Subject: [PATCH 14/16] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
5 5
6weston code uses these defines 6weston code uses these defines
7Upstream-Status: Pending 7Upstream-Status: Pending
@@ -26,5 +26,5 @@ index 4eacf7f..283e3e1 100644
26 #ifndef GL_EXT_texture_type_2_10_10_10_REV 26 #ifndef GL_EXT_texture_type_2_10_10_10_REV
27 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 27 #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
28-- 28--
292.15.0 292.16.1
30 30
diff --git a/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch b/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch
index f10740b..605d0c0 100644
--- a/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch
+++ b/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch
@@ -1,7 +1,7 @@
1From 827907f2223df93918e680101a1ac6228ba0f07e Mon Sep 17 00:00:00 2001 1From a2182e5437a6664cdb0f3330f6cbee873b6f975a Mon Sep 17 00:00:00 2001
2From: Andrea Galbusera <gizero@gmail.com> 2From: Andrea Galbusera <gizero@gmail.com>
3Date: Fri, 14 Jul 2017 09:52:54 +0200 3Date: Fri, 14 Jul 2017 09:52:54 +0200
4Subject: [PATCH 15/15] EGL/glplatform.h: define EGL_CAST 4Subject: [PATCH 15/16] EGL/glplatform.h: define EGL_CAST
5 5
6C++ / C typecast macros for special EGL handle values: used by libepoxy code 6C++ / C typecast macros for special EGL handle values: used by libepoxy code
7The definition comes from the updated version of this header in mesa. 7The definition comes from the updated version of this header in mesa.
@@ -28,5 +28,5 @@ index 1f7c930..c39d425 100644
28+ 28+
29 #endif /* __eglplatform_h */ 29 #endif /* __eglplatform_h */
30-- 30--
312.15.0 312.16.1
32 32
diff --git a/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
new file mode 100644
index 0000000..d20ec82
--- /dev/null
+++ b/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
@@ -0,0 +1,145 @@
1From 6b4c4d469d435bfcfb464356b6ccc9421c6b8fd5 Mon Sep 17 00:00:00 2001
2From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
3Date: Sat, 27 Jan 2018 12:28:31 -0500
4Subject: [PATCH 16/16] Allow multiple wayland compositor state data per
5 process
6
7When eglBindWaylandDisplayWL is called store the wl_global
8created in a list associated with the wayland display.
9This allows multiple wayland compositor instances to be
10created and used per process. This scenario is common for
11applications integrating externl process UI elements
12via embedded composition e.g. westeros
13
14Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 interface/khronos/common/khrn_client.c | 2 +-
18 interface/khronos/common/khrn_client.h | 11 +++++++-
19 interface/khronos/ext/egl_wayland.c | 50 ++++++++++++++++++++++++++++++----
20 3 files changed, 55 insertions(+), 8 deletions(-)
21
22diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
23index d7e798e..60bdb63 100644
24--- a/interface/khronos/common/khrn_client.c
25+++ b/interface/khronos/common/khrn_client.c
26@@ -147,7 +147,7 @@ bool client_process_state_init(CLIENT_PROCESS_STATE_T *process)
27 {
28 if (!process->inited) {
29 #ifdef BUILD_WAYLAND
30- process->wl_global = NULL;
31+ process->wlStateMap = NULL;
32 #endif
33
34 if (!khrn_pointer_map_init(&process->contexts, 64))
35diff --git a/interface/khronos/common/khrn_client.h b/interface/khronos/common/khrn_client.h
36index 615f7b4..4fa86f7 100644
37--- a/interface/khronos/common/khrn_client.h
38+++ b/interface/khronos/common/khrn_client.h
39@@ -170,6 +170,15 @@ static INLINE CLIENT_THREAD_STATE_T *CLIENT_GET_CHECK_THREAD_STATE(void)
40 return (CLIENT_THREAD_STATE_T *)platform_tls_get_check(client_tls);
41 }
42
43+#ifdef BUILD_WAYLAND
44+typedef struct WAYLAND_STATE
45+{
46+ struct WAYLAND_STATE *next;
47+ struct wl_display *display;
48+ struct wl_global *wl_global;
49+} WAYLAND_STATE_T;
50+#endif
51+
52 /*
53 per-process state
54
55@@ -318,7 +327,7 @@ struct CLIENT_PROCESS_STATE {
56 struct wl_event_queue *wl_queue;
57
58 /* Compositor-side Wayland state */
59- struct wl_global *wl_global;
60+ WAYLAND_STATE_T *wlStateMap;
61 #endif
62 };
63
64diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
65index 9ef89cd..abd5ab3 100644
66--- a/interface/khronos/ext/egl_wayland.c
67+++ b/interface/khronos/ext/egl_wayland.c
68@@ -208,17 +208,38 @@ eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
69 {
70 CLIENT_THREAD_STATE_T *thread;
71 CLIENT_PROCESS_STATE_T *process;
72+ WAYLAND_STATE_T *stateIter;
73+ WAYLAND_STATE_T *stateNew;
74+ struct wl_global *wl_global;
75
76 if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
77 return EGL_FALSE;
78
79- if (process->wl_global != NULL)
80+ stateIter= process->wlStateMap;
81+ while( stateIter )
82+ {
83+ if ( stateIter->display == display )
84+ goto error;
85+ stateIter= stateIter->next;
86+ }
87+
88+ wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
89+ NULL, bind_dispmanx);
90+ if (wl_global == NULL)
91 goto error;
92
93- process->wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
94- NULL, bind_dispmanx);
95- if (process->wl_global == NULL)
96+ stateNew= (WAYLAND_STATE_T*)calloc( 1, sizeof(WAYLAND_STATE_T));
97+ if (stateNew == NULL )
98+ {
99+ wl_global_destroy(wl_global);
100 goto error;
101+ }
102+
103+ stateNew->next= process->wlStateMap;
104+ stateNew->display= display;
105+ stateNew->wl_global= wl_global;
106+ process->wlStateMap= stateNew;
107+ CLIENT_UNLOCK();
108
109 return EGL_TRUE;
110
111@@ -232,12 +253,29 @@ eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
112 {
113 CLIENT_THREAD_STATE_T *thread;
114 CLIENT_PROCESS_STATE_T *process;
115+ WAYLAND_STATE_T *stateIter;
116+ WAYLAND_STATE_T *statePrev;
117
118 if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
119 return EGL_FALSE;
120
121- wl_global_destroy(process->wl_global);
122- process->wl_global = NULL;
123+ statePrev= NULL;
124+ stateIter= process->wlStateMap;
125+ while( stateIter )
126+ {
127+ if ( stateIter->display == display )
128+ {
129+ wl_global_destroy(stateIter->wl_global);
130+ if ( statePrev )
131+ statePrev->next= stateIter->next;
132+ else
133+ process->wlStateMap= stateIter->next;
134+ free( stateIter );
135+ break;
136+ }
137+ statePrev= stateIter;
138+ stateIter= stateIter->next;
139+ }
140
141 CLIENT_UNLOCK();
142
143--
1442.16.1
145
diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb
index bf0e672..de0b3c7 100644
--- a/recipes-graphics/userland/userland_git.bb
+++ b/recipes-graphics/userland/userland_git.bb
@@ -14,11 +14,11 @@ COMPATIBLE_MACHINE = "^rpi$"
14 14
15SRCBRANCH = "master" 15SRCBRANCH = "master"
16SRCFORK = "raspberrypi" 16SRCFORK = "raspberrypi"
17SRCREV = "bc3c52a51315399a9f31ed24049eb4bc81fd1c60" 17SRCREV = "1c3a9eb76da9d6107cadd360301cf20004496b04"
18 18
19# Use the date of the above commit as the package version. Update this when 19# Use the date of the above commit as the package version. Update this when
20# SRCREV is changed. 20# SRCREV is changed.
21PV = "20171114" 21PV = "20180130"
22 22
23SRC_URI = "\ 23SRC_URI = "\
24 git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ 24 git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
@@ -37,6 +37,7 @@ SRC_URI = "\
37 file://0013-Implement-triple-buffering-for-wayland.patch \ 37 file://0013-Implement-triple-buffering-for-wayland.patch \
38 file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \ 38 file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \
39 file://0015-EGL-glplatform.h-define-EGL_CAST.patch \ 39 file://0015-EGL-glplatform.h-define-EGL_CAST.patch \
40 file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
40" 41"
41S = "${WORKDIR}/git" 42S = "${WORKDIR}/git"
42 43