This commit is contained in:
Ward Nakchbandi (Cosmic Fusion) 2023-10-18 19:56:15 +03:00 committed by GitHub
parent 0d0af61a76
commit 06699d38a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 46 additions and 4 deletions

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
egl-wayland (1:1.1.12-99pika1.lunar) lunar; urgency=medium
egl-wayland (1:1.1.12-100pika1) pikauwu; urgency=medium
* New upstream release.

View File

@ -1 +0,0 @@
#placeholder

View File

@ -2,6 +2,7 @@
git clone https://github.com/NVIDIA/egl-wayland -b 1.1.12
cp -rvf ./debian ./egl-wayland
cd ./egl-wayland
for i in $(cat ../patches/series) ; do echo "Applying Patch: $i" && patch -Np1 -i ../patches/$i || bash -c "echo "Applying Patch $i Failed!" && exit 2"; done
# Get build deps
apt-get build-dep ./ -y

View File

@ -0,0 +1,41 @@
diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
index cd8ed1e..98f38cf 100644
--- a/src/wayland-eglsurface.c
+++ b/src/wayland-eglsurface.c
@@ -1364,12 +1364,6 @@ static EGLint create_surface_stream_local(WlEglSurface *surface)
WlEglDmaBufFormatSet *formatSet = NULL;
WlEglDmaBufFeedback *feedback = NULL;
- /* First do a roundtrip to get the tranches in case the compositor resent them */
- if (wl_display_roundtrip_queue(display->nativeDpy, display->wlEventQueue) < 0) {
- err = EGL_BAD_ACCESS;
- goto fail;
- }
-
/*
* Vulkan surfaces will not have an eglConfig set. We will need to address them
* separately.
@@ -2348,8 +2342,13 @@ EGLSurface wlEglCreatePlatformWindowSurfaceHook(EGLDisplay dpy,
* hints about which modifiers to use.
*/
if (display->dmaBufProtocolVersion >= 4) {
+ struct zwp_linux_dmabuf_v1 *wrapper = wl_proxy_create_wrapper(display->wlDmaBuf);
+ wl_proxy_set_queue((struct wl_proxy *)wrapper, surface->wlEventQueue);
+
surface->feedback.wlDmaBufFeedback =
- zwp_linux_dmabuf_v1_get_surface_feedback(display->wlDmaBuf, surface->wlSurface);
+ zwp_linux_dmabuf_v1_get_surface_feedback(wrapper, surface->wlSurface);
+
+ wl_proxy_wrapper_destroy(wrapper);
if (!surface->feedback.wlDmaBufFeedback ||
WlEglRegisterFeedback(&surface->feedback)) {
@@ -2357,7 +2356,7 @@ EGLSurface wlEglCreatePlatformWindowSurfaceHook(EGLDisplay dpy,
goto fail;
}
/* Do a roundtrip to get the tranches before calling create_surface_context */
- if (wl_display_roundtrip_queue(display->nativeDpy, display->wlEventQueue) < 0) {
+ if (wl_display_roundtrip_queue(display->nativeDpy, surface->wlEventQueue) < 0) {
err = EGL_BAD_ALLOC;
goto fail;
}

1
patches/series Normal file
View File

@ -0,0 +1 @@
fix-egl-wayland-fullscreen-feedback.diff

View File

@ -2,7 +2,7 @@
rsync -azP --include './' --include '*.deb' --exclude '*' ./output/ ferreo@direct.pika-os.com:/srv/www/incoming/
# add debs to repo
ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pika-main /srv/www/incoming/'
ssh ferreo@direct.pika-os.com 'aptly repo add -force-replace -remove-files pikauwu-main /srv/www/incoming/'
# publish the repo
ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite lunar filesystem:pikarepo:'
ssh ferreo@direct.pika-os.com 'aptly publish update -batch -skip-contents -force-overwrite pikauwu filesystem:pikarepo:'