Update to 3.23.90
This commit is contained in:
parent
7df863cfb1
commit
d38870577f
1
.gitignore
vendored
1
.gitignore
vendored
@ -118,3 +118,4 @@ mutter-2.31.5.tar.bz2
|
||||
/mutter-3.22.1.tar.xz
|
||||
/mutter-3.23.1.tar.xz
|
||||
/mutter-3.23.2.tar.xz
|
||||
/mutter-3.23.90.tar.xz
|
||||
|
@ -1,126 +0,0 @@
|
||||
From c6835e469549189eed7cac13a9c6f0de574e436b Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Tue, 4 Oct 2016 13:20:27 -0400
|
||||
Subject: [PATCH] Use eglGetPlatformDisplay
|
||||
|
||||
Different libEGL will do different things for eglGetDisplay since it has
|
||||
to guess what kind of display it's been handed. Better to just use the
|
||||
API that makes it explicit.
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
---
|
||||
cogl/cogl/winsys/cogl-winsys-egl-x11.c | 36 ++++++++++++++++++++++++++++--
|
||||
src/backends/native/meta-renderer-native.c | 36 ++++++++++++++++++++++++++++--
|
||||
2 files changed, 68 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/cogl/cogl/winsys/cogl-winsys-egl-x11.c b/cogl/cogl/winsys/cogl-winsys-egl-x11.c
|
||||
index 454b41e..a7379a5 100644
|
||||
--- a/cogl/cogl/winsys/cogl-winsys-egl-x11.c
|
||||
+++ b/cogl/cogl/winsys/cogl-winsys-egl-x11.c
|
||||
@@ -261,6 +261,39 @@ _cogl_winsys_renderer_disconnect (CoglRenderer *renderer)
|
||||
g_slice_free (CoglRendererEGL, egl_renderer);
|
||||
}
|
||||
|
||||
+static EGLDisplay
|
||||
+_cogl_winsys_egl_get_display (void *native)
|
||||
+{
|
||||
+ EGLDisplay dpy = NULL;
|
||||
+ const char *client_exts = eglQueryString (NULL, EGL_EXTENSIONS);
|
||||
+
|
||||
+ if (g_strstr_len (client_exts, -1, "EGL_KHR_platform_base"))
|
||||
+ {
|
||||
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
|
||||
+ (void *) eglGetProcAddress ("eglGetPlatformDisplay");
|
||||
+
|
||||
+ if (get_platform_display)
|
||||
+ dpy = get_platform_display (EGL_PLATFORM_X11_KHR, native, NULL);
|
||||
+
|
||||
+ if (dpy)
|
||||
+ return dpy;
|
||||
+ }
|
||||
+
|
||||
+ if (g_strstr_len (client_exts, -1, "EGL_EXT_platform_base"))
|
||||
+ {
|
||||
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
|
||||
+ (void *) eglGetProcAddress ("eglGetPlatformDisplayEXT");
|
||||
+
|
||||
+ if (get_platform_display)
|
||||
+ dpy = get_platform_display (EGL_PLATFORM_X11_KHR, native, NULL);
|
||||
+
|
||||
+ if (dpy)
|
||||
+ return dpy;
|
||||
+ }
|
||||
+
|
||||
+ return eglGetDisplay ((EGLNativeDisplayType) native);
|
||||
+}
|
||||
+
|
||||
static CoglBool
|
||||
_cogl_winsys_renderer_connect (CoglRenderer *renderer,
|
||||
CoglError **error)
|
||||
@@ -277,8 +310,7 @@ _cogl_winsys_renderer_connect (CoglRenderer *renderer,
|
||||
if (!_cogl_xlib_renderer_connect (renderer, error))
|
||||
goto error;
|
||||
|
||||
- egl_renderer->edpy =
|
||||
- eglGetDisplay ((EGLNativeDisplayType) xlib_renderer->xdpy);
|
||||
+ egl_renderer->edpy = _cogl_winsys_egl_get_display (xlib_renderer->xdpy);
|
||||
|
||||
if (!_cogl_winsys_egl_renderer_connect_common (renderer, error))
|
||||
goto error;
|
||||
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
|
||||
index 2093e09..b0d11c0 100644
|
||||
--- a/src/backends/native/meta-renderer-native.c
|
||||
+++ b/src/backends/native/meta-renderer-native.c
|
||||
@@ -222,6 +222,39 @@ meta_onscreen_native_queue_swap_notify (CoglOnscreen *onscreen)
|
||||
onscreen_native->pending_swap_notify = TRUE;
|
||||
}
|
||||
|
||||
+static EGLDisplay
|
||||
+meta_egl_get_display (void *native)
|
||||
+{
|
||||
+ EGLDisplay dpy = NULL;
|
||||
+ const char *client_exts = eglQueryString (NULL, EGL_EXTENSIONS);
|
||||
+
|
||||
+ if (g_strstr_len (client_exts, -1, "EGL_KHR_platform_base"))
|
||||
+ {
|
||||
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
|
||||
+ (void *) eglGetProcAddress ("eglGetPlatformDisplay");
|
||||
+
|
||||
+ if (get_platform_display)
|
||||
+ dpy = get_platform_display (EGL_PLATFORM_GBM_MESA, native, NULL);
|
||||
+
|
||||
+ if (dpy)
|
||||
+ return dpy;
|
||||
+ }
|
||||
+
|
||||
+ if (g_strstr_len (client_exts, -1, "EGL_EXT_platform_base"))
|
||||
+ {
|
||||
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
|
||||
+ (void *) eglGetProcAddress ("eglGetPlatformDisplayEXT");
|
||||
+
|
||||
+ if (get_platform_display)
|
||||
+ dpy = get_platform_display (EGL_PLATFORM_GBM_MESA, native, NULL);
|
||||
+
|
||||
+ if (dpy)
|
||||
+ return dpy;
|
||||
+ }
|
||||
+
|
||||
+ return eglGetDisplay ((EGLNativeDisplayType) native);
|
||||
+}
|
||||
+
|
||||
static CoglBool
|
||||
meta_renderer_native_connect (CoglRenderer *cogl_renderer,
|
||||
CoglError **error)
|
||||
@@ -246,8 +279,7 @@ meta_renderer_native_connect (CoglRenderer *cogl_renderer,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
- egl_renderer->edpy =
|
||||
- eglGetDisplay ((EGLNativeDisplayType) renderer_native->gbm);
|
||||
+ egl_renderer->edpy = meta_egl_get_display (renderer_native->gbm);
|
||||
if (egl_renderer->edpy == EGL_NO_DISPLAY)
|
||||
{
|
||||
_cogl_set_error (error, COGL_WINSYS_ERROR,
|
||||
--
|
||||
2.9.3
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -Nur mutter-3.32.2.orig/src/backends/meta-egl.c mutter-3.23.2/src/backends/meta-egl.c
|
||||
--- mutter-3.32.2.orig/src/backends/meta-egl.c 2016-11-22 08:27:46.000000000 -0700
|
||||
+++ mutter-3.23.2/src/backends/meta-egl.c 2016-11-24 11:14:48.612133544 -0700
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
error_str = get_egl_error_str ();
|
||||
g_set_error (error, G_IO_ERROR,
|
||||
- G_IO_ERROR_FAILED,
|
||||
+ G_IO_ERROR_FAILED, "%s",
|
||||
error_str);
|
||||
}
|
||||
|
17
mutter.spec
17
mutter.spec
@ -4,8 +4,8 @@
|
||||
%global libinput_version 1.4
|
||||
|
||||
Name: mutter
|
||||
Version: 3.23.3
|
||||
Release: 2%{?dist}
|
||||
Version: 3.23.90
|
||||
Release: 1%{?dist}
|
||||
Summary: Window and compositing manager based on Clutter
|
||||
|
||||
License: GPLv2+
|
||||
@ -13,13 +13,7 @@ License: GPLv2+
|
||||
URL: http://www.gnome.org
|
||||
Source0: http://download.gnome.org/sources/%{name}/3.23/%{name}-%{version}.tar.xz
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=772422
|
||||
Patch0: 0001-Use-eglGetPlatformDisplay.patch
|
||||
Patch1: startup-notification.patch
|
||||
#
|
||||
# Fix format security issue that prevents compiling under Fedora
|
||||
#
|
||||
Patch2: mutter-3.23.2-eglformat-security.patch
|
||||
Patch0: startup-notification.patch
|
||||
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: pango-devel
|
||||
@ -114,8 +108,6 @@ the functionality of the installed %{name} package.
|
||||
%prep
|
||||
%setup -q
|
||||
#patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
autoreconf -f -i
|
||||
@ -188,6 +180,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
|
||||
%{_datadir}/mutter/tests
|
||||
|
||||
%changelog
|
||||
* Thu Feb 16 2017 Florian Müllner <fmuellner@redhat.com> - 3.23.90-1
|
||||
- Update to 3.23.90
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.23.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user