From eb2f420980b5a373fe0cb221303ad38cd29285ce Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 29 Nov 2010 19:00:00 -0500 Subject: [PATCH] Update to 1.5.8 Drop unneeded patches --- .gitignore | 1 + Use-a-native-format-for-atlas-textures.patch | 42 --------- clutter.spec | 25 ++---- cogl-x11-Trap-glXDestroyPixmap.patch | 70 --------------- sources | 2 +- ...-use-the-xsettings-watch-function-fu.patch | 86 ------------------- 6 files changed, 11 insertions(+), 215 deletions(-) delete mode 100644 Use-a-native-format-for-atlas-textures.patch delete mode 100644 cogl-x11-Trap-glXDestroyPixmap.patch delete mode 100644 xsettings-dont-use-the-xsettings-watch-function-fu.patch diff --git a/.gitignore b/.gitignore index 92c773a..d7a7774 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ clutter-1.2.10.tar.bz2 /clutter-1.3.12.tar.bz2 /clutter-1.3.14.tar.bz2 /clutter-1.4.0.tar.bz2 +/clutter-1.5.8.tar.bz2 diff --git a/Use-a-native-format-for-atlas-textures.patch b/Use-a-native-format-for-atlas-textures.patch deleted file mode 100644 index 983f620..0000000 --- a/Use-a-native-format-for-atlas-textures.patch +++ /dev/null @@ -1,42 +0,0 @@ -From e23cfbb2f0b9e52154401cb96118085811b62f09 Mon Sep 17 00:00:00 2001 -From: Owen Taylor -Date: Thu, 29 Apr 2010 19:47:56 -0400 -Subject: [PATCH 1/3] Use a native format for atlas textures - -Since we create frame buffer objects for atlas textures, we should use -a format that can be used as a rendering target. For this reason, use -an internal format of ARGB instead of RGBA when creating the texture. - -(We don't actually render to it, but the Radeon Mesa drivers aren't -sophisticated enough to deal with a FBO that can be read from but -can't be rendered to. On other hardware, this is probably pretty much -neutral for efficiency.) - -http://bugzilla.openedhand.com/show_bug.cgi?id=2100 ---- clutter/cogl/cogl/cogl-atlas-texture.c~ 2010-08-12 07:30:06.000000000 -0400 -+++ clutter/cogl/cogl/cogl-atlas-texture.c 2010-08-31 10:53:50.000000000 -0400 -@@ -114,6 +114,15 @@ - NULL); - } - -+/* Best guess at native frame buffer formats; using these makes the -+ * Mesa framebuffer support happier on Radeon cards that can't -+ * render to arbitrarily ordered pixels */ -+#if G_BYTE_ORDER == G_LITTLE_ENDIAN -+#define NATIVE_PIXEL_FORMAT COGL_PIXEL_FORMAT_BGRA_8888_PRE -+#else -+#define NATIVE_PIXEL_FORMAT COGL_PIXEL_FORMAT_ARGB_8888_PRE -+#endif -+ - CoglAtlas * - _cogl_atlas_texture_get_atlas (void) - { -@@ -121,7 +130,7 @@ - - if (ctx->atlas == COGL_INVALID_HANDLE) - { -- ctx->atlas = _cogl_atlas_new (COGL_PIXEL_FORMAT_RGBA_8888, -+ ctx->atlas = _cogl_atlas_new (NATIVE_PIXEL_FORMAT, - 0, - _cogl_atlas_texture_update_position_cb); - diff --git a/clutter.spec b/clutter.spec index 733d3cb..fff2d9f 100644 --- a/clutter.spec +++ b/clutter.spec @@ -1,24 +1,17 @@ Name: clutter -Version: 1.4.0 -Release: 4%{?dist} +Version: 1.5.8 +Release: 1%{?dist} Summary: Open Source software library for creating rich graphical user interfaces Group: Development/Libraries License: LGPLv2+ URL: http://www.clutter-project.org/ -#VCS: git://git.clutter-project.org/clutter#clutter-1.4 -Source0: http://www.clutter-project.org/sources/%{name}/1.4/%{name}-%{version}.tar.bz2 - -# http://bugzilla.openedhand.com/show_bug.cgi?id=2100 -Patch0: Use-a-native-format-for-atlas-textures.patch -# http://bugzilla.clutter-project.org/show_bug.cgi?id=2324 -Patch1: cogl-x11-Trap-glXDestroyPixmap.patch -# http://bugzilla.clutter-project.org/attachment.cgi?id=2366 -Patch2: xsettings-dont-use-the-xsettings-watch-function-fu.patch +#VCS: git://git.clutter-project.org/clutter#master +Source0: http://www.clutter-project.org/sources/%{name}/1.5/%{name}-%{version}.tar.bz2 BuildRequires: glib2-devel mesa-libGL-devel gtk2-devel pkgconfig pango-devel BuildRequires: gobject-introspection-devel >= 0.9.6 -BuildRequires: json-glib-devel +BuildRequires: json-glib-devel >= 0.12.0 BuildRequires: libXdamage-devel gettext gtk-doc # Bootstrap requirements BuildRequires: gtk-doc @@ -60,10 +53,6 @@ This package contains documentation for clutter. %prep %setup -q -%patch0 -p0 -b .atlas-textures -%patch1 -p1 -b .glXDestroyPixmap -%patch2 -p1 -b .xsettings - %build (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; %configure $CONFIGFLAGS \ @@ -115,6 +104,10 @@ rm -rf %{buildroot} %{_datadir}/gtk-doc/html/cally %changelog +* Mon Nov 29 2010 Owen Taylor - 1.5.8-2 +- Update to 1.5.8 +- Drop unneeded patches + * Mon Nov 22 2010 Dan Williams - 1.4.0-4 - Add a patch cherry-picked from upstream for http://bugzilla.clutter-project.org/attachment.cgi?id=2366 diff --git a/cogl-x11-Trap-glXDestroyPixmap.patch b/cogl-x11-Trap-glXDestroyPixmap.patch deleted file mode 100644 index aea6113..0000000 --- a/cogl-x11-Trap-glXDestroyPixmap.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 6af0ee2cbe2d6584b523809f160f56daf16eb583 Mon Sep 17 00:00:00 2001 -From: Emmanuele Bassi -Date: Mon, 4 Oct 2010 14:12:21 +0100 -Subject: [PATCH] cogl-x11: Trap glXDestroyPixmap() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -There are ordering issues in the pixmap destruction with current and -past X11 server, Mesa and dri2. Under some circumstances, an X pixmap -might be destroyed with the GLX pixmap still referencing it, and thus -the X server will decide to destroy the GLX pixmap as well; then, when -Cogl tries to destroy the GLX pixmap, it gets BadDrawable errors. - -Clutter 1.2 used to trap + sync all calls to glXDestroyPixmap(), but -then we assumed that the ordering issue had been solved. So, we're back -to square 1. - -I left a Big Fat Commentâ„¢ right above the glXDestroyPixmap() call -referencing the bug and the reasoning behind the trap, so that we don't -go and remove it in the future without checking that the issue has been -in fact solved. - -http://bugzilla.clutter-project.org/show_bug.cgi?id=2324 ---- - clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c | 22 ++++++++++++++++++++ - 1 files changed, 22 insertions(+), 0 deletions(-) - -diff --git a/clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c b/clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c -index 56097ea..be0c302 100644 ---- a/clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c -+++ b/clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c -@@ -888,12 +888,34 @@ _cogl_texture_pixmap_x11_free_glx_pixmap (CoglTexturePixmapX11 *tex_pixmap) - { - if (tex_pixmap->glx_pixmap) - { -+ CoglXlibTrapState trap_state; -+ - _COGL_GET_CONTEXT (ctx, NO_RETVAL); - - if (tex_pixmap->pixmap_bound) - glXReleaseTexImage (_cogl_xlib_get_display (), tex_pixmap->glx_pixmap, - GLX_FRONT_LEFT_EXT); -+ -+ /* FIXME - we need to trap errors and synchronize here because -+ * of ordering issues between the XPixmap destruction and the -+ * GLXPixmap destruction. -+ * -+ * If the X pixmap is destroyed, the GLX pixmap is destroyed as -+ * well immediately, and thus, when Cogl calls glXDestroyPixmap() -+ * it'll cause a BadDrawable error. -+ * -+ * this is technically a bug in the X server, which should not -+ * destroy either pixmaps until the call to glXDestroyPixmap(); so -+ * at some point we should revisit this code and remove the -+ * trap+sync after verifying that the destruction is indeed safe. -+ * -+ * for reference, see: -+ * http://bugzilla.clutter-project.org/show_bug.cgi?id=2324 -+ */ -+ _cogl_xlib_trap_errors (&trap_state); - glXDestroyPixmap (_cogl_xlib_get_display (), tex_pixmap->glx_pixmap); -+ XSync (_cogl_xlib_get_display (), False); -+ _cogl_xlib_untrap_errors (&trap_state); - - tex_pixmap->glx_pixmap = None; - tex_pixmap->pixmap_bound = FALSE; --- -1.7.3.1 - diff --git a/sources b/sources index e8dd157..7d1f758 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -329b6ac4e14b6f63b23297cfbb05af93 clutter-1.4.0.tar.bz2 +13ec874ac78a2507c4b7fa064a77ea04 clutter-1.5.8.tar.bz2 diff --git a/xsettings-dont-use-the-xsettings-watch-function-fu.patch b/xsettings-dont-use-the-xsettings-watch-function-fu.patch deleted file mode 100644 index 3765c8b..0000000 --- a/xsettings-dont-use-the-xsettings-watch-function-fu.patch +++ /dev/null @@ -1,86 +0,0 @@ -From c7d388e987063612d178b2412559b463b5e56f7a Mon Sep 17 00:00:00 2001 -From: Owen W. Taylor -Date: Fri, 12 Nov 2010 18:53:51 -0500 -Subject: [PATCH] xsettings: don't use the xsettings watch function functionality - -The "watch" function functionality in xsettings-client.c is designed -for setups like GDK where filters are per-window. If we are going -to pass all events to _clutter_xsettings_client_process_event() -anyways, we can just pass in NULL for watch. - -This avoids a nasty infinite loop where an event would get processed -triggering removing a filter and adding a new filter, which would -immediately run and remove a filter and add another and so on -ad-infinitum. - -http://bugzilla.clutter-project.org/show_bug.cgi?id=2415 ---- - clutter/x11/clutter-backend-x11.c | 37 ++++--------------------------------- - 1 files changed, 4 insertions(+), 33 deletions(-) - -diff --git a/clutter/x11/clutter-backend-x11.c b/clutter/x11/clutter-backend-x11.c -index 8a61741..3b7b579 100644 ---- a/clutter/x11/clutter-backend-x11.c -+++ b/clutter/x11/clutter-backend-x11.c -@@ -120,38 +120,6 @@ xsettings_filter (XEvent *xevent, - return CLUTTER_X11_FILTER_CONTINUE; - } - --static Bool --clutter_backend_x11_xsettings_watch (Window window, -- Bool is_start, -- long mask, -- void *cb_data) --{ -- ClutterBackendX11 *backend_x11 = cb_data; -- -- if (is_start) -- { -- backend_x11->xsettings_xwin = window; -- if (!backend_x11->xsettings_xwin) -- return False; -- -- clutter_x11_add_filter (xsettings_filter, backend_x11); -- -- CLUTTER_NOTE (BACKEND, "Added filter on XSettings manager window 0x%x", -- (unsigned int) backend_x11->xsettings_xwin); -- } -- else -- { -- CLUTTER_NOTE (BACKEND, "Removed filter on XSettings manager window 0x%x", -- (unsigned int) backend_x11->xsettings_xwin); -- -- clutter_x11_remove_filter (xsettings_filter, backend_x11); -- -- backend_x11->xsettings_xwin = None; -- } -- -- return True; --} -- - static void - clutter_backend_x11_xsettings_notify (const char *name, - XSettingsAction action, -@@ -336,9 +304,11 @@ clutter_backend_x11_post_parse (ClutterBackend *backend, - _clutter_xsettings_client_new (backend_x11->xdpy, - backend_x11->xscreen_num, - clutter_backend_x11_xsettings_notify, -- clutter_backend_x11_xsettings_watch, -+ NULL, - backend_x11); - -+ clutter_x11_add_filter (xsettings_filter, backend_x11); -+ - if (clutter_synchronise) - XSynchronize (backend_x11->xdpy, True); - -@@ -426,6 +396,7 @@ clutter_backend_x11_finalize (GObject *gobject) - - g_free (backend_x11->display_name); - -+ clutter_x11_remove_filter (xsettings_filter, backend_x11); - _clutter_xsettings_client_destroy (backend_x11->xsettings); - - XCloseDisplay (backend_x11->xdpy); --- -1.7.3.2 \ No newline at end of file