[clutter] remove drm vsync hack
Adam Jackson
ajax at fedoraproject.org
Fri Jun 24 17:34:02 UTC 2011
commit 95844ed8d51bab62fb562fea65514bfaa1a3c426
Author: Adam Jackson <ajax at redhat.com>
Date: Fri Jun 24 13:33:52 2011 -0400
remove drm vsync hack
clutter-1.6.16-no-drm-hax.patch | 90 +++++++++++++++++++++++++++++++++++++++
clutter.spec | 8 +++-
2 files changed, 97 insertions(+), 1 deletions(-)
---
diff --git a/clutter-1.6.16-no-drm-hax.patch b/clutter-1.6.16-no-drm-hax.patch
new file mode 100644
index 0000000..dec842f
--- /dev/null
+++ b/clutter-1.6.16-no-drm-hax.patch
@@ -0,0 +1,90 @@
+diff -up clutter-1.6.16/clutter/glx/clutter-backend-glx.c.jx clutter-1.6.16/clutter/glx/clutter-backend-glx.c
+--- clutter-1.6.16/clutter/glx/clutter-backend-glx.c.jx 2011-06-24 13:30:13.000000000 -0400
++++ clutter-1.6.16/clutter/glx/clutter-backend-glx.c 2011-06-24 13:31:25.298367259 -0400
+@@ -361,29 +361,6 @@ clutter_backend_glx_get_features (Clutte
+ CLUTTER_NOTE (BACKEND, "glXGetVideoSyncSGI vblank setup failed");
+ }
+
+-#ifdef __linux__
+- /*
+- * DRI is really an extreme fallback -rumoured to work with Via chipsets
+- */
+- if (!(flags & CLUTTER_FEATURE_SYNC_TO_VBLANK))
+- {
+- CLUTTER_NOTE (BACKEND, "attempting DRI vblank setup");
+-
+- backend_glx->dri_fd = open("/dev/dri/card0", O_RDWR);
+- if (backend_glx->dri_fd >= 0)
+- {
+- CLUTTER_NOTE (BACKEND, "DRI vblank setup success");
+-
+- backend_glx->vblank_type = CLUTTER_VBLANK_DRI;
+- flags |= CLUTTER_FEATURE_SYNC_TO_VBLANK;
+-
+- goto vblank_setup_done;
+- }
+-
+- CLUTTER_NOTE (BACKEND, "DRI vblank setup failed");
+- }
+-#endif /* __linux__ */
+-
+ CLUTTER_NOTE (BACKEND, "no use-able vblank mechanism found");
+
+ vblank_setup_done:
+diff -up clutter-1.6.16/clutter/glx/clutter-stage-glx.c.jx clutter-1.6.16/clutter/glx/clutter-stage-glx.c
+--- clutter-1.6.16/clutter/glx/clutter-stage-glx.c.jx 2011-06-14 08:37:35.000000000 -0400
++++ clutter-1.6.16/clutter/glx/clutter-stage-glx.c 2011-06-24 13:30:55.684264807 -0400
+@@ -48,10 +48,6 @@
+ #include <fcntl.h>
+ #include <errno.h>
+
+-#ifdef HAVE_DRM
+-#include <drm.h>
+-#endif
+-
+ static void clutter_stage_window_iface_init (ClutterStageWindowIface *iface);
+ static void clutter_event_translator_iface_init (ClutterEventTranslatorIface *iface);
+
+@@ -311,24 +307,6 @@ clutter_stage_glx_add_redraw_clip (Clutt
+ stage_glx->initialized_redraw_clip = TRUE;
+ }
+
+-#ifdef HAVE_DRM
+-static int
+-drm_wait_vblank(int fd, drm_wait_vblank_t *vbl)
+-{
+- int ret, rc;
+-
+- do
+- {
+- ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
+- vbl->request.type &= ~_DRM_VBLANK_RELATIVE;
+- rc = errno;
+- }
+- while (ret && rc == EINTR);
+-
+- return rc;
+-}
+-#endif /* HAVE_DRM */
+-
+ static void
+ wait_for_vblank (ClutterBackendGLX *backend_glx)
+ {
+@@ -347,17 +325,7 @@ wait_for_vblank (ClutterBackendGLX *back
+ }
+ else
+ {
+-#ifdef HAVE_DRM
+- drm_wait_vblank_t blank;
+-
+- CLUTTER_NOTE (BACKEND, "Waiting for vblank (drm)");
+- blank.request.type = _DRM_VBLANK_RELATIVE;
+- blank.request.sequence = 1;
+- blank.request.signal = 0;
+- drm_wait_vblank (backend_glx->dri_fd, &blank);
+-#else
+ CLUTTER_NOTE (BACKEND, "No vblank mechanism found");
+-#endif /* HAVE_DRM */
+ }
+ }
+
diff --git a/clutter.spec b/clutter.spec
index 947e309..0c7365b 100644
--- a/clutter.spec
+++ b/clutter.spec
@@ -1,6 +1,6 @@
Name: clutter
Version: 1.6.16
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Open Source software library for creating rich graphical user interfaces
Group: Development/Libraries
@@ -13,6 +13,7 @@ Patch1: 0001-docs-Use-const-instead-G_CONST_RETURN.patch
Patch2: 0002-cogl-Use-const-instead-G_CONST_RETURN.patch
Patch3: 0003-cally-Use-const-instead-G_CONST_RETURN.patch
Patch4: 0004-clutter-Use-const-instead-G_CONST_RETURN.patch
+Patch5: clutter-1.6.16-no-drm-hax.patch
BuildRequires: glib2-devel mesa-libGL-devel pkgconfig pango-devel
BuildRequires: cairo-gobject-devel gdk-pixbuf2-devel atk-devel
@@ -62,6 +63,7 @@ This package contains documentation for clutter.
%patch2 -p1 -b .const-2
%patch3 -p1 -b .const-3
%patch4 -p1 -b .const-4
+%patch5 -p1 -b .no-drm-hax
%build
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
@@ -110,6 +112,10 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
%{_datadir}/gtk-doc/html/cally
%changelog
+* Fri Jun 24 2011 Adam Jackson <ajax at redhat.com> 1.6.16-3
+- clutter-1.6.16-no-drm-hax.patch: Remove the insane DRM-banging fallback for
+ sync to vblank.
+
* Fri Jun 17 2011 Tomas Bzatek <tbzatek at redhat.com> - 1.6.16-2
- Fix G_CONST_RETURN usage
More information about the scm-commits
mailing list