[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-video-apm: Changes to 'debian-experimental'



 COPYING                                |   24 
 ChangeLog                              |  962 +++++++++++++++++++++++++++++++++
 configure.ac                           |   39 +
 debian/README.source                   |   24 
 debian/changelog                       |   30 +
 debian/compat                          |    2 
 debian/control                         |   23 
 debian/patches/series                  |    1 
 debian/rules                           |  103 ---
 debian/watch                           |    1 
 debian/xserver-xorg-video-apm.install  |    1 
 debian/xserver-xorg-video-apm.manpages |    1 
 debian/xsfbs/repack.sh                 |   32 -
 debian/xsfbs/xsfbs.mk                  |  285 ---------
 debian/xsfbs/xsfbs.sh                  |  622 ---------------------
 man/apm.man                            |    4 
 src/Makefile.am                        |    1 
 src/apm.h                              |   20 
 src/apm_accel.c                        |  503 +++++------------
 src/apm_cursor.c                       |    6 
 src/apm_dga.c                          |   41 -
 src/apm_driver.c                       |  380 ++++---------
 src/apm_funcs.c                        |   42 -
 src/apm_regs.h                         |    6 
 src/apm_video.c                        |   28 
 src/compat-api.h                       |   99 +++
 26 files changed, 1538 insertions(+), 1742 deletions(-)

New commits:
commit 8f826d93507f65f958980db24dd7fabe8e917428
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 18 15:49:52 2012 +0200

    Bump Standards-Version to 3.9.3 (no changes needed)

diff --git a/debian/changelog b/debian/changelog
index 3e029c4..9ba302c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 xserver-xorg-video-apm (1:1.2.5-1) UNRELEASED; urgency=low
 
   * New upstream release.
+  * Bump Standards-Version to 3.9.3 (no changes needed)
 
  -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Wed, 18 Jul 2012 15:48:23 +0200
 
diff --git a/debian/control b/debian/control
index bd2a32b..2d6f385 100644
--- a/debian/control
+++ b/debian/control
@@ -16,7 +16,7 @@ Build-Depends:
  x11proto-randr-dev,
  x11proto-render-dev,
  xutils-dev
-Standards-Version: 3.9.1
+Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-apm
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-apm.git
 

commit 05b514c974880830c83c1f6548b0bcf7d2edee0d
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 18 15:49:19 2012 +0200

    New upstream release.

diff --git a/debian/changelog b/debian/changelog
index f4b3b02..3e029c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-apm (1:1.2.5-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Wed, 18 Jul 2012 15:48:23 +0200
+
 xserver-xorg-video-apm (1:1.2.3-3) unstable; urgency=low
 
   * Merge from upstream master branch up to 21f5f7acf9 to cope with

commit b0d037d37d62191d4afe2c9b5714282a3acfc04f
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 18 15:47:47 2012 +0200

    Bump changelog

diff --git a/ChangeLog b/ChangeLog
index a714952..ea856d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,90 @@
+commit 736cb01bfafc2cbb1dfa4e449866b5bc333cfc86
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Tue Jul 17 16:05:09 2012 +1000
+
+    xf86-video-apm: bump to version 1.2.5
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 09c6ce0beab11d378e661dbdc57e311b16c35aea
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Tue Jul 17 15:22:37 2012 +1000
+
+    apm: fix make dist.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit a57b784ddfdc9369f6dfe498333c25bfea883e8f
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Tue Jul 17 14:52:05 2012 +1000
+
+    apm: convert to new screen conversion apis.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit d9a3071242724325d4e3672b3e70d8457f993f78
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Fri Jul 13 14:54:06 2012 +1000
+
+    apm: handle xaa removal
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 01bdd7d3d18f5d5c94aa99ccd7677f5928b37392
+Author: Dave Airlie <airlied@gmail.com>
+Date:   Fri Jul 13 14:56:12 2012 +1000
+
+    apm: initial compat api
+    
+    Port to new server compat API.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit d63d7c600cb3927a5a2a5e223252cfd9a44112d4
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Sat May 12 12:46:11 2012 +0200
+
+    xf86-video-apm 1.2.4
+    
+    Signed-off-by: Julien Cristau <jcristau@debian.org>
+
+commit 384531dbd4ea359511c274d3cbd2b34449321ad0
+Author: Luc Verhaegen <luc.verhaegen@basyskom.de>
+Date:   Wed Nov 24 18:21:23 2010 +0100
+
+    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>
+
+commit e92c8ed0b03b5a33f4b0c3966e540a31af760402
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Tue May 1 15:27:40 2012 +0200
+
+    Disable PC98 code on newer servers
+    
+    It was removed in xserver commit
+    6ad7bb69eebd5e5b4068bd9aa0b9a7168f075006, and keeping API compatibility
+    would have been too hard.  Or something.
+
+commit 37630bd20e59e49db3ee0bfa77f82a7c2595a0ac
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Tue May 1 15:25:30 2012 +0200
+
+    Stop including xf86PciInfo.h
+    
+    Deprecated in xserver commit 1f5baa924a5907978f564372265d9830ac72a077
+
+commit 784c3a1fa53771662b4656e193fb392cbb8c8452
+Author: Julien Cristau <jcristau@debian.org>
+Date:   Tue May 1 15:10:39 2012 +0200
+
+    Replace x{{,re,c}alloc,free} with malloc/realloc/calloc/free
+
 commit 21f5f7acf9235428ef2bcd5e34d0a44f9e4d838b
 Author: Adam Jackson <ajax@redhat.com>
 Date:   Mon Dec 19 17:44:20 2011 -0500

commit 736cb01bfafc2cbb1dfa4e449866b5bc333cfc86
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 17 16:05:09 2012 +1000

    xf86-video-apm: bump to version 1.2.5
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/configure.ac b/configure.ac
index c861812..1bafc32 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-apm],
-        [1.2.4],
+        [1.2.5],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-apm])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 09c6ce0beab11d378e661dbdc57e311b16c35aea
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 17 15:22:37 2012 +1000

    apm: fix make dist.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/src/Makefile.am b/src/Makefile.am
