Update snapshot
This commit is contained in:
parent
0e1d15c653
commit
9e51218766
1
.gitignore
vendored
1
.gitignore
vendored
@ -23,3 +23,4 @@
|
||||
/egl-wayland-d0febee.tar.gz
|
||||
/egl-wayland-53b6a87.tar.gz
|
||||
/egl-wayland-aaf8608.tar.gz
|
||||
/egl-wayland-885f0a5.tar.gz
|
||||
|
@ -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
|
@ -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
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (egl-wayland-aaf8608.tar.gz) = 2b12b9d1ddfa43d8d52d49530a37b45b19475d8baed6f2457fe5f8d46f404a96fe10d08ac7258b27fe3e125fc5055727e5ec2497fc38c4a67ee9dbbe53dbde2c
|
||||
SHA512 (egl-wayland-885f0a5.tar.gz) = ce7aa6cc738dc392dfa9a6cf2c24253968404e011b4e921c6e3bf723fd4bc0eae63ef2050bef025a0726601e5ce2a08987293fd1674fb6c6b6c207969fd15bcb
|
||||
|
Loading…
Reference in New Issue
Block a user