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

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



 ChangeLog              |  211 +++++
 Makefile.am            |    2 
 README                 |    2 
 README.pm3             |    2 
 configure.ac           |   60 -
 debian/README.source   |   24 
 debian/changelog       |   40 +
 debian/compat          |    2 
 debian/control         |   25 
 debian/prune/non-free  |    1 
 debian/rules           |  103 --
 debian/watch           |    3 
 debian/xsfbs/repack.sh |   32 
 debian/xsfbs/xsfbs.mk  |  285 -------
 debian/xsfbs/xsfbs.sh  |  622 ---------------
 man/glint.man          |   25 
 src/IBMramdac.c        |    4 
 src/Makefile.am        |   11 
 src/TIramdac.c         |    4 
 src/compat-api.h       |   99 ++
 src/glint.h            |   68 -
 src/glint_common.h     |   64 -
 src/glint_dga.c        |   31 
 src/glint_dri.c        | 1960 -------------------------------------------------
 src/glint_dri.h        |  123 ---
 src/glint_dripriv.h    |  296 -------
 src/glint_driver.c     |  420 ++++------
 src/glint_regs.h       |   26 
 src/glint_shadow.c     |    3 
 src/pm2_accel.c        |   12 
 src/pm2_dac.c          |   12 
 src/pm2_video.c        |  188 ++--
 src/pm2ramdac.c        |    2 
 src/pm2v_dac.c         |    6 
 src/pm2vramdac.c       |    2 
 src/pm3_accel.c        |   27 
 src/pm3_dac.c          |    8 
 src/pm3_regs.h         |    2 
 src/pm3_video.c        |   10 
 src/pm_accel.c         |   12 
 src/pm_dac.c           |    2 
 src/sx_accel.c         |   13 
 src/tx_accel.c         |   27 
 src/tx_dac.c           |    4 
 44 files changed, 806 insertions(+), 4069 deletions(-)

New commits:
commit 43f61ec418d6416396c509e33ee1ad62ef805929
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 18 16:03:53 2012 +0200

    Bump Standards-Version to 3.9.3 (no changes needed)

diff --git a/debian/changelog b/debian/changelog
index 2372717..5423fcf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,7 @@
 xserver-xorg-video-glint (1:1.2.8-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 16:03:02 +0200
 
diff --git a/debian/control b/debian/control
index 15b70f2..4dd3a2f 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,7 @@ Build-Depends:
  libdrm-dev (>> 2.0) [!hurd-i386],
  x11proto-xf86dri-dev,
  xutils-dev (>= 1:7.5+4)
-Standards-Version: 3.9.1
+Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-glint
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-glint.git
 

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

    New upstream release.

diff --git a/debian/changelog b/debian/changelog
index 28babd7..2372717 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+xserver-xorg-video-glint (1:1.2.8-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Wed, 18 Jul 2012 16:03:02 +0200
+
 xserver-xorg-video-glint (1:1.2.7-1) unstable; urgency=low
 
   * New upstream release.

commit 2fafb6ab4afd705c4173a45c8871fbd9b77c65ec
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Wed Jul 18 16:02:38 2012 +0200

    Bump changelog

diff --git a/ChangeLog b/ChangeLog
index 44cd2e6..860990c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+commit be79ca10f6f3fd6d7f8aac2e5ae5d8b84480bd83
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Tue Jul 17 16:05:09 2012 +1000
+
+    xf86-video-glint: bump to version 1.2.8
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit e85b1f9595aa3cf7f2747b2aa1add1decd57ab2e
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Mon Jul 16 04:20:02 2012 +0100
+
+    glint: build against server with no XAA support.
+    
+    This removes the XAA bits so it builds against latest server.
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+commit 062923d3ca1a9ab5ee5226c0d87bc5ec6d5e62c4
+Author: Dave Airlie <airlied@redhat.com>
+Date:   Wed Jun 6 12:14:42 2012 +0100
+
+    glint: port to new compat API
+    
+    Signed-off-by: Dave Airlie <airlied@redhat.com>
+
 commit c4796200c2d322a59ccf2eeb2df3be874507fd48
 Author: Matt Turner <mattst88@gmail.com>
 Date:   Wed Feb 15 23:12:23 2012 -0500

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

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

diff --git a/configure.ac b/configure.ac
index 2d49e6b..97e58fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-video-glint],
-        [1.2.7],
+        [1.2.8],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=Driver/glint],
         [xf86-video-glint])
 AC_CONFIG_SRCDIR([Makefile.am])

