cogl-1.8.2-no-drm-hax.patch: Don't try insane direct DRM vblank wait.

This commit is contained in:
Adam Jackson 2011-11-01 21:10:49 -04:00
parent 43ca1f156c
commit c6fc02e4b0
2 changed files with 91 additions and 1 deletions

View File

@ -0,0 +1,84 @@
No, no, no, no, no. If the driver doesn't give you the events you want,
fix the driver.
diff -up cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c.jx cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c
--- cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c.jx 2011-10-17 09:23:13.000000000 -0400
+++ cogl-1.8.2/cogl/winsys/cogl-winsys-glx.c 2011-11-01 18:34:38.731529285 -0400
@@ -56,12 +56,6 @@
#include <GL/glx.h>
#include <X11/Xlib.h>
-#ifdef HAVE_DRM
-#include <drm.h>
-#include <sys/ioctl.h>
-#include <errno.h>
-#endif
-
#define COGL_ONSCREEN_X11_EVENT_MASK StructureNotifyMask
typedef struct _CoglContextGLX
@@ -423,20 +417,6 @@ update_winsys_features (CoglContext *con
COGL_WINSYS_FEATURE_VBLANK_WAIT,
TRUE);
-#ifdef HAVE_DRM
- /* drm is really an extreme fallback -rumoured to work with Via
- * chipsets... */
- if (!glx_renderer->pf_glXWaitVideoSync)
- {
- if (glx_renderer->dri_fd < 0)
- glx_renderer->dri_fd = open("/dev/dri/card0", O_RDWR);
- if (glx_renderer->dri_fd >= 0)
- COGL_FLAGS_SET (context->winsys_features,
- COGL_WINSYS_FEATURE_VBLANK_WAIT,
- TRUE);
- }
-#endif
-
if (glx_renderer->pf_glXCopySubBuffer || context->glBlitFramebuffer)
COGL_FLAGS_SET (context->winsys_features,
COGL_WINSYS_FEATURE_SWAP_REGION, TRUE);
@@ -1046,24 +1026,6 @@ _cogl_winsys_onscreen_bind (CoglOnscreen
glx_context->current_drawable = drawable;
}
-#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
_cogl_winsys_wait_for_vblank (void)
{
@@ -1082,18 +1044,6 @@ _cogl_winsys_wait_for_vblank (void)
(current_count + 1) % 2,
&current_count);
}
-#ifdef HAVE_DRM
- else
- {
- drm_wait_vblank_t blank;
-
- COGL_NOTE (WINSYS, "Waiting for vblank (drm)");
- blank.request.type = _DRM_VBLANK_RELATIVE;
- blank.request.sequence = 1;
- blank.request.signal = 0;
- drm_wait_vblank (glx_renderer->dri_fd, &blank);
- }
-#endif /* HAVE_DRM */
}
static guint32

View File

@ -1,6 +1,6 @@
Name: cogl
Version: 1.8.2
Release: 2%{?dist}
Release: 3%{?dist}
Summary: A library for using 3D graphics hardware to draw pretty pictures
Group: Development/Libraries
@ -21,6 +21,8 @@ BuildRequires: mesa-libGL-devel
BuildRequires: pango-devel
BuildRequires: pkgconfig
Patch0: cogl-1.8.2-no-drm-hax.patch
%description
Cogl is a small open source library for using 3D graphics hardware to draw
pretty pictures. The API departs from the flat state machine style of
@ -60,6 +62,7 @@ This package contains documentation for %{name}.
%prep
%setup -q
%patch0 -p1 -b .drm
%build
CFLAGS="$RPM_OPT_FLAGS -fPIC"
@ -96,6 +99,9 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
%{_datadir}/gtk-doc/html/cogl-2.0-experimental
%changelog
* Tue Nov 01 2011 Adam Jackson <ajax@redhat.com> 1.8.2-3
- cogl-1.8.2-no-drm-hax.patch: Don't try insane direct DRM vblank wait.
* Wed Oct 26 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.2-2
- Rebuilt for glibc bug#747377