[arch-commits] Commit in mutter/repos/extra-x86_64 (4 files)

Jan Steffens heftig at archlinux.org
Sat Mar 16 13:35:09 UTC 2019


    Date: Saturday, March 16, 2019 @ 13:35:08
  Author: heftig
Revision: 348471

archrelease: copy trunk to extra-x86_64

Added:
  mutter/repos/extra-x86_64/216.patch
    (from rev 348470, mutter/trunk/216.patch)
  mutter/repos/extra-x86_64/PKGBUILD
    (from rev 348470, mutter/trunk/PKGBUILD)
Deleted:
  mutter/repos/extra-x86_64/216.patch
  mutter/repos/extra-x86_64/PKGBUILD

-----------+
 216.patch |  256 ++++++++++++++++++++++++++++++------------------------------
 PKGBUILD  |  108 ++++++++++++-------------
 2 files changed, 182 insertions(+), 182 deletions(-)

Deleted: 216.patch
===================================================================
--- 216.patch	2019-03-16 13:34:49 UTC (rev 348470)
+++ 216.patch	2019-03-16 13:35:08 UTC (rev 348471)
@@ -1,128 +0,0 @@
-From 6d8d73beeef3a618c553e89b0b3e532ec3654a30 Mon Sep 17 00:00:00 2001
-From: Daniel van Vugt <daniel.van.vugt at canonical.com>
-Date: Mon, 23 Jul 2018 16:28:56 +0800
-Subject: [PATCH] cogl-winsys-glx: Fix frame notification race/leak
-
-If a second `set_{sync,complete}_pending` was queued before the idle
-handler had flushed the first then one of them would be forgotten.
-It would stay queued forever and never emitted as a notification.
-
-This could happen repeatedly causing a slow leak. But worse still,
-`clutter-stage-cogl` would then have `pending_swaps` permanently stuck
-above zero preventing the presentation timing logic from being used.
-
-The problem is that a boolean can only count to one, but in some cases
-(triple buffering, whether intentional or accidental #334) we need it to
-count to two. So just change booleans to integers and count properly.
-
-https://gitlab.gnome.org/GNOME/mutter/merge_requests/216
----
- cogl/cogl/winsys/cogl-winsys-glx.c | 58 +++++++++++++++---------------
- 1 file changed, 29 insertions(+), 29 deletions(-)
-
-diff --git a/cogl/cogl/winsys/cogl-winsys-glx.c b/cogl/cogl/winsys/cogl-winsys-glx.c
-index 2623d02c6..235cfe81f 100644
---- a/cogl/cogl/winsys/cogl-winsys-glx.c
-+++ b/cogl/cogl/winsys/cogl-winsys-glx.c
-@@ -99,9 +99,9 @@ typedef struct _CoglOnscreenGLX
-   CoglOnscreenXlib _parent;
-   GLXDrawable glxwin;
-   uint32_t last_swap_vsync_counter;
--  gboolean pending_sync_notify;
--  gboolean pending_complete_notify;
--  gboolean pending_resize_notify;
-+  uint32_t pending_sync_notify;
-+  uint32_t pending_complete_notify;
-+  uint32_t pending_resize_notify;
- 
-   GThread *swap_wait_thread;
-   GQueue *swap_wait_queue;
-@@ -347,35 +347,35 @@ flush_pending_notifications_cb (void *data,
-     {
-       CoglOnscreen *onscreen = COGL_ONSCREEN (framebuffer);
-       CoglOnscreenGLX *glx_onscreen = onscreen->winsys;
--      gboolean pending_sync_notify = glx_onscreen->pending_sync_notify;
--      gboolean pending_complete_notify = glx_onscreen->pending_complete_notify;
- 
--      /* If swap_region is called then notifying the sync event could
--       * potentially immediately queue a subsequent pending notify so
--       * we need to clear the flag before invoking the callback */
--      glx_onscreen->pending_sync_notify = FALSE;
--      glx_onscreen->pending_complete_notify = FALSE;
--
--      if (pending_sync_notify)
-+      while (glx_onscreen->pending_sync_notify > 0 ||
-+             glx_onscreen->pending_complete_notify > 0 ||
-+             glx_onscreen->pending_resize_notify > 0)
-         {
--          CoglFrameInfo *info = g_queue_peek_head (&onscreen->pending_frame_infos);
--
--          _cogl_onscreen_notify_frame_sync (onscreen, info);
--        }
-+          if (glx_onscreen->pending_sync_notify > 0)
-+            {
-+              CoglFrameInfo *info =
-+                g_queue_peek_head (&onscreen->pending_frame_infos);
- 
--      if (pending_complete_notify)
--        {
--          CoglFrameInfo *info = g_queue_pop_head (&onscreen->pending_frame_infos);
-+              _cogl_onscreen_notify_frame_sync (onscreen, info);
-+              glx_onscreen->pending_sync_notify--;
-+            }
- 
--          _cogl_onscreen_notify_complete (onscreen, info);
-+          if (glx_onscreen->pending_complete_notify > 0)
-+            {
-+              CoglFrameInfo *info =
-+                g_queue_pop_head (&onscreen->pending_frame_infos);
- 
--          cogl_object_unref (info);
--        }
-+              _cogl_onscreen_notify_complete (onscreen, info);
-+              cogl_object_unref (info);
-+              glx_onscreen->pending_complete_notify--;
-+            }
- 
--      if (glx_onscreen->pending_resize_notify)
--        {
--          _cogl_onscreen_notify_resize (onscreen);
--          glx_onscreen->pending_resize_notify = FALSE;
-+          if (glx_onscreen->pending_resize_notify > 0)
-+            {
-+              _cogl_onscreen_notify_resize (onscreen);
-+              glx_onscreen->pending_resize_notify--;
-+            }
-         }
-     }
- }
-@@ -417,7 +417,7 @@ set_sync_pending (CoglOnscreen *onscreen)
-                                       NULL);
-     }
- 
--  glx_onscreen->pending_sync_notify = TRUE;
-+  glx_onscreen->pending_sync_notify++;
- }
- 
- static void
-@@ -440,7 +440,7 @@ set_complete_pending (CoglOnscreen *onscreen)
-                                       NULL);
-     }
- 
--  glx_onscreen->pending_complete_notify = TRUE;
-+  glx_onscreen->pending_complete_notify++;
- }
- 
- static void
-@@ -533,7 +533,7 @@ notify_resize (CoglContext *context,
-                                       NULL);
-     }
- 
--  glx_onscreen->pending_resize_notify = TRUE;
-+  glx_onscreen->pending_resize_notify++;
- 
-   if (!xlib_onscreen->is_foreign_xwin)
-     {
--- 
-2.18.1
-

Copied: mutter/repos/extra-x86_64/216.patch (from rev 348470, mutter/trunk/216.patch)
===================================================================
--- 216.patch	                        (rev 0)
+++ 216.patch	2019-03-16 13:35:08 UTC (rev 348471)
@@ -0,0 +1,128 @@
+From 6d8d73beeef3a618c553e89b0b3e532ec3654a30 Mon Sep 17 00:00:00 2001
+From: Daniel van Vugt <daniel.van.vugt at canonical.com>
+Date: Mon, 23 Jul 2018 16:28:56 +0800
+Subject: [PATCH] cogl-winsys-glx: Fix frame notification race/leak
+
+If a second `set_{sync,complete}_pending` was queued before the idle
+handler had flushed the first then one of them would be forgotten.
+It would stay queued forever and never emitted as a notification.
+
+This could happen repeatedly causing a slow leak. But worse still,
+`clutter-stage-cogl` would then have `pending_swaps` permanently stuck
+above zero preventing the presentation timing logic from being used.
+
+The problem is that a boolean can only count to one, but in some cases
+(triple buffering, whether intentional or accidental #334) we need it to
+count to two. So just change booleans to integers and count properly.
+
+https://gitlab.gnome.org/GNOME/mutter/merge_requests/216
+---
+ cogl/cogl/winsys/cogl-winsys-glx.c | 58 +++++++++++++++---------------
+ 1 file changed, 29 insertions(+), 29 deletions(-)
+
+diff --git a/cogl/cogl/winsys/cogl-winsys-glx.c b/cogl/cogl/winsys/cogl-winsys-glx.c
+index 2623d02c6..235cfe81f 100644
+--- a/cogl/cogl/winsys/cogl-winsys-glx.c
++++ b/cogl/cogl/winsys/cogl-winsys-glx.c
+@@ -99,9 +99,9 @@ typedef struct _CoglOnscreenGLX
+   CoglOnscreenXlib _parent;
+   GLXDrawable glxwin;
+   uint32_t last_swap_vsync_counter;
+-  gboolean pending_sync_notify;
+-  gboolean pending_complete_notify;
+-  gboolean pending_resize_notify;
++  uint32_t pending_sync_notify;
++  uint32_t pending_complete_notify;
++  uint32_t pending_resize_notify;
+ 
+   GThread *swap_wait_thread;
+   GQueue *swap_wait_queue;
+@@ -347,35 +347,35 @@ flush_pending_notifications_cb (void *data,
+     {
+       CoglOnscreen *onscreen = COGL_ONSCREEN (framebuffer);
+       CoglOnscreenGLX *glx_onscreen = onscreen->winsys;
+-      gboolean pending_sync_notify = glx_onscreen->pending_sync_notify;
+-      gboolean pending_complete_notify = glx_onscreen->pending_complete_notify;
+ 
+-      /* If swap_region is called then notifying the sync event could
+-       * potentially immediately queue a subsequent pending notify so
+-       * we need to clear the flag before invoking the callback */
+-      glx_onscreen->pending_sync_notify = FALSE;
+-      glx_onscreen->pending_complete_notify = FALSE;
+-
+-      if (pending_sync_notify)
++      while (glx_onscreen->pending_sync_notify > 0 ||
++             glx_onscreen->pending_complete_notify > 0 ||
++             glx_onscreen->pending_resize_notify > 0)
+         {
+-          CoglFrameInfo *info = g_queue_peek_head (&onscreen->pending_frame_infos);
+-
+-          _cogl_onscreen_notify_frame_sync (onscreen, info);
+-        }
++          if (glx_onscreen->pending_sync_notify > 0)
++            {
++              CoglFrameInfo *info =
++                g_queue_peek_head (&onscreen->pending_frame_infos);
+ 
+-      if (pending_complete_notify)
+-        {
+-          CoglFrameInfo *info = g_queue_pop_head (&onscreen->pending_frame_infos);
++              _cogl_onscreen_notify_frame_sync (onscreen, info);
++              glx_onscreen->pending_sync_notify--;
++            }
+ 
+-          _cogl_onscreen_notify_complete (onscreen, info);
++          if (glx_onscreen->pending_complete_notify > 0)
++            {
++              CoglFrameInfo *info =
++                g_queue_pop_head (&onscreen->pending_frame_infos);
+ 
+-          cogl_object_unref (info);
+-        }
++              _cogl_onscreen_notify_complete (onscreen, info);
++              cogl_object_unref (info);
++              glx_onscreen->pending_complete_notify--;
++            }
+ 
+-      if (glx_onscreen->pending_resize_notify)
+-        {
+-          _cogl_onscreen_notify_resize (onscreen);
+-          glx_onscreen->pending_resize_notify = FALSE;
++          if (glx_onscreen->pending_resize_notify > 0)
++            {
++              _cogl_onscreen_notify_resize (onscreen);
++              glx_onscreen->pending_resize_notify--;
++            }
+         }
+     }
+ }
+@@ -417,7 +417,7 @@ set_sync_pending (CoglOnscreen *onscreen)
+                                       NULL);
+     }
+ 
+-  glx_onscreen->pending_sync_notify = TRUE;
++  glx_onscreen->pending_sync_notify++;
+ }
+ 
+ static void
+@@ -440,7 +440,7 @@ set_complete_pending (CoglOnscreen *onscreen)
+                                       NULL);
+     }
+ 
+-  glx_onscreen->pending_complete_notify = TRUE;
++  glx_onscreen->pending_complete_notify++;
+ }
+ 
+ static void
+@@ -533,7 +533,7 @@ notify_resize (CoglContext *context,
+                                       NULL);
+     }
+ 
+-  glx_onscreen->pending_resize_notify = TRUE;
++  glx_onscreen->pending_resize_notify++;
+ 
+   if (!xlib_onscreen->is_foreign_xwin)
+     {
+-- 
+2.18.1
+

Deleted: PKGBUILD
===================================================================
--- PKGBUILD	2019-03-16 13:34:49 UTC (rev 348470)
+++ PKGBUILD	2019-03-16 13:35:08 UTC (rev 348471)
@@ -1,54 +0,0 @@
-# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
-# Maintainer: Ionut Biru <ibiru at archlinux.org>
-# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
-
-pkgname=mutter
-pkgver=3.32.0
-pkgrel=1
-pkgdesc="A window manager for GNOME"
-url="https://gitlab.gnome.org/GNOME/mutter"
-arch=(x86_64)
-license=(GPL)
-depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas libcanberra
-         startup-notification zenity libsm gnome-desktop upower libxkbcommon-x11
-         gnome-settings-daemon libgudev libinput pipewire xorg-server-xwayland)
-makedepends=(gobject-introspection git egl-wayland meson xorg-server)
-checkdepends=(xorg-server-xvfb)
-groups=(gnome)
-_commit=efb1ee97308653a28ed4448b0c405e6faf2c4f40  # tags/3.32.0^0
-source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
-        216.patch)
-sha256sums=('SKIP'
-            'ed4f3cf738a3cffdf8a6e1a352bf24d74078c3b26fb9262c5746e0d95b9df756')
-
-pkgver() {
-  cd $pkgname
-  git describe --tags | sed 's/-/+/g'
-}
-
-prepare() {
-  cd $pkgname
-
-  # https://gitlab.gnome.org/GNOME/mutter/merge_requests/216
-  git apply -3 ../216.patch
-}
-
-build() {
-  arch-meson $pkgname build \
-    -D egl_device=true \
-    -D wayland_eglstream=true \
-    -D installed_tests=false
-  ninja -C build
-}
-
-check() (
-  mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
-  glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/build/data}"
-  export XDG_RUNTIME_DIR GSETTINGS_SCHEMA_DIR
-
-  dbus-run-session xvfb-run -s '+iglx -noreset' meson test -C build
-)
-
-package() {
-  DESTDIR="$pkgdir" meson install -C build
-}