index ad26a0c..6993ffc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -32,6 +32,7 @@ apm_drv_la_LDFLAGS = -module -avoid-version
 apm_drv_ladir = @moduledir@/drivers
 
 apm_drv_la_SOURCES = \
+         compat-api.h \
          apm_accel.c \
          apm_cursor.c \
          apm_dga.c \

commit a57b784ddfdc9369f6dfe498333c25bfea883e8f
Author: Dave Airlie <airlied@redhat.com>
Date:   Tue Jul 17 14:52:05 2012 +1000

    apm: convert to new screen conversion apis.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/src/apm_accel.c b/src/apm_accel.c
index 140b44e..181b938 100644
--- a/src/apm_accel.c
+++ b/src/apm_accel.c
@@ -207,7 +207,7 @@ void ApmAccelReserveSpace(ApmPtr pApm)
 {
     memType	mem, ScratchMemOffset;
 
-    mem			= xf86Screens[pApm->pScreen->myNum]->videoRam << 10;
+    mem			= xf86ScreenToScrn(pApm->pScreen)->videoRam << 10;
     /*
      * Reserve at least four lines for mono to color expansion
      */
@@ -225,7 +225,7 @@ void ApmAccelReserveSpace(ApmPtr pApm)
 int
 ApmAccelInit(ScreenPtr pScreen)
 {
-    ScrnInfoPtr		pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr		pScrn = xf86ScreenToScrn(pScreen);
     APMDECL(pScrn);
     XAAInfoRecPtr	pXAAinfo;
     BoxRec		AvailFBArea;
@@ -356,7 +356,7 @@ void ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo)
            pApm->CurrentLayout.Setup_DEC |= DEC_BITDEPTH_32;
            break;
       default:
-           xf86DrvMsg(xf86Screens[pApm->pScreen->myNum]->scrnIndex, X_WARNING,
+           xf86DrvMsg(xf86ScreenToScrn(pApm->pScreen)->scrnIndex, X_WARNING,
 		    "Cannot set up drawing engine control for bpp = %d\n",
 		    pApm->CurrentLayout.bitsPerPixel);
            break;
@@ -383,7 +383,7 @@ void ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo)
            pApm->CurrentLayout.Setup_DEC |= DEC_WIDTH_1600;
            break;
       default:
-           xf86DrvMsg(xf86Screens[pApm->pScreen->myNum]->scrnIndex, X_WARNING,
+           xf86DrvMsg(xf86ScreenToScrn(pApm->pScreen)->scrnIndex, X_WARNING,
 		       "Cannot set up drawing engine control "
 		       "for screen width = %d\n", pApm->CurrentLayout.displayWidth);
            break;
diff --git a/src/apm_cursor.c b/src/apm_cursor.c
index 3638cf2..1b5d895 100644
--- a/src/apm_cursor.c
+++ b/src/apm_cursor.c
@@ -56,14 +56,14 @@ void ApmHWCursorReserveSpace(ApmPtr pApm)
 {
   pApm->OffscreenReserved	+= 2 * CURSORALIGN;
   pApm->DisplayedCursorAddress	= pApm->BaseCursorAddress =
-  pApm->CursorAddress	= 1024 * xf86Screens[pApm->pScreen->myNum]->videoRam -
+  pApm->CursorAddress	= 1024 * xf86ScreenToScrn(pApm->pScreen)->videoRam -
 					pApm->OffscreenReserved;
 }
 
 
 int ApmHWCursorInit(ScreenPtr pScreen)
 {
-  ScrnInfoPtr		pScrn = xf86Screens[pScreen->myNum];
+  ScrnInfoPtr		pScrn = xf86ScreenToScrn(pScreen);
   APMDECL(pScrn);
   xf86CursorInfoPtr	infoPtr;
   u32			i;
@@ -116,7 +116,7 @@ ApmHideCursor(ScrnInfoPtr pScrn)
 
 static Bool ApmUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs)
 {
-    return APMPTR(xf86Screens[pScreen->myNum])->CurrentLayout.bitsPerPixel >= 8;
+    return APMPTR(xf86ScreenToScrn(pScreen))->CurrentLayout.bitsPerPixel >= 8;
 }
 
 static void
diff --git a/src/apm_dga.c b/src/apm_dga.c
index dc95a6f..6e92123 100644
--- a/src/apm_dga.c
+++ b/src/apm_dga.c
@@ -171,7 +171,7 @@ SECOND_PASS:
 Bool
 ApmDGAInit(ScreenPtr pScreen)
 {   
-   ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+   ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
    APMDECL(pScrn);
    DGAModePtr modes = NULL;
    int num = 0;
diff --git a/src/apm_driver.c b/src/apm_driver.c
index 62389b0..e40e1c2 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -2100,7 +2100,7 @@ ApmDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode,
 static Bool
 ApmSaveScreen(ScreenPtr pScreen, int mode)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     Bool unblank;
 
     unblank = xf86IsUnblank(mode);
diff --git a/src/apm_regs.h b/src/apm_regs.h
index 3f60eef..8fa8514 100644
--- a/src/apm_regs.h
+++ b/src/apm_regs.h
@@ -29,19 +29,19 @@
 #define RDXL_M(addr)     (MMIO_IN32(pApm->MemMap, (addr)))
 #define WRXB_M(addr,val)  do { if (check08((addr), (val))) { \
 			MMIO_OUT8 (pApm->MemMap, (addr), (val));	\
-			/*xf86DrvMsg(xf86Screens[pApm->pScreen->myNum]->scrnIndex, X_INFO, \
+			/*xf86DrvMsg(xf86ScreenToScrn(pApm->pScreen)->scrnIndex, X_INFO, \
 				    "File %s, line %d,	%02X <-       %02X\n", \
 				    __FILE__, __LINE__, (addr), (val) & 255); */\
 			curr08[MIN((addr), 0x80)] = (val); }} while (0)
 #define WRXW_M(addr,val)  do { if (check16((addr), (val))) { \
 			MMIO_OUT16(pApm->MemMap, (addr), (val));	\
-			/*xf86DrvMsg(xf86Screens[pApm->pScreen->myNum]->scrnIndex, X_INFO, \
+			/*xf86DrvMsg(xf86ScreenToScrn(pApm->pScreen)->scrnIndex, X_INFO, \
 				    "File %s, line %d,	%02X <-     %04X\n", \
 				    __FILE__, __LINE__, (addr), (val)&65535); */\
 			curr16[MIN(((addr) / 2), 0x40)] = (val); }} while (0)
 #define WRXL_M(addr,val)  do { if (check32((addr), (val))) { \
 			MMIO_OUT32(pApm->MemMap, (addr), (val));	\
