diff options
author | Miguel A. Vico | 2019-06-21 17:50:34 -0700 |
---|---|---|
committer | Miguel A. Vico | 2019-06-21 17:51:46 -0700 |
commit | 9243abbccc41948a34da7d34af7cf3a478c11a79 (patch) | |
tree | a4c10e1dc94cacf8d4c8f25999f2aac9354eddc3 | |
parent | 6270174bd71c83185112d299fbc842293b7ffb2c (diff) | |
download | aur-9243abbccc41948a34da7d34af7cf3a478c11a79.tar.gz |
Include recent fixes
12 files changed, 118 insertions, 29 deletions
@@ -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 + @@ -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() { |