Update to 1.5.8
Drop unneeded patches
This commit is contained in:
parent
23bb0d6136
commit
eb2f420980
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,3 +2,4 @@ clutter-1.2.10.tar.bz2
|
|||||||
/clutter-1.3.12.tar.bz2
|
/clutter-1.3.12.tar.bz2
|
||||||
/clutter-1.3.14.tar.bz2
|
/clutter-1.3.14.tar.bz2
|
||||||
/clutter-1.4.0.tar.bz2
|
/clutter-1.4.0.tar.bz2
|
||||||
|
/clutter-1.5.8.tar.bz2
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
From e23cfbb2f0b9e52154401cb96118085811b62f09 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Owen Taylor <otaylor@fresnel.(none)>
|
|
||||||
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);
|
|
||||||
|
|
25
clutter.spec
25
clutter.spec
@ -1,24 +1,17 @@
|
|||||||
Name: clutter
|
Name: clutter
|
||||||
Version: 1.4.0
|
Version: 1.5.8
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Open Source software library for creating rich graphical user interfaces
|
Summary: Open Source software library for creating rich graphical user interfaces
|
||||||
|
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
URL: http://www.clutter-project.org/
|
URL: http://www.clutter-project.org/
|
||||||
#VCS: git://git.clutter-project.org/clutter#clutter-1.4
|
#VCS: git://git.clutter-project.org/clutter#master
|
||||||
Source0: http://www.clutter-project.org/sources/%{name}/1.4/%{name}-%{version}.tar.bz2
|
Source0: http://www.clutter-project.org/sources/%{name}/1.5/%{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
|
|
||||||
|
|
||||||
BuildRequires: glib2-devel mesa-libGL-devel gtk2-devel pkgconfig pango-devel
|
BuildRequires: glib2-devel mesa-libGL-devel gtk2-devel pkgconfig pango-devel
|
||||||
BuildRequires: gobject-introspection-devel >= 0.9.6
|
BuildRequires: gobject-introspection-devel >= 0.9.6
|
||||||
BuildRequires: json-glib-devel
|
BuildRequires: json-glib-devel >= 0.12.0
|
||||||
BuildRequires: libXdamage-devel gettext gtk-doc
|
BuildRequires: libXdamage-devel gettext gtk-doc
|
||||||
# Bootstrap requirements
|
# Bootstrap requirements
|
||||||
BuildRequires: gtk-doc
|
BuildRequires: gtk-doc
|
||||||
@ -60,10 +53,6 @@ This package contains documentation for clutter.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%patch0 -p0 -b .atlas-textures
|
|
||||||
%patch1 -p1 -b .glXDestroyPixmap
|
|
||||||
%patch2 -p1 -b .xsettings
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
||||||
%configure $CONFIGFLAGS \
|
%configure $CONFIGFLAGS \
|
||||||
@ -115,6 +104,10 @@ rm -rf %{buildroot}
|
|||||||
%{_datadir}/gtk-doc/html/cally
|
%{_datadir}/gtk-doc/html/cally
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 29 2010 Owen Taylor <otaylor@redhat.com> - 1.5.8-2
|
||||||
|
- Update to 1.5.8
|
||||||
|
- Drop unneeded patches
|
||||||
|
|
||||||
* Mon Nov 22 2010 Dan Williams <dcbw@redhat.com> - 1.4.0-4
|
* Mon Nov 22 2010 Dan Williams <dcbw@redhat.com> - 1.4.0-4
|
||||||
- Add a patch cherry-picked from upstream for
|
- Add a patch cherry-picked from upstream for
|
||||||
http://bugzilla.clutter-project.org/attachment.cgi?id=2366
|
http://bugzilla.clutter-project.org/attachment.cgi?id=2366
|
||||||
|
@ -1,70 +0,0 @@
|
|||||||
From 6af0ee2cbe2d6584b523809f160f56daf16eb583 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Emmanuele Bassi <ebassi@linux.intel.com>
|
|
||||||
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
|
|
||||||
|
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
329b6ac4e14b6f63b23297cfbb05af93 clutter-1.4.0.tar.bz2
|
13ec874ac78a2507c4b7fa064a77ea04 clutter-1.5.8.tar.bz2
|
||||||
|
@ -1,86 +0,0 @@
|
|||||||
From c7d388e987063612d178b2412559b463b5e56f7a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Owen W. Taylor <otaylor@fishsoup.net>
|
|
||||||
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
|
|
Loading…
Reference in New Issue
Block a user