-			/*xf86DrvMsg(xf86Screens[pApm->pScreen->myNum]->scrnIndex, X_INFO, \
+			/*xf86DrvMsg(xf86ScreenToScrn(pApm->pScreen)->scrnIndex, X_INFO, \
 				    "File %s, line %d,	%02X <- %08X\n", \
 				    __FILE__, __LINE__, (addr), (val)); */\
 			curr32[MIN(((addr) / 4), 0x20)] = (val); }} while (0)
diff --git a/src/apm_video.c b/src/apm_video.c
index 4b8f132..9b5b601 100644
--- a/src/apm_video.c
+++ b/src/apm_video.c
@@ -43,7 +43,7 @@ static void	A(XvRemoveCB)(FBAreaPtr);
 
 void A(InitVideo)(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     XF86VideoAdaptorPtr *adaptors, *newAdaptors;
     XF86VideoAdaptorPtr newAdaptor;
     APMDECL(pScrn);
@@ -296,7 +296,7 @@ A(ResetVideo)(ScrnInfoPtr pScrn)
 static XF86VideoAdaptorPtr
 A(SetupImageVideo)(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     APMDECL(pScrn);
     XF86VideoAdaptorPtr adapt;
     ApmPortPrivPtr pPriv;

commit d9a3071242724325d4e3672b3e70d8457f993f78
Author: Dave Airlie <airlied@gmail.com>
Date:   Fri Jul 13 14:54:06 2012 +1000

    apm: handle xaa removal
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/configure.ac b/configure.ac
index 9b0acde..c861812 100644
--- a/configure.ac
+++ b/configure.ac
@@ -90,6 +90,25 @@ if test "x$have_xv" = xyes; then
 fi
 AM_CONDITIONAL(XV_NEW_REPUT, test x$XV_NEW_REPUT = xyes)
 
+AC_ARG_ENABLE(xaa,
+              AS_HELP_STRING([--enable-xaa],
+                             [Enable legacy X Acceleration Architecture (XAA) [default=auto]]),
+              [XAA="$enableval"],
+              [XAA=auto])
+if test "x$XAA" != xno; then
+        save_CFLAGS=$CFLAGS
+        save_CPPFLAGS=$CPPFLAGS
+        CFLAGS=$XORG_CFLAGS
+        CPPFLAGS="$XORG_CFLAGS"
+        AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
+        CFLAGS=$save_CFLAGS
+        CPPFLAGS=$save_CPPFLAGS
+fi
+AC_MSG_CHECKING([whether to include XAA support])
+AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
+AC_MSG_RESULT([$XAA])
+
+
 AC_CONFIG_FILES([
                 Makefile
                 src/Makefile
diff --git a/src/apm.h b/src/apm.h
index f92aa8d..a3c06f8 100644
--- a/src/apm.h
+++ b/src/apm.h
@@ -23,8 +23,10 @@
 #include "fb.h"
 
 /* Drivers using the XAA interface ... */
+#ifdef HAVE_XAA_H
 #include "xaa.h"
 #include "xaalocal.h"
+#endif
 #include "xf86Cursor.h"
 #include "xf86fbman.h"
 
@@ -122,7 +124,9 @@ typedef struct {
     int			MaxClock;                        /* Max ramdac clock */
     ApmFBLayout		CurrentLayout, SavedLayout;
     EntityInfoPtr	pEnt;
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr	AccelInfoRec, DGAXAAInfo;
+#endif
     xf86CursorInfoPtr	CursorInfoRec;
     int			DGAactive, numDGAModes;
     DGAModePtr		DGAModes;
@@ -132,11 +136,13 @@ typedef struct {
     Bool		apmTransparency, apmClip, ShadowFB, I2C;
     int			rop, Bg8x8, Fg8x8;
     I2CBusPtr		I2CPtr;
+#ifdef HAVE_XAA_H
     struct ApmStippleCacheRec {
 	XAACacheInfoRec		apmStippleCache;
 	FBAreaPtr		area;
 	unsigned int		apmStippleCached:1;
     }			apmCache[APM_CACHE_NUMBER];
+#endif
     int			apmCachePtr;
     unsigned char	regcurr[0x54];
     ScreenPtr		pScreen;
@@ -218,7 +224,9 @@ extern Bool	ApmI2CInit(ScrnInfoPtr pScrn);
 extern void	XFree86RushExtensionInit(ScreenPtr pScreen);
 extern void	ApmInitVideo(ScreenPtr pScreen);
 extern void	ApmInitVideo_IOP(ScreenPtr pScreen);
+#ifdef HAVE_XAA_H
 extern void	ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo);
+#endif
 extern Bool     ApmSwitchMode(SWITCH_MODE_ARGS_DECL);
 extern void     ApmAdjustFrame(ADJUST_FRAME_ARGS_DECL);
 extern void	ApmHWCursorReserveSpace(ApmPtr pApm);
diff --git a/src/apm_accel.c b/src/apm_accel.c
index ed73d8d..140b44e 100644
--- a/src/apm_accel.c
+++ b/src/apm_accel.c
@@ -6,6 +6,7 @@
 #include "apm.h"
 #include "miline.h"
 
+#ifdef HAVE_XAA_H
 /* Defines */
 #define MAXLOOP 1000000
 
@@ -563,3 +564,4 @@ void ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo)
 #undef XAA
     }
 }
+#endif
diff --git a/src/apm_dga.c b/src/apm_dga.c
index fa94006..dc95a6f 100644
--- a/src/apm_dga.c
+++ b/src/apm_dga.c
@@ -11,8 +11,6 @@
 #include "xf86.h"
 #include "xf86_OSproc.h"
 #include "xf86Pci.h"
-#include "xaa.h"
-#include "xaalocal.h"
 #include "apm.h"
 #include "dgaproc.h"
 
@@ -22,10 +20,12 @@ static Bool ApmOpenFramebuffer(ScrnInfoPtr, char **, unsigned char **,
 static Bool ApmSetMode(ScrnInfoPtr, DGAModePtr);
 static int  ApmGetViewport(ScrnInfoPtr);
 static void ApmSetViewport(ScrnInfoPtr, int, int, int);
+#ifdef HAVE_XAA_H
 static void ApmFillRect(ScrnInfoPtr, int, int, int, int, unsigned long);
 static void ApmBlitRect(ScrnInfoPtr, int, int, int, int, int, int);
 static void ApmBlitTransRect(ScrnInfoPtr, int, int, int, int, int, int, 
 					unsigned long);
+#endif
 static void ApmSync(ScrnInfoPtr);
 
 static
@@ -36,9 +36,13 @@ DGAFunctionRec ApmDGAFuncs = {
     ApmSetViewport,
     ApmGetViewport,
     ApmSync,
+#ifdef HAVE_XAA_H
     ApmFillRect,
     ApmBlitRect,
     ApmBlitTransRect
+#else
+    NULL, NULL, NULL
+#endif
 };
 
 /*
@@ -270,7 +274,9 @@ ApmSetMode(ScrnInfoPtr pScrn, DGAModePtr pMode)
 	    pApm->CurrentLayout.mask32		= 32 / pMode->bitsPerPixel - 1;
 
         ApmSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
+#ifdef HAVE_XAA_H
 	ApmSetupXAAInfo(pApm, NULL);
+#endif
 
 #if 0
 	if (pApm->DGAXAAInfo)
@@ -334,6 +340,7 @@ ApmSetViewport(
     }
 }
 
+#ifdef HAVE_XAA_H
 static void 
 ApmFillRect (
     ScrnInfoPtr pScrn, 
@@ -403,6 +410,7 @@ ApmBlitTransRect(
 	SET_SYNC_FLAG(pApm->AccelInfoRec);
     }
 }
+#endif
 
 static Bool 
 ApmOpenFramebuffer(
diff --git a/src/apm_driver.c b/src/apm_driver.c
index 0f20eb6..62389b0 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -994,11 +994,16 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
 
     /* Load XAA if needed */
     if (!pApm->NoAccel) {
+#ifdef HAVE_XAA_H
 	if (!xf86LoadSubModule(pScrn, "xaa")) {
 	    xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n");
 	    pApm->NoAccel = TRUE;
 	    pApm->ShadowFB = TRUE;
 	}
+#else
+	pApm->NoAccel = TRUE;
+	pApm->ShadowFB = TRUE;
+#endif
     }
 
     /* Load ramdac if needed */
@@ -1773,9 +1778,11 @@ ApmScreenInit(SCREEN_INIT_ARGS_DECL)
     /*
      * Initialize the acceleration interface.
      */
+#ifdef HAVE_XAA_H
     if (!pApm->NoAccel) {
 	ApmAccelInit(pScreen);		/* set up XAA interface */
     }
+#endif
 
     miInitializeBackingStore(pScreen);
     xf86SetBackingStore(pScreen);
@@ -2002,11 +2009,13 @@ ApmCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 	vgaHWLock(hwp);
 	ApmUnmapMem(pScrn);
     }
+#ifdef HAVE_XAA_H
     if(pApm->AccelInfoRec)
 	XAADestroyInfoRec(pApm->AccelInfoRec);
     if(pApm->DGAXAAInfo)
 	XAADestroyInfoRec(pApm->DGAXAAInfo);
     pApm->AccelInfoRec = NULL;
+#endif
     if(pApm->CursorInfoRec)
 	xf86DestroyCursorInfoRec(pApm->CursorInfoRec);
     pApm->CursorInfoRec = NULL;

commit 01bdd7d3d18f5d5c94aa99ccd7677f5928b37392
Author: Dave Airlie <airlied@gmail.com>
Date:   Fri Jul 13 14:56:12 2012 +1000

    apm: initial compat api
    
    Port to new server compat API.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/src/apm.h b/src/apm.h
index 0894289..f92aa8d 100644
--- a/src/apm.h
+++ b/src/apm.h
@@ -43,6 +43,7 @@
 #include "xf86xv.h"
 #include <X11/extensions/Xv.h>
 
+#include "compat-api.h"
 #ifdef TRUE
 #undef TRUE
 #endif
@@ -218,9 +219,8 @@ extern void	XFree86RushExtensionInit(ScreenPtr pScreen);
 extern void	ApmInitVideo(ScreenPtr pScreen);
 extern void	ApmInitVideo_IOP(ScreenPtr pScreen);
 extern void	ApmSetupXAAInfo(ApmPtr pApm, XAAInfoRecPtr pXAAinfo);
-extern Bool     ApmSwitchMode(int scrnIndex, DisplayModePtr mode,
-                                  int flags);
-extern void     ApmAdjustFrame(int scrnIndex, int x, int y, int flags);
+extern Bool     ApmSwitchMode(SWITCH_MODE_ARGS_DECL);
+extern void     ApmAdjustFrame(ADJUST_FRAME_ARGS_DECL);
 extern void	ApmHWCursorReserveSpace(ApmPtr pApm);
 extern void	ApmAccelReserveSpace(ApmPtr pApm);
 
diff --git a/src/apm_dga.c b/src/apm_dga.c
index d250251..fa94006 100644
--- a/src/apm_dga.c
+++ b/src/apm_dga.c
@@ -243,8 +243,8 @@ ApmSetMode(ScrnInfoPtr pScrn, DGAModePtr pMode)
 	}
 
 	pScrn->currentMode = pApm->CurrentLayout.pMode;
-        ApmSwitchMode(index, pScrn->currentMode, 0);
-	ApmAdjustFrame(index, pScrn->frameX0, pScrn->frameY0, 0);
+        ApmSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode));
+	ApmAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 #if 0
 	if (pApm->AccelInfoRec)
 	    XAAInit(pScrn->pScreen, pApm->AccelInfoRec);