Copied: mutter/repos/extra-x86_64/PKGBUILD (from rev 348470, mutter/trunk/PKGBUILD)
===================================================================
--- PKGBUILD	                        (rev 0)
+++ PKGBUILD	2019-03-16 13:35:08 UTC (rev 348471)
@@ -0,0 +1,54 @@
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
+# Maintainer: Ionut Biru <ibiru at archlinux.org>
+# Contributor: Michael Kanis <mkanis_at_gmx_dot_de>
+
+pkgname=mutter
+pkgver=3.32.0+15+gc96cf0608
+pkgrel=1
+pkgdesc="A window manager for GNOME"
+url="https://gitlab.gnome.org/GNOME/mutter"
+arch=(x86_64)
+license=(GPL)
+depends=(dconf gobject-introspection-runtime gsettings-desktop-schemas libcanberra
+         startup-notification zenity libsm gnome-desktop upower libxkbcommon-x11
+         gnome-settings-daemon libgudev libinput pipewire xorg-server-xwayland)
+makedepends=(gobject-introspection git egl-wayland meson xorg-server)
+checkdepends=(xorg-server-xvfb)
+groups=(gnome)
+_commit=c96cf0608dd5e92369447ddbba9f63b7a2c84c0f  # master
+source=("git+https://gitlab.gnome.org/GNOME/mutter.git#commit=$_commit"
+        216.patch)
+sha256sums=('SKIP'
+            'ed4f3cf738a3cffdf8a6e1a352bf24d74078c3b26fb9262c5746e0d95b9df756')
+
+pkgver() {
+  cd $pkgname
+  git describe --tags | sed 's/-/+/g'
+}
+
+prepare() {
+  cd $pkgname
+
+  # https://gitlab.gnome.org/GNOME/mutter/merge_requests/216
+  git apply -3 ../216.patch
+}
+
+build() {
+  arch-meson $pkgname build \
+    -D egl_device=true \
+    -D wayland_eglstream=true \
+    -D installed_tests=false
+  ninja -C build
+}
+
+check() (
+  mkdir -p -m 700 "${XDG_RUNTIME_DIR:=$PWD/runtime-dir}"
+  glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/build/data}"
+  export XDG_RUNTIME_DIR GSETTINGS_SCHEMA_DIR
+
+  dbus-run-session xvfb-run -s '+iglx -noreset' meson test -C build
+)
+
+package() {
+  DESTDIR="$pkgdir" meson install -C build
+}



More information about the arch-commits mailing list