commit e85b1f9595aa3cf7f2747b2aa1add1decd57ab2e
Author: Dave Airlie <airlied@redhat.com>
Date:   Mon Jul 16 04:20:02 2012 +0100

    glint: build against server with no XAA support.
    
    This removes the XAA bits so it builds against latest server.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/configure.ac b/configure.ac
index 0f068b5..2d49e6b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -80,6 +80,23 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
 fi
 AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = 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_SUBST([moduledir])
 
diff --git a/src/glint.h b/src/glint.h
index 2d4cf47..b58be67 100644
--- a/src/glint.h
+++ b/src/glint.h
@@ -35,7 +35,10 @@
 
 #include "glintpcirename.h"
 
+#ifdef HAVE_XAA_H
 #include "xaa.h"
+#endif
+#include "xf86fbman.h"
 #include "xf86RamDac.h"
 #include "xf86cmap.h"
 #include "xf86i2c.h"
@@ -142,7 +145,9 @@ typedef struct {
     CARD32		PixelWidth;
     RamDacRecPtr	RamDacRec;
     xf86CursorInfoPtr	CursorInfoRec;
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr	AccelInfoRec;
+#endif
     CloseScreenProcPtr	CloseScreen;
     ScreenBlockHandlerProcPtr BlockHandler;
     GCPtr		CurrentGC;
diff --git a/src/glint_dga.c b/src/glint_dga.c
index 6e62e8c..24bf6c9 100644
--- a/src/glint_dga.c
+++ b/src/glint_dga.c
@@ -29,9 +29,10 @@
 #include "xf86.h"
 #include "xf86_OSproc.h"
 #include "xf86Pci.h"
-#include "xaa.h"
-#include "xaalocal.h"
 #include "glint.h"
+#ifdef HAVE_XAA_H
+#include "xaalocal.h"
+#endif
 #include "glint_regs.h"
 #include "dgaproc.h"
 
@@ -41,8 +42,10 @@ static Bool GLINT_SetMode(ScrnInfoPtr, DGAModePtr);
 static void GLINT_Sync(ScrnInfoPtr);
 static int  GLINT_GetViewport(ScrnInfoPtr);
 static void GLINT_SetViewport(ScrnInfoPtr, int, int, int);
+#ifdef HAVE_XAA_H
 static void GLINT_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long);
 static void GLINT_BlitRect(ScrnInfoPtr, int, int, int, int, int, int);
+#endif
 
 static
 DGAFunctionRec GLINTDGAFuncs = {
@@ -52,8 +55,12 @@ DGAFunctionRec GLINTDGAFuncs = {
    GLINT_SetViewport,
    GLINT_GetViewport,
    GLINT_Sync,
+#ifdef HAVE_XAA_H
    GLINT_FillRect,
    GLINT_BlitRect,
+#else
+   NULL, NULL,
+#endif
    NULL
 };
 
@@ -93,8 +100,10 @@ SECOND_PASS:
 
 	currentMode->mode = pMode;
 	currentMode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE;
+#ifdef HAVE_XAA_H
 	if(!pGlint->NoAccel)
 	   currentMode->flags |= DGA_FILL_RECT | DGA_BLIT_RECT;
+#endif
 	if(pMode->Flags & V_DBLSCAN)
 	   currentMode->flags |= DGA_DOUBLESCAN;
 	if(pMode->Flags & V_INTERLACE)
@@ -206,6 +215,7 @@ GLINT_SetViewport(
    pGlint->DGAViewportStatus = 0;  /* GLINTAdjustFrame loops until finished */
 }
 
+#ifdef HAVE_XAA_H
 static void 
 GLINT_FillRect (
    ScrnInfoPtr pScrn, 
@@ -220,18 +230,21 @@ GLINT_FillRect (
 	SET_SYNC_FLAG(pGlint->AccelInfoRec);
     }
 }
+#endif
 
 static void 
 GLINT_Sync(
    ScrnInfoPtr pScrn
 ){
     GLINTPtr pGlint = GLINTPTR(pScrn);
-
+#ifdef HAVE_XAA_H
     if(pGlint->AccelInfoRec) {
 	(*pGlint->AccelInfoRec->Sync)(pScrn);
     }
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void 
 GLINT_BlitRect(
    ScrnInfoPtr pScrn, 
@@ -252,7 +265,7 @@ GLINT_BlitRect(
 	SET_SYNC_FLAG(pGlint->AccelInfoRec);
     }
 }
-
+#endif
 static Bool 
 GLINT_OpenFramebuffer(
    ScrnInfoPtr pScrn, 
diff --git a/src/glint_driver.c b/src/glint_driver.c
index 19e39a8..b6d20a9 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -3301,8 +3301,10 @@ GLINTCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 	}
         GLINTUnmapMem(pScrn);
     }
+#ifdef HAVE_XAA_H
     if(pGlint->AccelInfoRec)
 	XAADestroyInfoRec(pGlint->AccelInfoRec);
+#endif
     if(pGlint->CursorInfoRec)
 	xf86DestroyCursorInfoRec(pGlint->CursorInfoRec);
     free(pGlint->ShadowPtr);
diff --git a/src/pm2_accel.c b/src/pm2_accel.c
index 9309789..921df94 100644
--- a/src/pm2_accel.c
+++ b/src/pm2_accel.c
@@ -48,6 +48,7 @@
 #include "glint_regs.h"
 #include "glint.h"
 
+#ifdef HAVE_XAA_H
 #include "xaalocal.h"		/* For replacements */
 
 #define DEBUG 0
@@ -241,10 +242,12 @@ Permedia2InitializeEngine(ScrnInfoPtr pScrn)
 
     TRACE_EXIT("Permedia2InitializeEngine");
 }
