Update snapshot

This commit is contained in:
Leigh Scott 2022-08-09 14:17:38 +01:00
parent 0e1d15c653
commit 9e51218766
4 changed files with 9 additions and 103 deletions

1
.gitignore vendored
View File

@ -23,3 +23,4 @@
/egl-wayland-d0febee.tar.gz
/egl-wayland-53b6a87.tar.gz
/egl-wayland-aaf8608.tar.gz
/egl-wayland-885f0a5.tar.gz

View File

@ -1,96 +0,0 @@
1.1.10 is needed for >=515.57 for working vulkan on wayland but
carries a major regression that can make applications half-displayed
and unusable after a resize.
Official drivers seem to do something similar, they ship a modified
1.1.9 with vulkan fixes rather than 1.1.10.
https://github.com/NVIDIA/egl-wayland/issues/57
Revert of https://github.com/NVIDIA/egl-wayland/commit/ddaa272
--- a/src/wayland-eglsurface.c
+++ b/src/wayland-eglsurface.c
@@ -1612,17 +1612,30 @@
}
-void
-wlEglResizeSurfaceIfRequired(WlEglDisplay *display, WlEglPlatformData *pData, WlEglSurface *surface)
+static void
+resize_callback(struct wl_egl_window *window, void *data)
{
+ WlEglDisplay *display = NULL;
+ WlEglPlatformData *pData = NULL;
+ WlEglSurface *surface = (WlEglSurface *)data;
EGLint err = EGL_SUCCESS;
- if (!surface) {
+ if (!window || !surface) {
+ return;
+ }
+
+ display = surface->wlEglDpy;
+ if (!wlEglIsWaylandDisplay(display->nativeDpy) ||
+ !wlEglIsWaylandWindowValid(surface->wlEglWin)) {
return;
}
+ pData = display->data;
pthread_mutex_lock(&surface->mutexLock);
/* Resize stream only if window geometry has changed */
- if (surface->isResized) {
+ if ((surface->width != window->width) ||
+ (surface->height != window->height) ||
+ (surface->dx != window->dx) ||
+ (surface->dy != window->dy)) {
// If a damage thread is in use, wait for it to finish processing all
// pending frames
@@ -1630,5 +1643,4 @@
discard_surface_context(surface);
- surface->isResized = EGL_FALSE;
surface->ctx.wlStreamResource = NULL;
surface->ctx.isAttached = EGL_FALSE;
@@ -1655,34 +1667,4 @@
pthread_mutex_unlock(&surface->mutexLock);
}
-
-static void
-resize_callback(struct wl_egl_window *window, void *data)
-{
- WlEglDisplay *display = NULL;
- WlEglSurface *surface = (WlEglSurface *)data;
-
- if (!window || !surface) {
- return;
- }
-
- display = surface->wlEglDpy;
- if (!wlEglIsWaylandDisplay(display->nativeDpy) ||
- !wlEglIsWaylandWindowValid(surface->wlEglWin)) {
- return;
- }
-
- pthread_mutex_lock(&surface->mutexLock);
-
- /* Resize stream only if window geometry has changed */
- if ((surface->width != window->width) ||
- (surface->height != window->height) ||
- (surface->dx != window->dx) ||
- (surface->dy != window->dy)) {
- surface->isResized = EGL_TRUE;
- wl_surface_commit(surface->wlSurface);
- }
-
- pthread_mutex_unlock(&surface->mutexLock);
-}
static EGLBoolean validateSurfaceAttrib(EGLAttrib attrib, EGLAttrib value)
--- a/src/wayland-eglswap.c
+++ b/src/wayland-eglswap.c
@@ -65,6 +65,4 @@
surface = eglSurface;
- wlEglResizeSurfaceIfRequired(display, data, surface);
-
if (surface->pendingSwapIntervalUpdate == EGL_TRUE) {
/* Send request from client to override swapinterval value based on

View File

@ -1,11 +1,11 @@
%global commit0 aaf860870ae92ae9a4cb32e458f06ca3f466d288
%global date 20220726
%global commit0 885f0a5e91fe9cfbfbcd98ff01f6b83503decef3
%global date 20220806
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
#global tag %{version}
Name: egl-wayland
Version: 1.1.10
Release: 6%{!?tag:.%{date}git%{shortcommit0}}%{?dist}
Release: 7%{!?tag:.%{date}git%{shortcommit0}}%{?dist}
Summary: Wayland EGL External Platform library
License: MIT
URL: https://github.com/NVIDIA/%{name}
@ -13,14 +13,12 @@ URL: https://github.com/NVIDIA/%{name}
%if 0%{?tag:1}
Source0: %url/archive/%{version}/%{name}-%{version}.tar.gz
%else
Source0: %url/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
Source0: %url/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
%endif
Source1: 10_nvidia_wayland.json
Source2: 15_nvidia_gbm.json
Patch0: https://gitweb.gentoo.org/repo/gentoo.git/plain/gui-libs/egl-wayland/files/egl-wayland-1.1.10-revert-defer-resizes.patch
BuildRequires: meson
BuildRequires: libtool
BuildRequires: eglexternalplatform-devel
@ -74,6 +72,9 @@ find %{buildroot} -name '*.la' -delete
%{_datadir}/wayland-eglstream/
%changelog
* Tue Aug 09 2022 Leigh Scott <leigh123linux@gmail.com> - 1.1.10-7.20220806git885f0a5
- Update snapshot
* Mon Aug 01 2022 Leigh Scott <leigh123linux@gmail.com> - 1.1.10-6.20220726gitaaf8608
- Update snapshot

View File

@ -1 +1 @@
SHA512 (egl-wayland-aaf8608.tar.gz) = 2b12b9d1ddfa43d8d52d49530a37b45b19475d8baed6f2457fe5f8d46f404a96fe10d08ac7258b27fe3e125fc5055727e5ec2497fc38c4a67ee9dbbe53dbde2c
SHA512 (egl-wayland-885f0a5.tar.gz) = ce7aa6cc738dc392dfa9a6cf2c24253968404e011b4e921c6e3bf723fd4bc0eae63ef2050bef025a0726601e5ce2a08987293fd1674fb6c6b6c207969fd15bcb