summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel A. Vico2019-06-21 17:50:34 -0700
committerMiguel A. Vico2019-06-21 17:51:46 -0700
commit9243abbccc41948a34da7d34af7cf3a478c11a79 (patch)
treea4c10e1dc94cacf8d4c8f25999f2aac9354eddc3
parent6270174bd71c83185112d299fbc842293b7ffb2c (diff)
downloadaur-9243abbccc41948a34da7d34af7cf3a478c11a79.tar.gz
Include recent fixes
-rw-r--r--.SRCINFO22
-rw-r--r--0001-configure-meson-Tmp-fix-for-gobject-2.0-libs-missing.patch4
-rw-r--r--0002-gl-renderer-Add-EGLDevice-enumeration-support.patch2
-rw-r--r--0003-gl-renderer-Add-support-for-EGLDevice-composited-fra.patch2
-rw-r--r--0004-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch2
-rw-r--r--0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch4
-rw-r--r--0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch2
-rw-r--r--0007-compositor-Process-stream-attach-requests-with-wl_eg.patch2
-rw-r--r--0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch3
-rw-r--r--0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch39
-rw-r--r--0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch39
-rw-r--r--PKGBUILD26
12 files changed, 118 insertions, 29 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 28682afabd43..19676bf3748e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = weston-eglstream
pkgdesc = Reference implementation of a Wayland compositor with EGLStream support
pkgver = 6.0.0
- pkgrel = 1
+ pkgrel = 2
url = https://wayland.freedesktop.org/
arch = x86_64
license = MIT
@@ -30,15 +30,19 @@ pkgbase = weston-eglstream
source = 0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch
source = 0007-compositor-Process-stream-attach-requests-with-wl_eg.patch
source = 0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch
+ source = 0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
+ source = 0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch
sha256sums = 546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612
- sha256sums = d6e78c5bfc2118f1955f8c3eb30aedf7dc01cab9e21271b135dc32be1b895607
- sha256sums = f4b5222e0a8ee1c895f0e60e34d9d7c0a371012c5aab4d7e896e4c6f0df514b7
- sha256sums = 8e778e55a2268cf932d57e4a6bbedcc7e24b1e223583cb238091dd426217198b
- sha256sums = 01ecdb0363d36e11365ffe77056e9ec282d1928b007023ac7450aa2812a5018f
- sha256sums = f14e27d58b7b0ec72b5aa722db95bd62e9b316e91907070cfeed236e65fe5c17
- sha256sums = 77b1633c0162ac0b6f8126a1e614b8fa54a672927c04c1cacc5486b534ebd4ec
- sha256sums = 36f05125a0be58d2ce840c8de2b8d42cfeeae8362e5b95861669b85d0f876816
- sha256sums = a2acbc92962d2ae2c1690398af67eac35c5bbe06f0ff03a94f1aa1f12385ea12
+ sha256sums = b7492f80795e4039b234c20ea67dc14956336af8370531358013fb50d00b42e1
+ sha256sums = 4ef5e24aec18efe9296b73c70897ec1af679bb6b68c8d7961692c2a6eb45542d
+ sha256sums = c732aa688948fe1fa0b55ffce137f4aa480866b339664c44be6c3b2597b2cc9e
+ sha256sums = 2e2ba999c8c86bd31ef177a73a3bbbcaaddab1a7fe0e712b571a3564dcb7aff1
+ sha256sums = 491a825ad126be82848726ba03b97a972b8281e7dbe9262689023c59c59d0d87
+ sha256sums = 6db13c8252e37e6374231b5b9105c2344e6cd73af254fbf35ee303b36495210e
+ sha256sums = bf36c7348a7c43d76f0043452578d93242594c157c0349b6b866ef93c7363fdd
+ sha256sums = dff1c611b59889fd3d149e4837c25da0252b15ec064d61533b7e21fbc49a6d4d
+ sha256sums = 7a6140a2b82d4e654fcc4fbf72d4469797f1b36723936ce8ab177b9066528faf
+ sha256sums = 164631eba83d2069f71760c44bb687640757189c9e8e7276bc7cc741f6afa9f5
pkgname = weston-eglstream
diff --git a/0001-configure-meson-Tmp-fix-for-gobject-2.0-libs-missing.patch b/0001-configure-meson-Tmp-fix-for-gobject-2.0-libs-missing.patch
index 0f67b36e4bc6..b8c145a9f8d2 100644
--- a/0001-configure-meson-Tmp-fix-for-gobject-2.0-libs-missing.patch
+++ b/0001-configure-meson-Tmp-fix-for-gobject-2.0-libs-missing.patch
@@ -1,8 +1,8 @@
From e1486fee47785c094e93eca336684ab38bcb16bc Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Tue, 26 Mar 2019 15:34:12 -0700
-Subject: [PATCH 1/8] configure/meson: Tmp fix for gobject-2.0 libs missing in
- pango pkgconfig
+Subject: [PATCH 01/10] configure/meson: Tmp fix for gobject-2.0 libs missing
+ in pango pkgconfig
X-NVConfidentiality: public
This fixes the following build error, until the pango pkgconfig is
diff --git a/0002-gl-renderer-Add-EGLDevice-enumeration-support.patch b/0002-gl-renderer-Add-EGLDevice-enumeration-support.patch
index 99c3da9c3d3c..295f2e584a6f 100644
--- a/0002-gl-renderer-Add-EGLDevice-enumeration-support.patch
+++ b/0002-gl-renderer-Add-EGLDevice-enumeration-support.patch
@@ -1,7 +1,7 @@
From ed68f6d00e47bdca93859b36a3c78f6fb555cd25 Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Mon, 2 May 2016 15:56:37 +0200
-Subject: [PATCH 2/8] gl-renderer: Add EGLDevice enumeration support
+Subject: [PATCH 02/10] gl-renderer: Add EGLDevice enumeration support
X-NVConfidentiality: public
EGLDevice provides means to enumerate native devices.
diff --git a/0003-gl-renderer-Add-support-for-EGLDevice-composited-fra.patch b/0003-gl-renderer-Add-support-for-EGLDevice-composited-fra.patch
index 359418ff489a..ddab64571cfd 100644
--- a/0003-gl-renderer-Add-support-for-EGLDevice-composited-fra.patch
+++ b/0003-gl-renderer-Add-support-for-EGLDevice-composited-fra.patch
@@ -1,7 +1,7 @@
From 1df7a9d5e4222a40885bd8e46b33f5dd4525e93b Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Mon, 2 May 2016 16:34:01 +0200
-Subject: [PATCH 3/8] gl-renderer: Add support for EGLDevice composited frame
+Subject: [PATCH 03/10] gl-renderer: Add support for EGLDevice composited frame
presentation
X-NVConfidentiality: public
diff --git a/0004-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch b/0004-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch
index 2f2a7a9c5377..ad9c2ecb3d03 100644
--- a/0004-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch
+++ b/0004-gl-renderer-Add-EGL-client-support-for-EGLStream-fra.patch
@@ -1,7 +1,7 @@
From 1c422fb24eadccabd3ed07de15923acc982aa6a1 Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Thu, 29 Mar 2018 00:15:49 -0700
-Subject: [PATCH 4/8] gl-renderer: Add EGL client support for EGLStream frame
+Subject: [PATCH 04/10] gl-renderer: Add EGL client support for EGLStream frame
presentation
X-NVConfidentiality: public
diff --git a/0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch b/0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch
index 83c26ca11f0c..6316023471d4 100644
--- a/0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch
+++ b/0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch
@@ -1,8 +1,8 @@
From 85e804380738537bbc9afeb658c1218040c68cfa Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Tue, 1 Mar 2016 22:19:14 +0100
-Subject: [PATCH 5/8] compositor-drm: Gracefully handle vblank and flip invalid
- timestamps
+Subject: [PATCH 05/10] compositor-drm: Gracefully handle vblank and flip
+ invalid timestamps
X-NVConfidentiality: public
Instant query for vblank timestamp may always fail, resulting in
diff --git a/0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch b/0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch
index 84680572627b..7baf62dba47b 100644
--- a/0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch
+++ b/0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch
@@ -1,7 +1,7 @@
From 73bc85fbde7c65d3a667982301877238d3c02bf8 Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Thu, 28 Jan 2016 19:37:10 +0100
-Subject: [PATCH 6/8] compositor-drm: Add support for EGLDevice+EGLOutput
+Subject: [PATCH 06/10] compositor-drm: Add support for EGLDevice+EGLOutput
X-NVConfidentiality: public
As previously stated, EGLDevice and EGLOutput will provide means
diff --git a/0007-compositor-Process-stream-attach-requests-with-wl_eg.patch b/0007-compositor-Process-stream-attach-requests-with-wl_eg.patch
index 247fd1c11607..de8625a5ae18 100644
--- a/0007-compositor-Process-stream-attach-requests-with-wl_eg.patch
+++ b/0007-compositor-Process-stream-attach-requests-with-wl_eg.patch
@@ -1,7 +1,7 @@
From 5076208fd90be98deff790f0f4429cfe54f1457a Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Thu, 18 May 2017 14:35:36 -0700
-Subject: [PATCH 7/8] compositor: Process stream attach requests with
+Subject: [PATCH 07/10] compositor: Process stream attach requests with
wl_eglstream_controller
X-NVConfidentiality: public
diff --git a/0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch b/0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch
index e0bd3cc828d3..e75238640d8c 100644
--- a/0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch
+++ b/0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch
@@ -1,7 +1,8 @@
From a49fdfc86296f3e6a05388c7bc7ea806be49d919 Mon Sep 17 00:00:00 2001
From: "Miguel A. Vico" <mvicomoya@nvidia.com>
Date: Mon, 27 Feb 2017 15:31:35 -0800
-Subject: [PATCH 8/8] simple-egl: Do not set EGL up until XDG setup is complete
+Subject: [PATCH 08/10] simple-egl: Do not set EGL up until XDG setup is
+ complete
X-NVConfidentiality: public
There is nothing that prohibits the underlying EGL_PLATFORM_WAYLAND
diff --git a/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch b/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
new file mode 100644
index 000000000000..7423e1e26b1a
--- /dev/null
+++ b/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch
@@ -0,0 +1,39 @@
+From ef60350defbf06da7d37352a31e6a80a2f732ebe Mon Sep 17 00:00:00 2001
+From: Erik Kurzinger <ekurzinger@nvidia.com>
+Date: Fri, 12 Apr 2019 21:31:46 +0000
+Subject: [PATCH 09/10] gl-renderer: Try realizing EGLStream before EGLImage
+ buffer
+X-NVConfidentiality: public
+
+Currently, it is assumed that if querying the EGL_TEXTURE_FORMAT of a
+Wayland buffer succeeds it is an EGLImage. However, this assumption will no
+longer hold on upcoming versions of the NVIDIA EGL Wayland driver which
+will include support for querying this attribute for EGLStream buffers as
+well. Hence, we need to check if buffers are EGLStreams first.
+---
+ libweston/gl-renderer.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c
+index 8265a712..c1a88a11 100644
+--- a/libweston/gl-renderer.c
++++ b/libweston/gl-renderer.c
+@@ -2752,13 +2752,14 @@ gl_renderer_attach(struct weston_surface *es, struct weston_buffer *buffer)
+
+ if (shm_buffer)
+ gl_renderer_attach_shm(es, buffer, shm_buffer);
++ else if (gl_renderer_attach_stream_texture(es, buffer));
+ else if (gr->has_bind_display &&
+ gr->query_buffer(gr->egl_display, (void *)buffer->resource,
+ EGL_TEXTURE_FORMAT, &format))
+ gl_renderer_attach_egl(es, buffer, format);
+ else if ((dmabuf = linux_dmabuf_buffer_get(buffer->resource)))
+ gl_renderer_attach_dmabuf(es, buffer, dmabuf);
+- else if (!gl_renderer_attach_stream_texture(es, buffer)) {
++ else {
+ weston_log("unhandled buffer type!\n");
+ if (gr->has_bind_display) {
+ weston_log("eglQueryWaylandBufferWL failed\n");
+--
+2.21.0
+
diff --git a/0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch b/0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch
new file mode 100644
index 000000000000..7d4d3d064182
--- /dev/null
+++ b/0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch
@@ -0,0 +1,39 @@
+From 0868ca341affb984bfcd86cf578bb9734367dae7 Mon Sep 17 00:00:00 2001
+From: "Miguel A. Vico" <mvicomoya@nvidia.com>
+Date: Fri, 21 Jun 2019 13:51:11 -0700
+Subject: [PATCH 10/10] compositor-drm: Cleanup scanout plane state upon head
+ detach
+X-NVConfidentiality: public
+
+When using EGLStreams and a head is detached, the scanout plane buffers
+will be destroyed upon output destruction as the stream is torn down.
+That needs to be reflected in the drm structures that keep track of all
+this.
+
+This change ensures the scanout plane state is freed appropriately upon
+output destruction when using EGLStreams as well as GBM.
+
+Signed-off-by: Miguel A Vico Moya <mvicomoya@nvidia.com>
+---
+ libweston/compositor-drm.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c
+index 100b3050..17f2e103 100644
+--- a/libweston/compositor-drm.c
++++ b/libweston/compositor-drm.c
+@@ -5232,8 +5232,9 @@ drm_output_fini_egl(struct drm_output *output)
+ /* Destroying the GBM surface will destroy all our GBM buffers,
+ * regardless of refcount. Ensure we destroy them here. */
+ if (!b->shutting_down &&
+- output->scanout_plane->state_cur->fb &&
+- output->scanout_plane->state_cur->fb->type == BUFFER_GBM_SURFACE) {
++ ((output->scanout_plane->state_cur->fb &&
++ output->scanout_plane->state_cur->fb->type == BUFFER_GBM_SURFACE) ||
++ b->use_egldevice)) {
+ drm_plane_state_free(output->scanout_plane->state_cur, true);
+ output->scanout_plane->state_cur =
+ drm_plane_state_alloc(NULL, output->scanout_plane);
+--
+2.21.0
+
diff --git a/PKGBUILD b/PKGBUILD
index e0d23ba1703a..ce30111631cc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
pkgname=weston-eglstream
pkgver=6.0.0
-pkgrel=1
+pkgrel=2
pkgdesc='Reference implementation of a Wayland compositor with EGLStream support'
arch=('x86_64')
url='https://wayland.freedesktop.org/'
@@ -25,16 +25,20 @@ source=("https://wayland.freedesktop.org/releases/weston-$pkgver.tar.xz"
'0005-compositor-drm-Gracefully-handle-vblank-and-flip-inv.patch'
'0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch'
'0007-compositor-Process-stream-attach-requests-with-wl_eg.patch'
- '0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch')
+ '0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch'
+ '0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch'
+ '0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch')
sha256sums=('546323a90607b3bd7f48809ea9d76e64cd09718102f2deca6d95aa59a882e612'
- 'd6e78c5bfc2118f1955f8c3eb30aedf7dc01cab9e21271b135dc32be1b895607'
- 'f4b5222e0a8ee1c895f0e60e34d9d7c0a371012c5aab4d7e896e4c6f0df514b7'
- '8e778e55a2268cf932d57e4a6bbedcc7e24b1e223583cb238091dd426217198b'
- '01ecdb0363d36e11365ffe77056e9ec282d1928b007023ac7450aa2812a5018f'
- 'f14e27d58b7b0ec72b5aa722db95bd62e9b316e91907070cfeed236e65fe5c17'
- '77b1633c0162ac0b6f8126a1e614b8fa54a672927c04c1cacc5486b534ebd4ec'
- '36f05125a0be58d2ce840c8de2b8d42cfeeae8362e5b95861669b85d0f876816'
- 'a2acbc92962d2ae2c1690398af67eac35c5bbe06f0ff03a94f1aa1f12385ea12')
+ 'b7492f80795e4039b234c20ea67dc14956336af8370531358013fb50d00b42e1'
+ '4ef5e24aec18efe9296b73c70897ec1af679bb6b68c8d7961692c2a6eb45542d'
+ 'c732aa688948fe1fa0b55ffce137f4aa480866b339664c44be6c3b2597b2cc9e'
+ '2e2ba999c8c86bd31ef177a73a3bbbcaaddab1a7fe0e712b571a3564dcb7aff1'
+ '491a825ad126be82848726ba03b97a972b8281e7dbe9262689023c59c59d0d87'
+ '6db13c8252e37e6374231b5b9105c2344e6cd73af254fbf35ee303b36495210e'
+ 'bf36c7348a7c43d76f0043452578d93242594c157c0349b6b866ef93c7363fdd'
+ 'dff1c611b59889fd3d149e4837c25da0252b15ec064d61533b7e21fbc49a6d4d'
+ '7a6140a2b82d4e654fcc4fbf72d4469797f1b36723936ce8ab177b9066528faf'
+ '164631eba83d2069f71760c44bb687640757189c9e8e7276bc7cc741f6afa9f5')
prepare() {
cd weston-$pkgver
@@ -46,6 +50,8 @@ prepare() {
patch -Np1 -i "${srcdir}/0006-compositor-drm-Add-support-for-EGLDevice-EGLOutput.patch"
patch -Np1 -i "${srcdir}/0007-compositor-Process-stream-attach-requests-with-wl_eg.patch"
patch -Np1 -i "${srcdir}/0008-simple-egl-Do-not-set-EGL-up-until-XDG-setup-is-comp.patch"
+ patch -Np1 -i "${srcdir}/0009-gl-renderer-Try-realizing-EGLStream-before-EGLImage-.patch"
+ patch -Np1 -i "${srcdir}/0010-compositor-drm-Cleanup-scanout-plane-state-upon-head.patch"
}
build() {