+#endif
 
 Bool
 Permedia2AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
@@ -368,8 +371,12 @@ Permedia2AccelInit(ScreenPtr pScreen)
     xf86InitFBManager(pScreen, &AvailFBArea);
 
     return(XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void Permedia2LoadCoord(
 	ScrnInfoPtr pScrn,
 	int x, int y,
@@ -1501,3 +1508,4 @@ Permedia2WritePixmap32bpp(
     Permedia2DisableClipping(pScrn);
     SET_SYNC_FLAG(infoRec);
 }
+#endif
diff --git a/src/pm3_accel.c b/src/pm3_accel.c
index 646bd4f..bd108a3 100644
--- a/src/pm3_accel.c
+++ b/src/pm3_accel.c
@@ -45,6 +45,7 @@
 #include "pm3_regs.h"
 #include "glint.h"
 
+#ifdef HAVE_XAA_H
 #include "xaalocal.h"		/* For replacements */
 
 #define DEBUG 0
@@ -380,10 +381,11 @@ Permedia3InitializeEngine(ScrnInfoPtr pScrn)
     	(*pGlint->AccelInfoRec->Sync)(pScrn);
     TRACE_EXIT("Permedia3InitializeEngine");
 }
-
+#endif
 Bool
 Permedia3AccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
@@ -487,6 +489,9 @@ Permedia3AccelInit(ScreenPtr pScreen)
     Permedia3EnableOffscreen(pScreen);
 
     return(XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
 void
@@ -510,6 +515,9 @@ Permedia3EnableOffscreen (ScreenPtr pScreen)
 
     xf86InitFBManager(pScreen, &AvailFBArea);
 }
+
+#ifdef HAVE_XAA_H
+
 #define CHECKCLIPPING				\
 {						\
     if (pGlint->ClippingOn) {			\
@@ -1211,3 +1219,4 @@ Permedia3WriteBitmap(ScrnInfoPtr pScrn,
     Permedia3DisableClipping(pScrn);
     Permedia3Sync(pScrn);
 }
+#endif
diff --git a/src/pm3_video.c b/src/pm3_video.c
index db27d41..6883796 100644
--- a/src/pm3_video.c
+++ b/src/pm3_video.c
@@ -38,8 +38,6 @@
 #include "glint_regs.h"
 #include "pm3_regs.h"
 #include <X11/extensions/Xv.h>
-#include "xaa.h"
-#include "xaalocal.h"
 #include "dixstruct.h"
 #include "fourcc.h"
 
diff --git a/src/pm_accel.c b/src/pm_accel.c
index 16f32e2..f6a201a 100644
--- a/src/pm_accel.c
+++ b/src/pm_accel.c
@@ -43,6 +43,7 @@
 #include "glint_regs.h"
 #include "glint.h"
 
+#ifdef HAVE_XAA_H
 #include "miline.h"		/* for octants */
 #include "xaalocal.h"		/* For replacements */
 
@@ -176,10 +177,12 @@ PermediaInitializeEngine(ScrnInfoPtr pScrn)
     GLINT_WRITE_REG(0,dXDom);
     GLINT_WRITE_REG(1<<16,dY);
 }
+#endif
 
 Bool
 PermediaAccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
@@ -276,8 +279,12 @@ PermediaAccelInit(ScreenPtr pScreen)
     xf86InitFBManager(pScreen, &AvailFBArea);
 
     return (XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void PermediaLoadCoord(
 	ScrnInfoPtr pScrn,
 	int x, int y,
@@ -1195,3 +1202,4 @@ PermediaSubsequentSolidBresenhamLine( ScrnInfoPtr pScrn,
                 (octant & YMAJOR) ? Y_AXIS : X_AXIS,
                 x, y,  e, dmin, -dmaj, len);
 }
+#endif
diff --git a/src/sx_accel.c b/src/sx_accel.c
index 22aa873..2aadd10 100644
--- a/src/sx_accel.c
+++ b/src/sx_accel.c
@@ -45,6 +45,7 @@
 #include "glint_regs.h"
 #include "glint.h"
 
+#ifdef HAVE_XAA_H
 #include "xaalocal.h"	/* For replacements */
 
 static void SXSync(ScrnInfoPtr pScrn);
@@ -160,10 +161,11 @@ SXInitializeEngine(ScrnInfoPtr pScrn)
     GLINT_SLOW_WRITE_REG(0, dXSub);
     GLINT_SLOW_WRITE_REG(1<<16, dY);
 }
-
+#endif
 Bool
 SXAccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
@@ -252,8 +254,12 @@ SXAccelInit(ScreenPtr pScreen)
     xf86InitFBManager(pScreen, &AvailFBArea);
 
     return (XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void SXLoadCoord(
 	ScrnInfoPtr pScrn,
 	int x, int y,
@@ -871,3 +877,4 @@ SXSubsequentSolidBresenhamLine( ScrnInfoPtr pScrn,
                 (octant & YMAJOR) ? Y_AXIS : X_AXIS,
                 x, y,  e, dmin, -dmaj, len);
 }
+#endif
diff --git a/src/tx_accel.c b/src/tx_accel.c
index 099d60c..3e48f34 100644
--- a/src/tx_accel.c
+++ b/src/tx_accel.c
@@ -45,6 +45,7 @@
 #include "glint_regs.h"
 #include "glint.h"
 
+#ifdef HAVE_XAA_H
 #include "xaalocal.h"	/* For replacements */
 
 static void TXSync(ScrnInfoPtr pScrn);
@@ -187,10 +188,12 @@ TXInitializeEngine(ScrnInfoPtr pScrn)
     GLINT_SLOW_WRITE_REG(0, dXDom);
     GLINT_SLOW_WRITE_REG(1<<16, dY);
 }
+#endif
 
 Bool
 TXAccelInit(ScreenPtr pScreen)
 {
+#ifdef HAVE_XAA_H
     XAAInfoRecPtr infoPtr;
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
@@ -282,8 +285,12 @@ TXAccelInit(ScreenPtr pScreen)
     xf86InitFBManager(pScreen, &AvailFBArea);
 
     return (XAAInit(pScreen, infoPtr));
+#else
+    return FALSE;
+#endif
 }
 
+#ifdef HAVE_XAA_H
 static void TXLoadCoord(
 	ScrnInfoPtr pScrn,
 	int x, int y,
@@ -943,3 +950,4 @@ TXSubsequentSolidBresenhamLine( ScrnInfoPtr pScrn,
                 (octant & YMAJOR) ? Y_AXIS : X_AXIS,
                 x, y,  e, dmin, -dmaj, len);
 }
+#endif

commit 062923d3ca1a9ab5ee5226c0d87bc5ec6d5e62c4
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Jun 6 12:14:42 2012 +0100

    glint: port to new compat API
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>

diff --git a/src/IBMramdac.c b/src/IBMramdac.c
index 0aca20e..b80f5a1 100644
--- a/src/IBMramdac.c
+++ b/src/IBMramdac.c
@@ -111,7 +111,7 @@ glintIBMReadData (ScrnInfoPtr pScrn)
 Bool 
 glintIBMHWCursorInit(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
     xf86CursorInfoPtr infoPtr;
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 9e60e48..85f1966 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -29,6 +29,7 @@ glint_drv_la_LDFLAGS = -module -avoid-version
 glint_drv_ladir = @moduledir@/drivers
 
 glint_drv_la_SOURCES = \
+         compat-api.h \
          glint_dga.c \
          glint_driver.c \
          glint.h \
diff --git a/src/TIramdac.c b/src/TIramdac.c
index 42ece63..8832e99 100644
--- a/src/TIramdac.c
+++ b/src/TIramdac.c
@@ -136,7 +136,7 @@ glintTIReadData (ScrnInfoPtr pScrn)
 Bool 
 glintTIHWCursorInit(ScreenPtr pScreen)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
     xf86CursorInfoPtr infoPtr;
 
diff --git a/src/compat-api.h b/src/compat-api.h
new file mode 100644
index 0000000..6bc946f
--- /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 i, 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
diff --git a/src/glint.h b/src/glint.h
index 090fbe3..2d4cf47 100644
--- a/src/glint.h
+++ b/src/glint.h
@@ -42,6 +42,7 @@
 #include "xf86DDC.h"
 #include "xf86xv.h"
 
+#include "compat-api.h"
 #define GLINT_MAX_MULTI_DEVICES 2
 
 #define GLINT_VERSION 4000
@@ -315,8 +316,8 @@ void Permedia2vOutIndReg(ScrnInfoPtr pScrn,
 		   CARD32, unsigned char mask, unsigned char data);
 unsigned char Permedia2vInIndReg(ScrnInfoPtr pScrn, CARD32);
 
-Bool GLINTSwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
-void GLINTAdjustFrame(int scrnIndex, int x, int y, int flags);
+Bool GLINTSwitchMode(SWITCH_MODE_ARGS_DECL);
+void GLINTAdjustFrame(ADJUST_FRAME_ARGS_DECL);
 
 extern int partprodPermedia[];
 
diff --git a/src/glint_dga.c b/src/glint_dga.c
index 44c162b..6e62e8c 100644
--- a/src/glint_dga.c
+++ b/src/glint_dga.c
@@ -60,7 +60,7 @@ DGAFunctionRec GLINTDGAFuncs = {
 Bool
 GLINTDGAInit(ScreenPtr pScreen)
 {   
-   ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+   ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
    GLINTPtr pGlint = GLINTPTR(pScrn);
    DGAModePtr modes = NULL, newmodes = NULL, currentMode;
    DisplayModePtr pMode, firstMode;
@@ -167,7 +167,7 @@ GLINT_SetMode(
 	
 	pScrn->displayWidth = OldDisplayWidth[index];
 	
-        GLINTSwitchMode(index, pScrn->currentMode, 0);
+        GLINTSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode));
 	pGlint->DGAactive = FALSE;
    } else {
 	if(!pGlint->DGAactive) {  /* save the old parameters */
@@ -179,7 +179,7 @@ GLINT_SetMode(
 	pScrn->displayWidth = pMode->bytesPerScanline / 
 			      (pMode->bitsPerPixel >> 3);
 
-        GLINTSwitchMode(index, pMode->mode, 0);
+        GLINTSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode));
    }
    
    return TRUE;
@@ -202,7 +202,7 @@ GLINT_SetViewport(
 ){
    GLINTPtr pGlint = GLINTPTR(pScrn);
 
-   GLINTAdjustFrame(pScrn->pScreen->myNum, x, y, flags);
+   GLINTAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
    pGlint->DGAViewportStatus = 0;  /* GLINTAdjustFrame loops until finished */
 }
 
diff --git a/src/glint_driver.c b/src/glint_driver.c
index 4a7bc76..19e39a8 100644
--- a/src/glint_driver.c
+++ b/src/glint_driver.c
@@ -90,16 +90,15 @@ static const OptionInfoRec *	GLINTAvailableOptions(int chipid, int busid);
 static void	GLINTIdentify(int flags);
 static Bool	GLINTProbe(DriverPtr drv, int flags);
 static Bool	GLINTPreInit(ScrnInfoPtr pScrn, int flags);
-static Bool	GLINTScreenInit(int Index, ScreenPtr pScreen, int argc,
-			      char **argv);
-static Bool	GLINTEnterVT(int scrnIndex, int flags);
-static void	GLINTLeaveVT(int scrnIndex, int flags);
-static Bool	GLINTCloseScreen(int scrnIndex, ScreenPtr pScreen);
+static Bool	GLINTScreenInit(SCREEN_INIT_ARGS_DECL);
+static Bool	GLINTEnterVT(VT_FUNC_ARGS_DECL);
+static void	GLINTLeaveVT(VT_FUNC_ARGS_DECL);
+static Bool	GLINTCloseScreen(CLOSE_SCREEN_ARGS_DECL);
 static Bool	GLINTSaveScreen(ScreenPtr pScreen, int mode);
 
 /* Optional functions */
-static void	GLINTFreeScreen(int scrnIndex, int flags);
-static ModeStatus GLINTValidMode(int scrnIndex, DisplayModePtr mode,
+static void	GLINTFreeScreen(FREE_SCREEN_ARGS_DECL);
+static ModeStatus GLINTValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode,
 				 Bool verbose, int flags);
 
 /* Internally used functions */
@@ -108,7 +107,7 @@ static Bool	GLINTUnmapMem(ScrnInfoPtr pScrn);
 static void	GLINTSave(ScrnInfoPtr pScrn);
 static void	GLINTRestore(ScrnInfoPtr pScrn);
 static Bool	GLINTModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode);
-static void 	GLINTBlockHandler(int, pointer, pointer, pointer);
+static void 	GLINTBlockHandler(BLOCKHANDLER_ARGS_DECL);
 
 /*
  * This is intentionally screen-independent.  It indicates the binding
@@ -1938,7 +1937,7 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flags)
 	
 	if (pGlint->DDCBus) {
 	    GLINTMapMem(pScrn);
-	    pMon = xf86DoEDID_DDC2(pScrn->scrnIndex, pGlint->DDCBus);
+	    pMon = xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn), pGlint->DDCBus);
 	    GLINTUnmapMem(pScrn);
 	}
 	
@@ -2718,9 +2717,9 @@ GLINTRestore(ScrnInfoPtr pScrn)
 /* This gets called at the start of each server generation */
 
 static Bool
-GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
+GLINTScreenInit(SCREEN_INIT_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
     int ret, displayWidth;
     unsigned char *FBStart;
@@ -2734,7 +2733,7 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
     if (pGlint->FBDev) {
 	fbdevHWSave(pScrn);
  	if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
-		xf86DrvMsg(scrnIndex, X_ERROR,
+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 		   "Internal error: invalid mode\n");
 		return FALSE;
 	}
@@ -2744,14 +2743,14 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 
     /* Initialise the first mode */
     if ( (!pGlint->FBDev) && !(GLINTModeInit(pScrn, pScrn->currentMode))) {
-	xf86DrvMsg(scrnIndex, X_ERROR,
+	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 		   "Internal error: invalid mode\n");
 	return FALSE;
     }   
 
     /* Darken the screen for aesthetic reasons and set the viewport */
     GLINTSaveScreen(pScreen, SCREEN_SAVER_ON);
-    GLINTAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0);
+    GLINTAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0));
 
     /*
      * The next step is to setup the screen's visuals, and initialise the
@@ -2821,7 +2820,7 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 			displayWidth, pScrn->bitsPerPixel);
 	break;
     default:
-	xf86DrvMsg(scrnIndex, X_ERROR,
+	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 		   "Internal error: invalid bpp (%d) in GLINTScrnInit\n",
 		   pScrn->bitsPerPixel);
 	    ret = FALSE;
@@ -3033,17 +3032,16 @@ GLINTScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 
 /* Usually mandatory */
 Bool
-GLINTSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
+GLINTSwitchMode(SWITCH_MODE_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn;
+    SCRN_INFO_PTR(arg);
     GLINTPtr pGlint;
 
-    pScrn = xf86Screens[scrnIndex];
     pGlint = GLINTPTR(pScrn);
     TRACE_ENTER("GLINTSwitchMode");
 	
     if (pGlint->FBDev) {
-	Bool ret = fbdevHWSwitchMode(scrnIndex, mode, flags);
+	Bool ret = fbdevHWSwitchMode(SWITCH_MODE_ARGS(pScrn, mode));
 
 	if (!pGlint->NoAccel) {
     	    switch (pGlint->Chipset) {
@@ -3097,7 +3095,7 @@ GLINTSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
     }
 
     TRACE_EXIT("GLINTSwitchMode (normal)");
-    return GLINTModeInit(xf86Screens[scrnIndex], mode);
+    return GLINTModeInit(pScrn, mode);
 }
 
 
@@ -3107,18 +3105,17 @@ GLINTSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
  */
 /* Usually mandatory */
 void 
-GLINTAdjustFrame(int scrnIndex, int x, int y, int flags)
+GLINTAdjustFrame(ADJUST_FRAME_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn;
+    SCRN_INFO_PTR(arg);
     CARD32 base;
     GLINTPtr pGlint;
 
-    pScrn = xf86Screens[scrnIndex];
     pGlint = GLINTPTR(pScrn);
     TRACE_ENTER("GLINTAdjustFrame");
     
     if (pGlint->FBDev) {
-    	fbdevHWAdjustFrame(scrnIndex, x, y, flags);
+    	fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y));
 	TRACE_EXIT("GLINTAdjustFrame (fbdev)");
 	return;
     }
@@ -3170,15 +3167,15 @@ GLINTAdjustFrame(int scrnIndex, int x, int y, int flags)
 
 /* Mandatory */
 static Bool
-GLINTEnterVT(int scrnIndex, int flags)
+GLINTEnterVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     GLINTPtr pGlint = GLINTPTR(pScrn);
 
     TRACE_ENTER("GLINTEnterVT");
 
     if (pGlint->FBDev)
-    	fbdevHWEnterVT(scrnIndex, flags);
+    	fbdevHWEnterVT(VT_FUNC_ARGS);
     else
     	/* Should we re-save the text mode on each VT enter? */
     	if (!GLINTModeInit(pScrn, pScrn->currentMode))
@@ -3253,9 +3250,9 @@ GLINTEnterVT(int scrnIndex, int flags)
 
 /* Mandatory */
 static void
-GLINTLeaveVT(int scrnIndex, int flags)
+GLINTLeaveVT(VT_FUNC_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    SCRN_INFO_PTR(arg);
     GLINTPtr pGlint = GLINTPTR(pScrn);
 
     TRACE_ENTER("GLINTLeaveVT");
@@ -3278,9 +3275,9 @@ GLINTLeaveVT(int scrnIndex, int flags)
 
 /* Mandatory */
 static Bool
-GLINTCloseScreen(int scrnIndex, ScreenPtr pScreen)
+GLINTCloseScreen(CLOSE_SCREEN_ARGS_DECL)
 {
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
+    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
     GLINTPtr pGlint = GLINTPTR(pScrn);
 
     TRACE_ENTER("GLINTCloseScreen");
@@ -3323,7 +3320,7 @@ GLINTCloseScreen(int scrnIndex, ScreenPtr pScreen)
 
     pScreen->CloseScreen = pGlint->CloseScreen;
     TRACE_EXIT("GLINTCloseScreen");
-    return (*pScreen->CloseScreen)(scrnIndex, pScreen);
+    return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
 }
 
 
@@ -3331,17 +3328,15 @@ GLINTCloseScreen(int scrnIndex, ScreenPtr pScreen)
 
 /* Optional */
 static void
-GLINTFreeScreen(int scrnIndex, int flags)
+GLINTFreeScreen(FREE_SCREEN_ARGS_DECL)
 {
-#if DEBUG
-    ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-#endif
+    SCRN_INFO_PTR(arg);
     TRACE_ENTER("GLINTFreeScreen");
     if (xf86LoaderCheckSymbol("fbdevHWFreeRec"))
-	fbdevHWFreeRec(xf86Screens[scrnIndex]);
+        fbdevHWFreeRec(pScrn);
     if (xf86LoaderCheckSymbol("RamDacFreeRec"))
-    	RamDacFreeRec(xf86Screens[scrnIndex]);
-    GLINTFreeRec(xf86Screens[scrnIndex]);
+	RamDacFreeRec(pScrn);
+    GLINTFreeRec(pScrn);
     TRACE_EXIT("GLINTFreeScreen");


Reply to: