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 <[email protected]>
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 <[email protected]>  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 <[email protected]>
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 <[email protected]>  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 <[email protected]>
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 <[email protected]>
+Date:   Tue Jul 17 16:05:09 2012 +1000
+
+    xf86-video-apm: bump to version 1.2.5
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit 09c6ce0beab11d378e661dbdc57e311b16c35aea
+Author: Dave Airlie <[email protected]>
+Date:   Tue Jul 17 15:22:37 2012 +1000
+
+    apm: fix make dist.
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit a57b784ddfdc9369f6dfe498333c25bfea883e8f
+Author: Dave Airlie <[email protected]>
+Date:   Tue Jul 17 14:52:05 2012 +1000
+
+    apm: convert to new screen conversion apis.
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit d9a3071242724325d4e3672b3e70d8457f993f78
+Author: Dave Airlie <[email protected]>
+Date:   Fri Jul 13 14:54:06 2012 +1000
+
+    apm: handle xaa removal
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit 01bdd7d3d18f5d5c94aa99ccd7677f5928b37392
+Author: Dave Airlie <[email protected]>
+Date:   Fri Jul 13 14:56:12 2012 +1000
+
+    apm: initial compat api
+    
+    Port to new server compat API.
+    
+    Signed-off-by: Dave Airlie <[email protected]>
+
+commit d63d7c600cb3927a5a2a5e223252cfd9a44112d4
+Author: Julien Cristau <[email protected]>
+Date:   Sat May 12 12:46:11 2012 +0200
+
+    xf86-video-apm 1.2.4
+    
+    Signed-off-by: Julien Cristau <[email protected]>
+
+commit 384531dbd4ea359511c274d3cbd2b34449321ad0
+Author: Luc Verhaegen <[email protected]>
+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 <[email protected]>
+    Signed-off-by: Julien Cristau <[email protected]>
+
+commit e92c8ed0b03b5a33f4b0c3966e540a31af760402
+Author: Julien Cristau <[email protected]>
+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 <[email protected]>
+Date:   Tue May 1 15:25:30 2012 +0200
+
+    Stop including xf86PciInfo.h
+    
+    Deprecated in xserver commit 1f5baa924a5907978f564372265d9830ac72a077
+
+commit 784c3a1fa53771662b4656e193fb392cbb8c8452
+Author: Julien Cristau <[email protected]>
+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 <[email protected]>
 Date:   Mon Dec 19 17:44:20 2011 -0500

commit 736cb01bfafc2cbb1dfa4e449866b5bc333cfc86
Author: Dave Airlie <[email protected]>
Date:   Tue Jul 17 16:05:09 2012 +1000

    xf86-video-apm: bump to version 1.2.5
    
    Signed-off-by: Dave Airlie <[email protected]>

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 <[email protected]>
Date:   Tue Jul 17 15:22:37 2012 +1000

    apm: fix make dist.
    
    Signed-off-by: Dave Airlie <[email protected]>

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 <[email protected]>
Date:   Tue Jul 17 14:52:05 2012 +1000

    apm: convert to new screen conversion apis.
    
    Signed-off-by: Dave Airlie <[email protected]>

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 <[email protected]>
Date:   Fri Jul 13 14:54:06 2012 +1000

    apm: handle xaa removal
    
    Signed-off-by: Dave Airlie <[email protected]>

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 <[email protected]>
Date:   Fri Jul 13 14:56:12 2012 +1000

    apm: initial compat api
    
    Port to new server compat API.
    
    Signed-off-by: Dave Airlie <[email protected]>

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 <[email protected]>
+ */
+
+/* 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 <[email protected]>
Date:   Sat May 12 12:46:11 2012 +0200

    xf86-video-apm 1.2.4
    
    Signed-off-by: Julien Cristau <[email protected]>

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 <[email protected]>
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 <[email protected]>
    Signed-off-by: Julien Cristau <[email protected]>

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)


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to