@@ -269,7 +269,7 @@ ApmSetMode(ScrnInfoPtr pScrn, DGAModePtr pMode)
 	else
 	    pApm->CurrentLayout.mask32		= 32 / pMode->bitsPerPixel - 1;
 
-        ApmSwitchMode(index, pMode->mode, 0);
+        ApmSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
 	ApmSetupXAAInfo(pApm, NULL);
 
 #if 0
@@ -321,7 +321,7 @@ ApmSetViewport(
 	ApmWriteSeq(0x1C, 0x2F);
 	pApm->apmLock = FALSE;
     }
-    pScrn->AdjustFrame(pScrn->pScreen->myNum, x, y, flags);
+    pScrn->AdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
     if (pApm->VGAMap) {
 	/* Wait until vertical retrace is in progress. */
 	while (APMVGAB(0x3DA) & 0x08);
diff --git a/src/apm_driver.c b/src/apm_driver.c
index c35f489..0f20eb6 100644
--- a/src/apm_driver.c
+++ b/src/apm_driver.c
@@ -42,13 +42,12 @@ static const OptionInfoRec *	ApmAvailableOptions(int chipid, int busid);
 static void     ApmIdentify(int flags);
 static Bool     ApmProbe(DriverPtr drv, int flags);
 static Bool     ApmPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool     ApmScreenInit(int Index, ScreenPtr pScreen, int argc,
-                                  char **argv);
-static Bool     ApmEnterVT(int scrnIndex, int flags);
-static void     ApmLeaveVT(int scrnIndex, int flags);
-static Bool     ApmCloseScreen(int scrnIndex, ScreenPtr pScreen);
-static void     ApmFreeScreen(int scrnIndex, int flags);
-static ModeStatus ApmValidMode(int scrnIndex, DisplayModePtr mode,
+static Bool     ApmScreenInit(SCREEN_INIT_ARGS_DECL);
+static Bool     ApmEnterVT(VT_FUNC_ARGS_DECL);
+static void     ApmLeaveVT(VT_FUNC_ARGS_DECL);
+static Bool     ApmCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+static void     ApmFreeScreen(FREE_SCREEN_ARGS_DECL);
+static ModeStatus ApmValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode,
                                Bool verbose, int flags);
 static Bool	ApmSaveScreen(ScreenPtr pScreen, int mode);
 static void	ApmUnlock(ApmPtr pApm);
@@ -787,11 +786,11 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
 		xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"I2C initialization failed\n");
 	    }
 	    else {
-		MonInfo = xf86DoEDID_DDC2(pScrn->scrnIndex,pApm->I2CPtr);
+		MonInfo = xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),pApm->I2CPtr);
 	    }
 	}
 	if (0 && !MonInfo)
