DRI.txt | 407 ---------- Makefile.am | 2 README | 2 README.pm3 | 2 configure.ac | 60 - 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 34 files changed, 530 insertions(+), 3404 deletions(-)
New commits: commit be79ca10f6f3fd6d7f8aac2e5ae5d8b84480bd83 Author: Dave Airlie <airl...@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 <airl...@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 <airl...@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 <airl...@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 <airl...@redhat.com> Date: Wed Jun 6 12:14:42 2012 +0100 glint: port to new compat API Signed-off-by: Dave Airlie <airl...@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 <airl...@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"); } @@ -3350,9 +3345,9 @@ GLINTFreeScreen(int scrnIndex, int flags) /* Optional */ static ModeStatus -GLINTValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) +GLINTValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); GLINTPtr pGlint = GLINTPTR(pScrn); if (mode->Flags & V_INTERLACE) @@ -3408,7 +3403,7 @@ GLINTValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) static Bool GLINTSaveScreen(ScreenPtr pScreen, int mode) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); CARD32 temp; Bool unblank; @@ -3462,14 +3457,10 @@ GLINTSaveScreen(ScreenPtr pScreen, int mode) } static void -GLINTBlockHandler ( - int i, - pointer blockData, - pointer pTimeout, - pointer pReadmask -){ - ScreenPtr pScreen = screenInfo.screens[i]; - ScrnInfoPtr pScrn = xf86Screens[i]; +GLINTBlockHandler (BLOCKHANDLER_ARGS_DECL) +{ + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); int sigstate = xf86BlockSIGIO(); @@ -3482,7 +3473,7 @@ GLINTBlockHandler ( xf86UnblockSIGIO(sigstate); pScreen->BlockHandler = pGlint->BlockHandler; - (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); + (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); pScreen->BlockHandler = GLINTBlockHandler; if(pGlint->VideoTimerCallback) { diff --git a/src/pm2_accel.c b/src/pm2_accel.c index 794a1c2..9309789 100644 --- a/src/pm2_accel.c +++ b/src/pm2_accel.c @@ -246,7 +246,7 @@ Bool Permedia2AccelInit(ScreenPtr pScreen) { XAAInfoRecPtr infoPtr; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); BoxRec AvailFBArea; diff --git a/src/pm2_dac.c b/src/pm2_dac.c index c2ae8eb..85093ff 100644 --- a/src/pm2_dac.c +++ b/src/pm2_dac.c @@ -414,7 +414,7 @@ Permedia2UseHWCursor(ScreenPtr pScr, CursorPtr pCurs) Bool Permedia2HWCursorInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); xf86CursorInfoPtr infoPtr; diff --git a/src/pm2_video.c b/src/pm2_video.c index f5bbdf3..196d222 100644 --- a/src/pm2_video.c +++ b/src/pm2_video.c @@ -2984,7 +2984,7 @@ Permedia2VideoUninit(ScrnInfoPtr pScrn) void Permedia2VideoInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); AdaptorPrivPtr pAPriv; DevUnion Private[PORTS]; diff --git a/src/pm2v_dac.c b/src/pm2v_dac.c index 816f8c6..bf04245 100644 --- a/src/pm2v_dac.c +++ b/src/pm2v_dac.c @@ -540,7 +540,7 @@ Permedia2vUseHWCursor(ScreenPtr pScr, CursorPtr pCurs) Bool Permedia2vHWCursorInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); GLINTPtr pGlint = GLINTPTR(pScrn); xf86CursorInfoPtr infoPtr; diff --git a/src/pm3_accel.c b/src/pm3_accel.c -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1srur9-0004pp...@vasks.debian.org