ChangeLog | 397 +++++++++++++++++++++++++++++++ configure.ac | 24 + debian/README.source | 24 - debian/changelog | 54 ++++ debian/compat | 2 debian/control | 24 + debian/rules | 103 -------- debian/watch | 1 debian/xsfbs/repack.sh | 32 -- debian/xsfbs/xsfbs.mk | 285 ---------------------- debian/xsfbs/xsfbs.sh | 622 ------------------------------------------------- src/Makefile.am | 2 src/compat-api.h | 105 ++++++++ src/savage_accel.c | 9 src/savage_bci.h | 7 src/savage_common.h | 6 src/savage_cursor.c | 10 src/savage_dga.c | 31 +- src/savage_dri.c | 479 +++++++++++++++++-------------------- src/savage_dri.h | 6 src/savage_dripriv.h | 6 src/savage_driver.c | 183 ++++++-------- src/savage_driver.h | 42 +-- src/savage_drm.h | 12 src/savage_exa.c | 25 - src/savage_hwmc.c | 16 - src/savage_i2c.c | 16 - src/savage_pciids.h | 55 ++++ src/savage_regs.h | 6 src/savage_sarea.h | 12 src/savage_shadow.c | 6 src/savage_streams.h | 7 src/savage_vbe.c | 35 +- src/savage_vbe.h | 6 src/savage_video.c | 88 +++--- src/savage_xaa.c | 17 - 36 files changed, 1166 insertions(+), 1589 deletions(-)
New commits: commit 3299a36b373cc6d3237b79ef42908e63f822edd1 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Wed Jul 18 13:42:47 2012 +0200 New upstream release diff --git a/debian/changelog b/debian/changelog index e68bc48..bb7137f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-savage (1:2.3.6-1) UNRELEASED; urgency=low + + * New upstream release + + -- Maarten Lankhorst <maarten.lankho...@canonical.com> Wed, 18 Jul 2012 13:42:19 +0200 + xserver-xorg-video-savage (1:2.3.4-1) unstable; urgency=low * New upstream release commit 03e24e57a11ed176c845ab9c2e5308dceab08d26 Author: Maarten Lankhorst <maarten.lankho...@canonical.com> Date: Wed Jul 18 13:42:38 2012 +0200 Bump changelog diff --git a/ChangeLog b/ChangeLog index eda84db..ac40aff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,56 @@ +commit cb27a7a072c6e087a2e272d84c1d569dc717da8b +Author: Dave Airlie <airl...@redhat.com> +Date: Tue Jul 17 16:05:09 2012 +1000 + + xf86-video-savage: bump to version 2.3.6 + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit d7edd7c545473d5ed80c9a46c1405042267a7293 +Author: Dave Airlie <airl...@redhat.com> +Date: Mon Jul 16 03:39:32 2012 +0100 + + savage: make build with no xaa server. + + This fixes savage build against the no XAA server. + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit 508e0742b7d1ac1e4ff6b648d19bfa062c535d61 +Author: Dave Airlie <airl...@redhat.com> +Date: Mon Jul 2 12:29:41 2012 +0100 + + savage: bump to 2.3.5 + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit 430b956b49b6c883189074ce13bc234545b714e0 +Author: Dave Airlie <airl...@redhat.com> +Date: Wed Jun 6 11:24:31 2012 +0100 + + savage: i2c drop xf86Screens usage. + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit a2714fb09e1e0badbb3e98e24d4b1ed92003bdb9 +Author: Dave Airlie <airl...@redhat.com> +Date: Wed Jun 6 11:22:29 2012 +0100 + + savage: port to new compat API + + Signed-off-by: Dave Airlie <airl...@redhat.com> + +commit de22eab9a21df80fe965dc37d21ba3ac2b9f5fd0 +Author: Tormod Volden <debian.tor...@gmail.com> +Date: Wed Feb 15 22:20:37 2012 +0100 + + Refactor BIOS modes retrieval to call VBEGetVBEInfo only once + + Otherwise, calling it twice would trigger a VBE bug when using + xserver 1.12. + + Signed-off-by: Tormod Volden <debian.tor...@gmail.com> + commit 63dd44674a28263c5d8d6aec8b72e95f94d3fe6c Author: Alan Coopersmith <alan.coopersm...@oracle.com> Date: Fri Mar 23 19:46:12 2012 -0700 commit cb27a7a072c6e087a2e272d84c1d569dc717da8b Author: Dave Airlie <airl...@redhat.com> Date: Tue Jul 17 16:05:09 2012 +1000 xf86-video-savage: bump to version 2.3.6 Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index 5e4fbe2..2b99314 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-savage], - [2.3.5], + [2.3.6], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-savage]) AC_CONFIG_SRCDIR([Makefile.am]) commit d7edd7c545473d5ed80c9a46c1405042267a7293 Author: Dave Airlie <airl...@redhat.com> Date: Mon Jul 16 03:39:32 2012 +0100 savage: make build with no xaa server. This fixes savage build against the no XAA server. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index ca60e76..5e4fbe2 100644 --- a/configure.ac +++ b/configure.ac @@ -103,6 +103,24 @@ if test "$DRI" = yes; then AC_DEFINE(SAVAGEDRI_DEVEL,1,[Enable developmental DRI driver support]) fi +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]) + save_CFLAGS="$CFLAGS" CFLAGS="$XORG_CFLAGS" AC_CHECK_DECL(XSERVER_LIBPCIACCESS, diff --git a/src/savage_dga.c b/src/savage_dga.c index cb541d3..413e0e7 100644 --- a/src/savage_dga.c +++ b/src/savage_dga.c @@ -34,8 +34,9 @@ in this Software without prior written authorization from the XFree86 Project. * */ - +#ifdef HAVE_XAA_H #include "xaalocal.h" +#endif #include "savage_driver.h" #include "dgaproc.h" @@ -46,9 +47,10 @@ static Bool Savage_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **, static Bool Savage_SetMode(ScrnInfoPtr, DGAModePtr); static int Savage_GetViewport(ScrnInfoPtr); static void Savage_SetViewport(ScrnInfoPtr, int, int, int); +#ifdef HAVE_XAA_H static void Savage_FillRect(ScrnInfoPtr, int, int, int, int, unsigned long); static void Savage_BlitRect(ScrnInfoPtr, int, int, int, int, int, int); - +#endif static DGAFunctionRec Savage_DGAFuncs = { @@ -58,8 +60,12 @@ DGAFunctionRec Savage_DGAFuncs = { Savage_SetViewport, Savage_GetViewport, SavageAccelSync, +#ifdef HAVE_XAA_H Savage_FillRect, Savage_BlitRect, +#else + NULL, NULL, +#endif NULL /* BlitTransRect */ }; @@ -127,8 +133,10 @@ SECOND_PASS: mode->mode = pMode; mode->flags = DGA_CONCURRENT_ACCESS | DGA_PIXMAP_AVAILABLE; +#ifdef HAVE_XAA_H if(!psav->NoAccel) mode->flags |= DGA_FILL_RECT | DGA_BLIT_RECT; +#endif if(pMode->Flags & V_DBLSCAN) mode->flags |= DGA_DOUBLESCAN; if(pMode->Flags & V_INTERLACE) @@ -341,6 +349,7 @@ Savage_SetViewport( psav->DGAViewportStatus = 0; /* MGAAdjustFrame loops until finished */ } +#ifdef HAVE_XAA_H static void Savage_FillRect ( ScrnInfoPtr pScrn, @@ -376,7 +385,7 @@ Savage_BlitRect( SET_SYNC_FLAG(psav->AccelInfoRec); } } - +#endif static Bool Savage_OpenFramebuffer( diff --git a/src/savage_dri.c b/src/savage_dri.c index 7b5d2b1..bdb78e4 100644 --- a/src/savage_dri.c +++ b/src/savage_dri.c @@ -31,8 +31,10 @@ #include "xf86.h" #include "xf86_OSproc.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" #include "xaarop.h" +#endif #include "xf86Pci.h" #include "xf86fbman.h" @@ -287,8 +289,10 @@ static void SAVAGEWakeupHandler(WAKEUPHANDLER_ARGS_DECL) } if (psav->useEXA) exaMarkSync(pScreen); +#ifdef HAVE_XAA_H else psav->AccelInfoRec->NeedToSync = TRUE; +#endif /* FK: this flag doesn't seem to be used. */ } @@ -1535,8 +1539,10 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg, BCI_SEND(0xc0020000); /* wait for 2D idle */ if (psav->useEXA) exaMarkSync(pScreen); +#ifdef HAVE_XAA_H else psav->AccelInfoRec->NeedToSync = TRUE; +#endif } /* Definition in savage_accel.c */ diff --git a/src/savage_driver.c b/src/savage_driver.c index 1083d65..026bf5c 100644 --- a/src/savage_driver.c +++ b/src/savage_driver.c @@ -3987,10 +3987,12 @@ static Bool SavageCloseScreen(CLOSE_SCREEN_ARGS_DECL) psav->EXADriverPtr = NULL; } +#ifdef HAVE_XAA_H if( psav->AccelInfoRec ) { XAADestroyInfoRec( psav->AccelInfoRec ); psav->AccelInfoRec = NULL; } +#endif if( psav->DGAModes ) { free( psav->DGAModes ); diff --git a/src/savage_driver.h b/src/savage_driver.h index d51b2a1..b604292 100644 --- a/src/savage_driver.h +++ b/src/savage_driver.h @@ -63,7 +63,10 @@ #include "fboverlay.h" #include "xf86cmap.h" #include "vbe.h" +#ifdef HAVE_XAA_H #include "xaa.h" +#endif +#include "xf86fbman.h" #include "exa.h" #include "xf86xv.h" @@ -421,7 +424,9 @@ typedef struct _Savage { unsigned long sbd_high; /* Support for XAA acceleration */ +#ifdef HAVE_XAA_H XAAInfoRecPtr AccelInfoRec; +#endif xRectangle Rect; unsigned int SavedBciCmd; unsigned int SavedFgColor; diff --git a/src/savage_hwmc.c b/src/savage_hwmc.c index 2dea4df..d1e5553 100644 --- a/src/savage_hwmc.c +++ b/src/savage_hwmc.c @@ -40,8 +40,9 @@ #include "xf86xvmc.h" #include <X11/extensions/Xv.h> #include <X11/extensions/XvMC.h> -#include "xaa.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" +#endif #include "dixstruct.h" #include "fourcc.h" diff --git a/src/savage_xaa.c b/src/savage_xaa.c index e4d661b..858cb97 100644 --- a/src/savage_xaa.c +++ b/src/savage_xaa.c @@ -14,10 +14,13 @@ #endif #include <X11/Xarch.h> +#include "savage_driver.h" +#ifdef HAVE_XAA_H #include "xaalocal.h" #include "xaarop.h" + #include "miline.h" -#include "savage_driver.h" + #include "savage_bci.h" extern int gSavageEntityIndex; @@ -146,11 +149,12 @@ void SavageRestoreAccelState(ScrnInfoPtr pScrn) return; } - +#endif Bool SavageXAAInit(ScreenPtr pScreen) { +#ifdef HAVE_XAA_H ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); XAAInfoRecPtr xaaptr; @@ -344,7 +348,9 @@ SavageXAAInit(ScreenPtr pScreen) return XAAInit(pScreen, xaaptr); - +#else + return FALSE; +#endif } /* The sync function for the GE */ @@ -355,7 +361,7 @@ SavageAccelSync(ScrnInfoPtr pScrn) psav->WaitIdleEmpty(psav); } - +#ifdef HAVE_XAA_H /* * The XAA ROP helper routines all assume that a solid color is a * "pattern". The Savage chips, however, apply a non-stippled solid @@ -1020,3 +1026,4 @@ void SavageSubsequentImageWriteRect BCI_SEND(BCI_W_H(w, h)); } +#endif commit 508e0742b7d1ac1e4ff6b648d19bfa062c535d61 Author: Dave Airlie <airl...@redhat.com> Date: Mon Jul 2 12:29:41 2012 +0100 savage: bump to 2.3.5 Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index d82af14..ca60e76 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-savage], - [2.3.4], + [2.3.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-savage]) AC_CONFIG_SRCDIR([Makefile.am]) commit 430b956b49b6c883189074ce13bc234545b714e0 Author: Dave Airlie <airl...@redhat.com> Date: Wed Jun 6 11:24:31 2012 +0100 savage: i2c drop xf86Screens usage. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/savage_i2c.c b/src/savage_i2c.c index b5739a2..a37fc7f 100644 --- a/src/savage_i2c.c +++ b/src/savage_i2c.c @@ -37,7 +37,11 @@ in this Software without prior written authorization from the XFree86 Project. static void SavageI2CPutBits(I2CBusPtr b, int clock, int data) { +#ifdef XF86_SCRN_INTERFACE + ScrnInfoPtr pScrn = b->pScrn; +#else ScrnInfoPtr pScrn = (ScrnInfoPtr)(xf86Screens[b->scrnIndex]); +#endif SavagePtr psav = SAVPTR(pScrn); unsigned char reg = 0x10; @@ -51,7 +55,11 @@ SavageI2CPutBits(I2CBusPtr b, int clock, int data) static void SavageI2CGetBits(I2CBusPtr b, int *clock, int *data) { +#ifdef XF86_SCRN_INTERFACE + ScrnInfoPtr pScrn = b->pScrn; +#else ScrnInfoPtr pScrn = (ScrnInfoPtr)(xf86Screens[b->scrnIndex]); +#endif SavagePtr psav = SAVPTR(pScrn); unsigned char reg = 0x10; @@ -76,6 +84,9 @@ SavageI2CInit(ScrnInfoPtr pScrn) I2CPtr->BusName = "I2C bus"; I2CPtr->scrnIndex = pScrn->scrnIndex; +#ifdef XF86_SCRN_INTERFACE + I2CPtr->pScrn = pScrn; +#endif I2CPtr->I2CPutBits = SavageI2CPutBits; I2CPtr->I2CGetBits = SavageI2CGetBits; commit a2714fb09e1e0badbb3e98e24d4b1ed92003bdb9 Author: Dave Airlie <airl...@redhat.com> Date: Wed Jun 6 11:22:29 2012 +0100 savage: port to new compat API Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/Makefile.am b/src/Makefile.am index e980c1a..52fdf9e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -29,6 +29,7 @@ savage_drv_la_LDFLAGS = -module -avoid-version savage_drv_ladir = @moduledir@/drivers savage_drv_la_SOURCES = \ + compat-api.h \ savage_accel.c \ savage_xaa.c \ savage_exa.c \ diff --git a/src/compat-api.h b/src/compat-api.h new file mode 100644 index 0000000..98ba435 --- /dev/null +++ b/src/compat-api.h @@ -0,0 +1,105 @@ +/* + * 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 WAKEUPHANDLER_ARGS_DECL int arg, pointer wakeupData, unsigned long result, pointer read_mask +#define WAKEUPHANDLER_ARGS arg, wakeupData, result, read_mask + +#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 WAKEUPHANDLER_ARGS_DECL ScreenPtr arg, unsigned long result, pointer read_mask +#define WAKEUPHANDLER_ARGS arg, result, read_mask + +#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/savage_accel.c b/src/savage_accel.c index 0920e22..1bcb5fa 100644 --- a/src/savage_accel.c +++ b/src/savage_accel.c @@ -1274,7 +1274,7 @@ void SavageRestoreAccelState(ScrnInfoPtr pScrn) Bool SavageInitAccel(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); #ifdef SAVAGEDRI diff --git a/src/savage_cursor.c b/src/savage_cursor.c index 6364293..3506f3a 100644 --- a/src/savage_cursor.c +++ b/src/savage_cursor.c @@ -83,7 +83,7 @@ static void SavageSetCursorColors(ScrnInfoPtr pScrn, int bg, int fg); static Bool SavageUseHWCursor(ScreenPtr pScr, CursorPtr pCurs) { - ScrnInfoPtr pScrn = xf86Screens[pScr->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScr); SavagePtr psav = SAVPTR(pScrn); if (psav->PanelX != pScrn->currentMode->HDisplay @@ -100,7 +100,7 @@ SavageUseHWCursor(ScreenPtr pScr, CursorPtr pCurs) Bool SavageHWCursorInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); xf86CursorInfoPtr infoPtr; diff --git a/src/savage_dga.c b/src/savage_dga.c index 1c4d884..cb541d3 100644 --- a/src/savage_dga.c +++ b/src/savage_dga.c @@ -202,7 +202,7 @@ SECOND_PASS: Bool SavageDGAInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); DGAModePtr modes = NULL; int num = 0; @@ -276,7 +276,7 @@ Savage_SetMode( pScrn->currentMode = OldMode[index]; psav->DGAactive = FALSE; - SavageSwitchMode(index, pScrn->currentMode, 0); + SavageSwitchMode(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); if( psav->hwcursor && psav->hwc_on ) SavageShowCursor(pScrn); } else { @@ -312,7 +312,7 @@ Savage_SetMode( (pMode->bitsPerPixel >> 3); /* psav->UseBIOS = FALSE; */ - SavageSwitchMode(index, pMode->mode, 0); + SavageSwitchMode(SWITCH_MODE_ARGS(pScrn, pMode->mode)); psav->UseBIOS = holdBIOS; } @@ -337,7 +337,7 @@ Savage_SetViewport( ){ SavagePtr psav = SAVPTR(pScrn); - SavageAdjustFrame(pScrn->pScreen->myNum, x, y, flags); + SavageAdjustFrame(ADJUST_FRAME_ARGS(pScrn, x, y)); psav->DGAViewportStatus = 0; /* MGAAdjustFrame loops until finished */ } diff --git a/src/savage_dri.c b/src/savage_dri.c index 38d2a86..7b5d2b1 100644 --- a/src/savage_dri.c +++ b/src/savage_dri.c @@ -104,7 +104,7 @@ SAVAGEDRISubsequentScreenToScreenCopy( */ static Bool SAVAGEInitVisualConfigs( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); int numConfigs = 0; __GLXvisualConfig *pConfigs = 0; @@ -243,7 +243,7 @@ static Bool SAVAGECreateContext( ScreenPtr pScreen, VisualPtr visual, drm_context_t hwContext, void *pVisualConfigPriv, DRIContextType contextStore ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); if(psav->xvmcContext) @@ -259,21 +259,20 @@ static Bool SAVAGECreateContext( ScreenPtr pScreen, VisualPtr visual, static void SAVAGEDestroyContext( ScreenPtr pScreen, drm_context_t hwContext, DRIContextType contextStore ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); psav->DRIrunning--; } -static void SAVAGEWakeupHandler( int screenNum, pointer wakeupData, - unsigned long result, pointer pReadmask ) +static void SAVAGEWakeupHandler(WAKEUPHANDLER_ARGS_DECL) { - ScreenPtr pScreen = screenInfo.screens[screenNum]; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); psav->pDRIInfo->wrap.WakeupHandler = psav->coreWakeupHandler; - (*psav->pDRIInfo->wrap.WakeupHandler) (screenNum, wakeupData, result, pReadmask); + (*psav->pDRIInfo->wrap.WakeupHandler) (WAKEUPHANDLER_ARGS); psav->pDRIInfo->wrap.WakeupHandler = SAVAGEWakeupHandler; psav->LockHeld = 1; if (psav->ShadowStatus) { @@ -293,11 +292,10 @@ static void SAVAGEWakeupHandler( int screenNum, pointer wakeupData, /* FK: this flag doesn't seem to be used. */ } -static void SAVAGEBlockHandler( int screenNum, pointer blockData, - pointer pTimeout, pointer pReadmask) +static void SAVAGEBlockHandler(BLOCKHANDLER_ARGS_DECL) { - ScreenPtr pScreen = screenInfo.screens[screenNum]; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); if (psav->ShadowStatus) { @@ -316,7 +314,7 @@ static void SAVAGEBlockHandler( int screenNum, pointer blockData, } psav->LockHeld = 0; psav->pDRIInfo->wrap.BlockHandler = psav->coreBlockHandler; - (*psav->pDRIInfo->wrap.BlockHandler) (screenNum, blockData, pTimeout, pReadmask); + (*psav->pDRIInfo->wrap.BlockHandler) (BLOCKHANDLER_ARGS); psav->pDRIInfo->wrap.BlockHandler = SAVAGEBlockHandler; } @@ -395,7 +393,7 @@ static Bool SAVAGESetAgpMode(SavagePtr psav, ScreenPtr pScreen) static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; unsigned int offset; @@ -586,7 +584,7 @@ static Bool SAVAGEDRIAgpInit(ScreenPtr pScreen) static Bool SAVAGEDRIMapInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; @@ -688,7 +686,7 @@ static Bool SAVAGEDRIMapInit( ScreenPtr pScreen ) static Bool SAVAGEDRIBuffersInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; int count; @@ -736,7 +734,7 @@ static Bool SAVAGEDRIBuffersInit( ScreenPtr pScreen ) static Bool SAVAGEDRIKernelInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; drmSAVAGEInit init; @@ -791,7 +789,7 @@ static Bool SAVAGEDRIKernelInit( ScreenPtr pScreen ) Bool SAVAGEDRIScreenInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); DRIInfoPtr pDRIInfo; SAVAGEDRIPtr pSAVAGEDRI; @@ -1069,7 +1067,7 @@ static void SAVAGEDRISetupTiledSurfaceRegs( SavagePtr psav ) Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate; @@ -1234,7 +1232,7 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen ) void SAVAGEDRIResume(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGESAREAPrivPtr pSAREAPriv = (SAVAGESAREAPrivPtr)DRIGetSAREAPrivate(pScreen); @@ -1250,7 +1248,7 @@ void SAVAGEDRIResume(ScreenPtr pScreen) void SAVAGEDRICloseScreen( ScreenPtr pScreen ) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo; @@ -1346,7 +1344,7 @@ void SAVAGEDRIInitBuffers(WindowPtr pWin, RegionPtr prgn, CARD32 index) { ScreenPtr pScreen = pWin->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); BoxPtr pbox = REGION_RECTS(prgn); int nbox = REGION_NUM_RECTS(prgn); @@ -1396,7 +1394,7 @@ SAVAGEDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg, RegionPtr prgnSrc, CARD32 index) { ScreenPtr pScreen = pParent->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); int nbox; BoxPtr pbox, pboxTmp, pboxNext, pboxBase, pboxNew1, pboxNew2; @@ -1613,7 +1611,7 @@ SAVAGEDRISubsequentScreenToScreenCopy( static Bool SAVAGEDRIOpenFullScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); vgaHWPtr hwp = VGAHWPTR(pScrn); SavagePtr psav = SAVPTR(pScrn); unsigned int vgaCRIndex = hwp->IOBase + 4; @@ -1678,7 +1676,7 @@ SAVAGEDRIOpenFullScreen(ScreenPtr pScreen) static Bool SAVAGEDRICloseFullScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SavagePtr psav = SAVPTR(pScrn); BCI_GET_PTR; diff --git a/src/savage_driver.c b/src/savage_driver.c index 5e4ca0e..1083d65 100644 --- a/src/savage_driver.c +++ b/src/savage_driver.c @@ -73,7 +73,6 @@ #include "savage_sarea.h" #endif - /* * prototypes */ @@ -91,25 +90,24 @@ static int LookupChipID(PciChipsets* pset, int ChipID); #endif static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags); -static Bool SavageEnterVT(int scrnIndex, int flags); -static void SavageLeaveVT(int scrnIndex, int flags); +static Bool SavageEnterVT(VT_FUNC_ARGS_DECL); +static void SavageLeaveVT(VT_FUNC_ARGS_DECL); static void SavageSave(ScrnInfoPtr pScrn); static void SavageWriteMode(ScrnInfoPtr pScrn, vgaRegPtr, SavageRegPtr, Bool); static void SavageInitStatus(ScrnInfoPtr pScrn); static void SavageInitShadowStatus(ScrnInfoPtr pScrn); -static Bool SavageScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, - char **argv); -static int SavageInternalScreenInit(int scrnIndex, ScreenPtr pScreen); -static ModeStatus SavageValidMode(int index, DisplayModePtr mode, +static Bool SavageScreenInit(SCREEN_INIT_ARGS_DECL); +static int SavageInternalScreenInit(ScreenPtr pScreen); +static ModeStatus SavageValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags); void SavageDGAInit(ScreenPtr); static Bool SavageMapMem(ScrnInfoPtr pScrn); static void SavageUnmapMem(ScrnInfoPtr pScrn, int All); static Bool SavageModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode); -static Bool SavageCloseScreen(int scrnIndex, ScreenPtr pScreen); +static Bool SavageCloseScreen(CLOSE_SCREEN_ARGS_DECL); static Bool SavageSaveScreen(ScreenPtr pScreen, int mode); static void SavageLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indicies, LOCO *colors, @@ -125,7 +123,7 @@ static void SavageCalcClock(long freq, int min_m, int min_n1, int max_n1, void SavageGEReset(ScrnInfoPtr pScrn, int from_timeout, int line, char *file); void SavagePrintRegs(ScrnInfoPtr pScrn); static void SavageDPMS(ScrnInfoPtr pScrn, int mode, int flags); -static Bool SavageDDC1(int scrnIndex); +static Bool SavageDDC1(ScrnInfoPtr pScrn); static unsigned int SavageDDC1Read(ScrnInfoPtr pScrn); static void SavageProbeDDC(ScrnInfoPtr pScrn, int index); static void SavageGetTvMaxSize(SavagePtr psav); @@ -899,7 +897,7 @@ static void SavageDoDDC(ScrnInfoPtr pScrn) break; } - if (!SavageDDC1(pScrn->scrnIndex)) { + if (!SavageDDC1(pScrn)) { /* DDC1 failed,switch to DDC2 */ if (xf86LoadSubModule(pScrn, "i2c")) { if (SavageI2CInit(pScrn)) { @@ -908,7 +906,7 @@ static void SavageDoDDC(ScrnInfoPtr pScrn) InI2CREG(tmp,psav->DDCPort); OutI2CREG(tmp | 0x13,psav->DDCPort); - pMon = xf86PrintEDID(xf86DoEDID_DDC2(pScrn->scrnIndex,psav->I2C)); + pMon = xf86PrintEDID(xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),psav->I2C)); if (!psav->IgnoreEDID) xf86SetDDCproperties(pScrn, pMon); OutI2CREG(tmp,psav->DDCPort); } @@ -2198,22 +2196,20 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags) } -static Bool SavageEnterVT(int scrnIndex, int flags) +static Bool SavageEnterVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); #ifdef SAVAGEDRI SavagePtr psav = SAVPTR(pScrn); ScreenPtr pScreen; #endif - TRACE(("SavageEnterVT(%d)\n", flags)); - gpScrn = pScrn; SavageEnableMMIO(pScrn); #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - pScreen = screenInfo.screens[scrnIndex]; + pScreen = xf86ScrnToScreen(pScrn); SAVAGEDRIResume(pScreen); DRIUnlock(pScreen); psav->LockHeld = 0; @@ -2232,9 +2228,9 @@ static Bool SavageEnterVT(int scrnIndex, int flags) } -static void SavageLeaveVT(int scrnIndex, int flags) +static void SavageLeaveVT(VT_FUNC_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SCRN_INFO_PTR(arg); vgaHWPtr hwp = VGAHWPTR(pScrn); SavagePtr psav = SAVPTR(pScrn); vgaRegPtr vgaSavePtr = &hwp->SavedReg; @@ -2248,7 +2244,7 @@ static void SavageLeaveVT(int scrnIndex, int flags) #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - pScreen = screenInfo.screens[scrnIndex]; + pScreen = xf86ScrnToScreen(pScrn); DRILock(pScreen, 0); psav->LockHeld = 1; } @@ -2461,7 +2457,7 @@ static void SavageWriteMode(ScrnInfoPtr pScrn, vgaRegPtr vgaSavePtr, #ifdef SAVAGEDRI if (psav->directRenderingEnabled) { - DRILock(screenInfo.screens[pScrn->scrnIndex], 0); + DRILock(xf86ScrnToScreen(pScrn), 0); psav->LockHeld = 1; } #endif @@ -2654,7 +2650,7 @@ static void SavageWriteMode(ScrnInfoPtr pScrn, vgaRegPtr vgaSavePtr, #ifdef SAVAGEDRI if (psav->directRenderingEnabled) - DRIUnlock(screenInfo.screens[pScrn->scrnIndex]); + DRIUnlock(xf86ScrnToScreen(pScrn)); psav->LockHeld = 0; -- 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/e1srsja-0000qi...@vasks.debian.org