diff options
author | Luc Verhaegen <luc.verhaegen@basyskom.de> | 2010-11-24 18:21:23 +0100 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2012-05-12 12:42:22 +0200 |
commit | 384531dbd4ea359511c274d3cbd2b34449321ad0 (patch) | |
tree | f1c0566d839f5a8a2e8962728b59d62c5e815a4a | |
parent | e92c8ed0b03b5a33f4b0c3966e540a31af760402 (diff) |
xv: disable reputimage hook on newer api
This change makes Xv support slightly less nice, but should, in itself,
not deteriorate things too much, as most drivers function acceptably
without reputimage.
Signed-off-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
Signed-off-by: Julien Cristau <jcristau@debian.org>
-rw-r--r-- | configure.ac | 18 | ||||
-rw-r--r-- | src/apm_video.c | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 780b0a5..1d8ea0c 100644 --- a/configure.ac +++ b/configure.ac @@ -72,6 +72,24 @@ PKG_CHECK_MODULES([PCIACCESS], [pciaccess >= 0.8.0]) DRIVER_NAME=apm AC_SUBST([DRIVER_NAME]) +# since we cannot use the result from XORG_DRIVER_CHECK_EXT directly. +AC_CHECK_DECL([XV], [have_xv=yes], [have_xv=false], [#include "xorg/xorg-server.h"]) +if test "x$have_xv" = xyes; then + SAVED_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $XORG_CFLAGS" + + AC_CHECK_MEMBER([ScrnInfoRec.ModeSet], + [SCRNINFO_HAS_MODESET=yes], [SCRNINFO_HAS_MODESET=no], + [#include "xf86str.h"]) + if test "x$SCRNINFO_HAS_MODESET" = xyes; then + AC_DEFINE(XV_NEW_REPUT, 1, + [XvReputImage takes more all coordinates]) + fi + + CFLAGS="$SAVED_CFLAGS" +fi +AM_CONDITIONAL(XV_NEW_REPUT, test x$XV_NEW_REPUT = xyes) + AC_CONFIG_FILES([ Makefile src/Makefile diff --git a/src/apm_video.c b/src/apm_video.c index c87ffd0..4b8f132 100644 --- a/src/apm_video.c +++ b/src/apm_video.c @@ -26,8 +26,10 @@ static void ApmQueryBestSize(ScrnInfoPtr, Bool, short, short, short, static int ApmQueryImageAttributes(ScrnInfoPtr, int, unsigned short *, unsigned short *, int *, int *); +#ifndef XV_NEW_REPUT static int A(ReputImage)(ScrnInfoPtr, short, short, RegionPtr, pointer, DrawablePtr); +#endif static int A(PutImage)(ScrnInfoPtr, short, short, short, short, short, short, short, short, int, unsigned char*, short, short, Bool, RegionPtr, pointer, @@ -333,7 +335,9 @@ A(SetupImageVideo)(ScreenPtr pScreen) adapt->GetPortAttribute = ApmGetPortAttribute; adapt->QueryBestSize = ApmQueryBestSize; adapt->PutImage = A(PutImage); +#ifndef XV_NEW_REPUT adapt->ReputImage = A(ReputImage); +#endif adapt->QueryImageAttributes = ApmQueryImageAttributes; pPriv->brightness = 0; |