-	    MonInfo = xf86DoEDID_DDC1(pScrn->scrnIndex,vgaHWddc1SetSpeed,ddc1Read);
+	    MonInfo = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeed,ddc1Read);
 	if (MonInfo) {
 	    xf86PrintEDID(MonInfo);
 	    xf86SetDDCproperties(pScrn, MonInfo);
@@ -1651,9 +1650,9 @@ ApmRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
 /* This gets called at the start of each server generation */
 
 static Bool
-ApmScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+ApmScreenInit(SCREEN_INIT_ARGS_DECL)
 {
-    ScrnInfoPtr		pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr		pScrn = xf86ScreenToScrn(pScreen);
     APMDECL(pScrn);
     int			ret;
     unsigned char	*FbBase;
@@ -1676,7 +1675,7 @@ ApmScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 
     /* Darken the screen for aesthetic reasons and set the viewport */
     ApmSaveScreen(pScreen, SCREEN_SAVER_ON);
-    ApmAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+    ApmAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 
     /*
      * Reset fb's visual list.
@@ -1733,7 +1732,7 @@ ApmScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 	    pScrn->displayWidth, pScrn->bitsPerPixel);
 	break;
     default:
-	xf86DrvMsg(scrnIndex, X_ERROR,
+	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 	    "Internal error: invalid bpp (%d) in ApmScrnInit\n",
 	    pScrn->bitsPerPixel);
 	ret = FALSE;
@@ -1876,9 +1875,10 @@ ApmLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors,
 
 /* Usually mandatory */
 Bool
-ApmSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+ApmSwitchMode(SWITCH_MODE_ARGS_DECL)
 {
-    return ApmModeInit(xf86Screens[scrnIndex], mode);
+    SCRN_INFO_PTR(arg);
+    return ApmModeInit(pScrn, mode);
 }
 
 /*
@@ -1887,9 +1887,9 @@ ApmSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
  */
 /* Usually mandatory */
 void
-ApmAdjustFrame(int scrnIndex, int x, int y, int flags)
+ApmAdjustFrame(ADJUST_FRAME_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     APMDECL(pScrn);
     int Base;
 
@@ -1930,9 +1930,9 @@ ApmAdjustFrame(int scrnIndex, int x, int y, int flags)
 
 /* Mandatory */
 static Bool
-ApmEnterVT(int scrnIndex, int flags)
+ApmEnterVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     APMDECL(pScrn);
     vgaHWPtr	hwp = VGAHWPTR(pScrn);
 
@@ -1952,16 +1952,16 @@ ApmEnterVT(int scrnIndex, int flags)
 
     if (!ApmModeInit(pScrn, pScrn->currentMode))
 	return FALSE;
-    ApmAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+    ApmAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 
     return TRUE;
 }
 
 /* Mandatory */
 static void
-ApmLeaveVT(int scrnIndex, int flags)
+ApmLeaveVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     APMDECL(pScrn);
     vgaHWPtr	hwp = VGAHWPTR(pScrn);
 
@@ -1991,9 +1991,9 @@ ApmLeaveVT(int scrnIndex, int flags)
 
 /* Mandatory */
 static Bool
-ApmCloseScreen(int scrnIndex, ScreenPtr pScreen)
+ApmCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     vgaHWPtr	hwp = VGAHWPTR(pScrn);
     APMDECL(pScrn);
 
@@ -2021,24 +2021,25 @@ ApmCloseScreen(int scrnIndex, ScreenPtr pScreen)
 #endif
 
     pScreen->CloseScreen = pApm->CloseScreen;
-    return (*pScreen->CloseScreen)(scrnIndex, pScreen);
+    return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
 }
 
 /* Free up any per-generation data structures */
 
 /* Optional */
 static void
-ApmFreeScreen(int scrnIndex, int flags)
+ApmFreeScreen(FREE_SCREEN_ARGS_DECL)
 {
-    vgaHWFreeHWRec(xf86Screens[scrnIndex]);
-    ApmFreeRec(xf86Screens[scrnIndex]);
+    SCRN_INFO_PTR(arg);
+    vgaHWFreeHWRec(pScrn);
+    ApmFreeRec(pScrn);
 }
 
 /* Checks if a mode is suitable for the selected chipset. */
 
 /* Optional */
 static ModeStatus
-ApmValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
+ApmValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
 {
     if (mode->Flags & V_INTERLACE)
 	return(MODE_BAD);
diff --git a/src/compat-api.h b/src/compat-api.h
new file mode 100644
index 0000000..205ac59
--- /dev/null
+++ b/src/compat-api.h
@@ -0,0 +1,99 @@
+/*
+ * Copyright 2012 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ * Author: Dave Airlie <airlied@redhat.com>
+ */
+
+/* this file provides API compat between server post 1.13 and pre it,
+   it should be reused inside as many drivers as possible */
+#ifndef COMPAT_API_H
+#define COMPAT_API_H
+
+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
+#endif
+
+#ifndef XF86_HAS_SCRN_CONV
+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
+#endif
+
+#ifndef XF86_SCRN_INTERFACE
+
+#define SCRN_ARG_TYPE int
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
+
+#define SCREEN_ARG_TYPE int
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
+
+#define SCREEN_INIT_ARGS_DECL int scrnIndex, ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
+
+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
+#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
+
+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
+#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
+
+#define FREE_SCREEN_ARGS_DECL int arg, int flags
+
+#define VT_FUNC_ARGS_DECL int arg, int flags
+#define VT_FUNC_ARGS pScrn->scrnIndex, 0
+
+#define XF86_SCRN_ARG(x) ((x)->scrnIndex)
+#else
+#define SCRN_ARG_TYPE ScrnInfoPtr
+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
+
+#define SCREEN_ARG_TYPE ScreenPtr
+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
+
+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
+
+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
+
+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
+#define CLOSE_SCREEN_ARGS pScreen
+
+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
+#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
+
+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
+#define SWITCH_MODE_ARGS(arg, m) arg, m
+
+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
+
+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
+#define VT_FUNC_ARGS pScrn
+
+#define XF86_SCRN_ARG(x) (x)
+
+#endif
+
+#endif

commit d63d7c600cb3927a5a2a5e223252cfd9a44112d4
Author: Julien Cristau <jcristau@debian.org>
Date:   Sat May 12 12:46:11 2012 +0200

    xf86-video-apm 1.2.4
    
    Signed-off-by: Julien Cristau <jcristau@debian.org>

diff --git a/configure.ac b/configure.ac
index 1d8ea0c..9b0acde 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-apm],
-        [1.2.3],
+        [1.2.4],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-video-apm])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 384531dbd4ea359511c274d3cbd2b34449321ad0
Author: Luc Verhaegen <luc.verhaegen@basyskom.de>
Date:   Wed Nov 24 18:21:23 2010 +0100

    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>

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)


Reply to: