- Update to new upstream stable 1.2.6 release, add 3 patches for
gnome-shell issues
This commit is contained in:
parent
52d0ded702
commit
b81ddcb6e3
@ -1 +1,2 @@
|
|||||||
clutter-1.2.4.tar.bz2
|
clutter-1.2.4.tar.bz2
|
||||||
|
clutter-1.2.6.tar.bz2
|
||||||
|
53
Call-backend-handle_event-from-clutter_x11_handle_ev.patch
Normal file
53
Call-backend-handle_event-from-clutter_x11_handle_ev.patch
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From 0db0c1925b691d195fd779ef6e6d851d2135d790 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Owen W. Taylor <otaylor@fishsoup.net>
|
||||||
|
Date: Fri, 30 Apr 2010 14:50:11 -0400
|
||||||
|
Subject: [PATCH 2/3] Call backend handle_event from clutter_x11_handle_event()
|
||||||
|
|
||||||
|
Whether events come from the main loop source or from
|
||||||
|
clutter_x11_handle_event(), we need to feed them to the backend
|
||||||
|
virtual handle_event function. This fixes problems with clients
|
||||||
|
using clutter_x11_handle_event() hanging because
|
||||||
|
GLXBufferSwapComplete events aren't received.
|
||||||
|
|
||||||
|
http://bugzilla.openedhand.com/show_bug.cgi?id=2101
|
||||||
|
---
|
||||||
|
clutter/x11/clutter-event-x11.c | 10 +++++++++-
|
||||||
|
1 files changed, 9 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clutter/x11/clutter-event-x11.c b/clutter/x11/clutter-event-x11.c
|
||||||
|
index 0d8c08d..20a77fd 100644
|
||||||
|
--- a/clutter/x11/clutter-event-x11.c
|
||||||
|
+++ b/clutter/x11/clutter-event-x11.c
|
||||||
|
@@ -1048,13 +1048,14 @@ ClutterX11FilterReturn
|
||||||
|
clutter_x11_handle_event (XEvent *xevent)
|
||||||
|
{
|
||||||
|
ClutterBackend *backend;
|
||||||
|
+ ClutterBackendX11Class *backend_x11_class;
|
||||||
|
ClutterEvent *event;
|
||||||
|
ClutterMainContext *clutter_context;
|
||||||
|
ClutterX11FilterReturn result;
|
||||||
|
gint spin = 1;
|
||||||
|
|
||||||
|
/* The return values here are someone approximate; we return
|
||||||
|
- * CLUTTER_X11_FILTER_REMOVE if and only if a clutter event is
|
||||||
|
+ * CLUTTER_X11_FILTER_REMOVE if a clutter event is
|
||||||
|
* generated for the event. This mostly, but not entirely,
|
||||||
|
* corresponds to whether other event processing should be
|
||||||
|
* excluded. As long as the stage window is not shared with another
|
||||||
|
@@ -1068,6 +1069,13 @@ clutter_x11_handle_event (XEvent *xevent)
|
||||||
|
|
||||||
|
clutter_context = _clutter_context_get_default ();
|
||||||
|
backend = clutter_context->backend;
|
||||||
|
+ backend_x11_class = CLUTTER_BACKEND_X11_GET_CLASS (backend);
|
||||||
|
+
|
||||||
|
+ /* If the backend just observed the event and didn't want it
|
||||||
|
+ * removed it could return FALSE, so assume that a TRUE return
|
||||||
|
+ * means that our caller should also do no further processing. */
|
||||||
|
+ if (backend_x11_class->handle_event (CLUTTER_BACKEND_X11(backend), xevent))
|
||||||
|
+ return CLUTTER_X11_FILTER_REMOVE;
|
||||||
|
|
||||||
|
event = clutter_event_new (CLUTTER_NOTHING);
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.0.1
|
||||||
|
|
41
Ignore-unexpected-GLX_BufferSwapComplete.patch
Normal file
41
Ignore-unexpected-GLX_BufferSwapComplete.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
From 0fca6056aa9f9f609836330597bd0139bf0be2c4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Owen W. Taylor <otaylor@fishsoup.net>
|
||||||
|
Date: Fri, 30 Apr 2010 14:56:07 -0400
|
||||||
|
Subject: [PATCH 3/3] Ignore unexpected GLX_BufferSwapComplete
|
||||||
|
|
||||||
|
A server that supports GLX_BufferSwapComplete will always send
|
||||||
|
these events, so we should just silently ignore them if we've
|
||||||
|
chosen not to take advantage of the INTEL_swap_event GLX
|
||||||
|
extension.
|
||||||
|
|
||||||
|
http://bugzilla.openedhand.com/show_bug.cgi?id=2102
|
||||||
|
---
|
||||||
|
clutter/glx/clutter-event-glx.c | 11 ++++-------
|
||||||
|
1 files changed, 4 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clutter/glx/clutter-event-glx.c b/clutter/glx/clutter-event-glx.c
|
||||||
|
index 2034534..27b1d2b 100644
|
||||||
|
--- a/clutter/glx/clutter-event-glx.c
|
||||||
|
+++ b/clutter/glx/clutter-event-glx.c
|
||||||
|
@@ -82,14 +82,11 @@ clutter_backend_glx_handle_event (ClutterBackendX11 *backend_x11,
|
||||||
|
|
||||||
|
if (stage_x11->xwin == swap_complete_event->drawable)
|
||||||
|
{
|
||||||
|
- if (G_UNLIKELY (stage_glx->pending_swaps == 0))
|
||||||
|
- {
|
||||||
|
- g_warning ("Spurious GLX_BufferSwapComplete event received for "
|
||||||
|
- "stage drawable = 0x%08lx",
|
||||||
|
- swap_complete_event->drawable);
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
+ /* We don't have to select for swap events, so we'll
|
||||||
|
+ * get them even if we are choosing not to use them */
|
||||||
|
+ if (stage_glx->pending_swaps > 0)
|
||||||
|
stage_glx->pending_swaps--;
|
||||||
|
+
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.7.0.1
|
||||||
|
|
51
Use-a-native-format-for-atlas-textures.patch
Normal file
51
Use-a-native-format-for-atlas-textures.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
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 | 11 ++++++++++-
|
||||||
|
1 files changed, 10 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clutter/cogl/cogl/cogl-atlas-texture.c b/clutter/cogl/cogl/cogl-atlas-texture.c
|
||||||
|
index b9219e4..3fafb58 100644
|
||||||
|
--- a/clutter/cogl/cogl/cogl-atlas-texture.c
|
||||||
|
+++ b/clutter/cogl/cogl/cogl-atlas-texture.c
|
||||||
|
@@ -70,6 +70,15 @@
|
||||||
|
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/* 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
|
||||||
|
+
|
||||||
|
static void _cogl_atlas_texture_free (CoglAtlasTexture *sub_tex);
|
||||||
|
|
||||||
|
COGL_HANDLE_DEFINE (AtlasTexture, atlas_texture);
|
||||||
|
@@ -868,7 +877,7 @@ _cogl_atlas_texture_reserve_space (CoglAtlasTexture *new_sub_tex,
|
||||||
|
_cogl_texture_2d_new_with_size (_cogl_atlas_get_width (new_atlas),
|
||||||
|
_cogl_atlas_get_height (new_atlas),
|
||||||
|
COGL_TEXTURE_NONE,
|
||||||
|
- COGL_PIXEL_FORMAT_RGBA_8888)) ==
|
||||||
|
+ NATIVE_PIXEL_FORMAT)) ==
|
||||||
|
COGL_INVALID_HANDLE)
|
||||||
|
{
|
||||||
|
COGL_NOTE (ATLAS, "Could not create a CoglTexture2D");
|
||||||
|
--
|
||||||
|
1.7.0.1
|
||||||
|
|
19
clutter.spec
19
clutter.spec
@ -1,5 +1,5 @@
|
|||||||
Name: clutter
|
Name: clutter
|
||||||
Version: 1.2.4
|
Version: 1.2.6
|
||||||
Release: 1%{?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
|
||||||
|
|
||||||
@ -10,6 +10,13 @@ URL: http://www.clutter-project.org/
|
|||||||
Source0: http://www.clutter-project.org/sources/%{name}/1.0/%{name}-%{version}.tar.bz2
|
Source0: http://www.clutter-project.org/sources/%{name}/1.0/%{name}-%{version}.tar.bz2
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
|
# http://bugzilla.openedhand.com/show_bug.cgi?id=2100
|
||||||
|
Patch0: Use-a-native-format-for-atlas-textures.patch
|
||||||
|
# http://bugzilla.openedhand.com/show_bug.cgi?id=2101
|
||||||
|
Patch1: Call-backend-handle_event-from-clutter_x11_handle_ev.patch
|
||||||
|
# http://bugzilla.openedhand.com/show_bug.cgi?id=2102
|
||||||
|
Patch2: Ignore-unexpected-GLX_BufferSwapComplete.patch
|
||||||
|
|
||||||
Requires: gobject-introspection
|
Requires: gobject-introspection
|
||||||
# FIXME to remove when all the bits have been merged into their
|
# FIXME to remove when all the bits have been merged into their
|
||||||
# libraries
|
# libraries
|
||||||
@ -59,6 +66,10 @@ This package contains documentation for clutter.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
%patch0 -p1 -b .atlas-textures
|
||||||
|
%patch1 -p1 -b .handle-event
|
||||||
|
%patch2 -p1 -b .buffer-swap-complete
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --enable-gtk-doc --enable-introspection --enable-xinput
|
%configure --enable-gtk-doc --enable-introspection --enable-xinput
|
||||||
make %{?_smp_mflags} V=1
|
make %{?_smp_mflags} V=1
|
||||||
@ -98,6 +109,12 @@ rm -rf %{buildroot}
|
|||||||
%{_datadir}/gtk-doc/html/cogl
|
%{_datadir}/gtk-doc/html/cogl
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 30 2010 Owen Taylor <otaylor@redhat.com> - 1.2.6-1
|
||||||
|
- Update to new upstream stable 1.2.6 release
|
||||||
|
- Work around Radeon driver problem with color channel confusion.
|
||||||
|
- Fix Mutter not seeing BufferSwapComplete events and freezing
|
||||||
|
- Remove incorrect warning message about BufferSwapComplete events
|
||||||
|
|
||||||
* Tue Mar 20 2010 Peter Robinson <pbrobinson@gmail.com> 1.2.4-1
|
* Tue Mar 20 2010 Peter Robinson <pbrobinson@gmail.com> 1.2.4-1
|
||||||
- Update to new upstream stable 1.2.4 release
|
- Update to new upstream stable 1.2.4 release
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user