COPYING | 143 +++++++++++++++++++- Makefile.am | 6 README | 110 +++++++-------- README.sgml | 235 --------------------------------- configure.ac | 73 +++++----- man/Makefile.am | 34 ---- man/sis.man | 28 --- src/Makefile.am | 1 src/compat-api.h | 99 ++++++++++++++ src/init.c | 1 src/initextx.c | 18 +- src/osdef.h | 24 +-- src/sis.h | 71 ++++++++-- src/sis300_accel.c | 12 - src/sis310_accel.c | 26 +-- src/sis6326_video.c | 10 - src/sis_accel.c | 12 - src/sis_cursor.c | 8 - src/sis_dac.c | 8 - src/sis_dac.h | 4 src/sis_dga.c | 18 +- src/sis_dri.c | 38 ++--- src/sis_driver.c | 367 +++++++++++++++++++++++++++++----------------------- src/sis_driver.h | 22 +-- src/sis_memcpy.c | 12 - src/sis_opt.c | 18 +- src/sis_shadow.c | 22 +-- src/sis_utility.c | 64 ++++----- src/sis_vga.c | 21 ++ src/sis_video.c | 20 +- src/sispcirename.h | 29 ++++ src/vgatypes.h | 12 - 32 files changed, 820 insertions(+), 746 deletions(-)
New commits: commit 8c5127a6815935635b84835055bf4c2501c0bf6e Author: Dave Airlie <airl...@redhat.com> Date: Tue Jul 17 16:05:09 2012 +1000 xf86-video-sis: bump to version 0.10.7 Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index e043c95..8ce57bc 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-sis], - [0.10.6], + [0.10.7], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-sis]) AC_CONFIG_SRCDIR([Makefile.am]) commit c3d8d70edd06b8ecedd341df8b33ba71c01e64b3 Author: Dave Airlie <airl...@gmail.com> Date: Sun Jul 15 19:55:19 2012 +1000 sis: add xaa configure support SIS is already plumbed to not need XAA, just hook it up. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index 67994b2..e043c95 100644 --- a/configure.ac +++ b/configure.ac @@ -103,6 +103,24 @@ if test "$DRI" = yes; then AC_DEFINE(SISDRI_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]) + # technically this should be a configure flag. meh. AC_DEFINE(XF86EXA, 1, [Build support for Exa]) diff --git a/src/sis.h b/src/sis.h index 5ea3eba..46fca2a 100644 --- a/src/sis.h +++ b/src/sis.h @@ -226,7 +226,7 @@ #define INCL_YUV_BLIT_ADAPTOR /* Include support for YUV->RGB blit adaptors (VRAM queue mode only) */ #endif -#if 1 +#ifdef HAVE_XAA_H #define SIS_USE_XAA /* Include code for XAA */ #endif commit 314d56d0addfaa5c24d14de675416b3aca7f4a19 Author: Alan Coopersmith <alan.coopersm...@oracle.com> Date: Fri Jun 29 20:40:01 2012 -0700 Make SiSRegInit & SiSSetLVDSetc args match in both headers that define them Adds include of "sis_dac.h" to init.c to force compilers to compare the definitions, making it obvious that sis_dac.h defined an extra argument to SiSSetLVDSetc that the function itself didn't have, and that SiSRegInit expected an unsigned long (in the form of SISIOADDRESS), not the unsigned short that sis_dac.h claimed to pass it. Found by the Parfait 1.0 bug checking tool: Error: Function Call Mismatch Function call with extra args: Forward declaration of function 'SiSSetLVDSetc' does not match its definition Function expects 1 argument (SiS_Private*); given 2 (SiS_Private*, unsigned short) at line 604 of driver/xf86-video-sis/src/sis_dac.c in function 'SiS300Restore'. Function defined at line 1153 of driver/xf86-video-sis/src/init.c. [repeated for each call] Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> diff --git a/src/init.c b/src/init.c index 74df1f5..a232cb7 100644 --- a/src/init.c +++ b/src/init.c @@ -59,6 +59,7 @@ #endif #include "init.h" +#include "sis_dac.h" #ifdef SIS300 #include "300vtbl.h" diff --git a/src/sis_dac.c b/src/sis_dac.c index 816d0c8..04276b6 100644 --- a/src/sis_dac.c +++ b/src/sis_dac.c @@ -601,7 +601,7 @@ SiS300Restore(ScrnInfoPtr pScrn, SISRegPtr sisReg) if(!(pSiS->UseVESA)) { if(pSiS->VBFlags2 & VB2_LVDS) { SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO + 0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_UnLockCRT2(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); @@ -990,7 +990,7 @@ SiS301Restore(ScrnInfoPtr pScrn, SISRegPtr sisReg) Part4max = 0x1b; SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO + 0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); SiS_UnLockCRT2(pSiS->SiS_Pr); @@ -1084,7 +1084,7 @@ SiS301BRestore(ScrnInfoPtr pScrn, SISRegPtr sisReg) } /* TODO for 307 */ SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO + 0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); SiS_UnLockCRT2(pSiS->SiS_Pr); @@ -1193,7 +1193,7 @@ SiSLVDSChrontelRestore(ScrnInfoPtr pScrn, SISRegPtr sisReg) int i; SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO + 0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); if(pSiS->ChipType == SIS_730) { diff --git a/src/sis_dac.h b/src/sis_dac.h index b270675..18d956d 100644 --- a/src/sis_dac.h +++ b/src/sis_dac.h @@ -72,7 +72,7 @@ extern void SiS_DisplayOn(struct SiS_Private *SiS_Pr); extern unsigned char SiS_GetSetModeID(ScrnInfoPtr pScrn, unsigned char id); extern void SiS_SetEnableDstn(struct SiS_Private *SiS_Pr, int enable); extern void SiS_SetEnableFstn(struct SiS_Private *SiS_Pr, int enable); -extern void SiSRegInit(struct SiS_Private *SiS_Pr, unsigned short BaseAddr); -extern void SiSSetLVDSetc(struct SiS_Private *SiS_Pr, unsigned short ModeNo); +extern void SiSRegInit(struct SiS_Private *SiS_Pr, SISIOADDRESS BaseAddr); +extern void SiSSetLVDSetc(struct SiS_Private *SiS_Pr); extern void SiS_GetVBType(struct SiS_Private *SiS_Pr); /* End of init.c/init301.c imports */ diff --git a/src/sis_driver.c b/src/sis_driver.c index 9df696d..61e8075 100644 --- a/src/sis_driver.c +++ b/src/sis_driver.c @@ -7413,7 +7413,7 @@ SISSave(ScrnInfoPtr pScrn) #ifdef SIS_PC_PLATFORM if(pSiS->VGAMemBase) { SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO+0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); SiSVGASave(pScrn, sisReg, SISVGA_SR_FONTS); @@ -8089,7 +8089,7 @@ SISRestore(ScrnInfoPtr pScrn) if(flags & SISVGA_SR_FONTS) { SiSRegInit(pSiS->SiS_Pr, pSiS->RelIO+0x30); - SiSSetLVDSetc(pSiS->SiS_Pr, 0); + SiSSetLVDSetc(pSiS->SiS_Pr); SiS_GetVBType(pSiS->SiS_Pr); SiS_DisableBridge(pSiS->SiS_Pr); SiSVGAProtect(pScrn, TRUE); commit aa79b0f5dbbeda194916365539d06c3c090b80d2 Author: Dave Airlie <airl...@redhat.com> Date: Mon Jul 2 13:19:04 2012 +0100 sis 0.10.6 release. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index 4599691..67994b2 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-sis], - [0.10.5], + [0.10.6], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-sis]) AC_CONFIG_SRCDIR([Makefile.am]) commit df17d3039e856c13b0476122a01b8c20f7d2de88 Author: Dave Airlie <airl...@redhat.com> Date: Mon Jul 2 13:16:26 2012 +0100 sis: fix build against older servers. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/sis_driver.c b/src/sis_driver.c index 5fbf76c..9df696d 100644 --- a/src/sis_driver.c +++ b/src/sis_driver.c @@ -9669,7 +9669,7 @@ SISAdjustFrame(ADJUST_FRAME_ARGS_DECL) #ifdef SISMERGED if(pSiS->MergedFB) { - SISAdjustFrameMerged(ADJUST_FRAME_ARGS(arg, x, y)); + SISAdjustFrameMerged(ADJUST_FRAME_ARGS(pScrn, x, y)); return; } #endif commit 331c276b47af1140a64125bff39901f8a8271eb7 Author: Dave Airlie <airl...@redhat.com> Date: Mon Jul 2 13:13:42 2012 +0100 sis: 0.10.5 release Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/configure.ac b/configure.ac index ab40a65..4599691 100644 --- a/configure.ac +++ b/configure.ac @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-video-sis], - [0.10.4], + [0.10.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-video-sis]) AC_CONFIG_SRCDIR([Makefile.am]) commit f6d49466ca538c65fa8c66352e421c2624e204f1 Author: Dave Airlie <airl...@redhat.com> Date: Wed Jun 6 09:50:31 2012 +0100 sis: drop xf86PciInfo.h Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/sis.h b/src/sis.h index 1fbedf1..5ea3eba 100644 --- a/src/sis.h +++ b/src/sis.h @@ -81,7 +81,6 @@ #include "xf86Resources.h" #endif #include "xf86.h" -#include "xf86PciInfo.h" #include "xf86Cursor.h" #include "xf86cmap.h" #include "vbe.h" @@ -305,6 +304,41 @@ #define SISVERBLEVEL 4 #endif +#ifndef _XF86_PCIINFO_H +#define PCI_VENDOR_SIS 0x1039 +/* SiS */ +#define PCI_CHIP_SG86C201 0x0001 +#define PCI_CHIP_SG86C202 0x0002 +#define PCI_CHIP_SG85C503 0x0008 +#define PCI_CHIP_SIS5597 0x0200 +/* Agregado por Carlos Duclos & Manuel Jander */ +#define PCI_CHIP_SIS82C204 0x0204 +#define PCI_CHIP_SG86C205 0x0205 +#define PCI_CHIP_SG86C215 0x0215 +#define PCI_CHIP_SG86C225 0x0225 +#define PCI_CHIP_85C501 0x0406 +#define PCI_CHIP_85C496 0x0496 +#define PCI_CHIP_85C601 0x0601 +#define PCI_CHIP_85C5107 0x5107 +#define PCI_CHIP_85C5511 0x5511 +#define PCI_CHIP_85C5513 0x5513 +#define PCI_CHIP_SIS5571 0x5571 +#define PCI_CHIP_SIS5597_2 0x5597 +#define PCI_CHIP_SIS530 0x6306 +#define PCI_CHIP_SIS6326 0x6326 +#define PCI_CHIP_SIS7001 0x7001 +#define PCI_CHIP_SIS300 0x0300 +#define PCI_CHIP_SIS315H 0x0310 +#define PCI_CHIP_SIS315PRO 0x0325 +#define PCI_CHIP_SIS330 0x0330 +#define PCI_CHIP_SIS630 0x6300 +#define PCI_CHIP_SIS540 0x5300 +#define PCI_CHIP_SIS550 0x5315 +#define PCI_CHIP_SIS650 0x6325 +#define PCI_CHIP_SIS730 0x7300 + +#endif + /* For SiS315/550/650/740/330/660 - these should be moved elsewhere! */ #ifndef PCI_CHIP_SIS315H #define PCI_CHIP_SIS315H 0x0310 commit 1b20cd63a974f792bd15e13d1c6caa3bbabbe106 Author: Dave Airlie <airl...@redhat.com> Date: Wed Jun 6 09:46:42 2012 +0100 sis: port to new compat API. Signed-off-by: Dave Airlie <airl...@redhat.com> diff --git a/src/Makefile.am b/src/Makefile.am index 8491d2d..52523a9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -31,6 +31,7 @@ sis_drv_ladir = @moduledir@/drivers sis_drv_la_SOURCES = \ 300vtbl.h \ 310vtbl.h \ + compat-api.h \ init301.c \ init301.h \ init.c \ 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/sis.h b/src/sis.h index f2ca3a9..1fbedf1 100644 --- a/src/sis.h +++ b/src/sis.h @@ -269,6 +269,8 @@ #include "extnsionst.h" /* required */ #include <X11/extensions/panoramiXproto.h> /* required */ +#include "compat-api.h" + #undef SISCHECKOSSSE #ifdef XORG_VERSION_CURRENT #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(6,8,99,13,0) @@ -1144,7 +1146,7 @@ typedef struct { CARD32 ColorExpandBase; int Rotate, Reflect; - void (*PointerMoved)(int index, int x, int y); + void (*PointerMoved)(SCRN_ARG_TYPE arg, int x, int y); /* ShadowFB support */ Bool ShadowFB; diff --git a/src/sis300_accel.c b/src/sis300_accel.c index 503dee9..af0527d 100644 --- a/src/sis300_accel.c +++ b/src/sis300_accel.c @@ -884,7 +884,7 @@ static const unsigned short dstcol[] = { 0x0000, 0x8000, 0xc000 }; static void SiSEXASync(ScreenPtr pScreen, int marker) { - SISPtr pSiS = SISPTR(xf86Screens[pScreen->myNum]); + SISPtr pSiS = SISPTR(xf86ScreenToScrn(pScreen)); SiSIdle } @@ -892,7 +892,7 @@ SiSEXASync(ScreenPtr pScreen, int marker) static Bool SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); CARD32 dstbase; @@ -940,7 +940,7 @@ SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) static void SiSSolid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); SiSSetupDSTXY(x1, y1) @@ -960,7 +960,7 @@ static Bool SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, int alu, Pixel planemask) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); CARD32 srcbase, dstbase; @@ -1015,7 +1015,7 @@ SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, static void SiSCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, int width, int height) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); if(!(pSiS->CommandReg & X_INC)) { @@ -1064,7 +1064,7 @@ SiSDGABlitRect(ScrnInfoPtr pScrn, int srcx, int srcy, int dstx, int dsty, int w, Bool SiS300AccelInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); #ifdef SIS_USE_XAA XAAInfoRecPtr infoPtr = NULL; diff --git a/src/sis310_accel.c b/src/sis310_accel.c index 8bba823..1a6f639 100644 --- a/src/sis310_accel.c +++ b/src/sis310_accel.c @@ -199,7 +199,7 @@ SiSCalcRenderAccelArray(ScrnInfoPtr pScrn) void SiSScratchSave(ScreenPtr pScreen, ExaOffscreenArea *area) { - SISPtr pSiS = SISPTR(xf86Screens[pScreen->myNum]); + SISPtr pSiS = SISPTR(xf86ScreenToScrn(pScreen)); pSiS->exa_scratch = NULL; } @@ -1689,7 +1689,7 @@ SiSSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn, static void SiSEXASync(ScreenPtr pScreen, int marker) { - SISPtr pSiS = SISPTR(xf86Screens[pScreen->myNum]); + SISPtr pSiS = SISPTR(xf86ScreenToScrn(pScreen)); SiSIdle } @@ -1697,7 +1697,7 @@ SiSEXASync(ScreenPtr pScreen, int marker) static Bool SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); /* Planemask not supported */ @@ -1738,7 +1738,7 @@ SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) static void SiSSolid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); /* SiSSetupCMDFlag(BITBLT) - BITBLT = 0 */ @@ -1757,7 +1757,7 @@ static Bool SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, int alu, Pixel planemask) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); CARD32 srcbase, dstbase; @@ -1805,7 +1805,7 @@ SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, static void SiSCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, int width, int height) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); SiSCheckQueue(16 * 2); @@ -1823,7 +1823,7 @@ static Bool SiSCheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture) { - ScrnInfoPtr pScrn = xf86Screens[pDstPicture->pDrawable->pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPicture->pDrawable->pScreen); SISPtr pSiS = SISPTR(pScrn); xf86DrvMsg(0, 0, "CC: %d Src %x (fi %d ca %d) Msk %x (%d %d) Dst %x (%d %d)\n", @@ -1847,7 +1847,7 @@ SiSPrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, PicturePtr pDstPicture, PixmapPtr pSrc, PixmapPtr pMask, PixmapPtr pDst) { #if 0 - ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); #endif return FALSE; @@ -1858,7 +1858,7 @@ SiSComposite(PixmapPtr pDst, int srcX, int srcY, int maskX, int maskY, int dstX, int width, int height) { #if 0 - ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); #endif } @@ -1872,7 +1872,7 @@ SiSDoneComposite(PixmapPtr pDst) Bool SiSUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int src_pitch) { - ScrnInfoPtr pScrn = xf86Screens[pDst->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDst->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); unsigned char *dst = pDst->devPrivate.ptr; int dst_pitch = exaGetPixmapPitch(pDst); @@ -1896,7 +1896,7 @@ SiSUploadToScreen(PixmapPtr pDst, int x, int y, int w, int h, char *src, int src Bool SiSUploadToScratch(PixmapPtr pSrc, PixmapPtr pDst) { - ScrnInfoPtr pScrn = xf86Screens[pSrc->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); unsigned char *src, *dst; int src_pitch = exaGetPixmapPitch(pSrc); @@ -1951,7 +1951,7 @@ SiSUploadToScratch(PixmapPtr pSrc, PixmapPtr pDst) Bool SiSDownloadFromScreen(PixmapPtr pSrc, int x, int y, int w, int h, char *dst, int dst_pitch) { - ScrnInfoPtr pScrn = xf86Screens[pSrc->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrc->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); unsigned char *src = pSrc->devPrivate.ptr; int src_pitch = exaGetPixmapPitch(pSrc); @@ -2013,7 +2013,7 @@ SiSDGABlitRect(ScrnInfoPtr pScrn, int srcx, int srcy, int dstx, int dsty, int w, Bool SiS315AccelInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); #ifdef SIS_USE_XAA XAAInfoRecPtr infoPtr = NULL; diff --git a/src/sis6326_video.c b/src/sis6326_video.c index 66352b7..34c3d04 100644 --- a/src/sis6326_video.c +++ b/src/sis6326_video.c @@ -152,7 +152,7 @@ static CARD32 get_scanline_CRT1(SISPtr pSiS) void SIS6326InitVideo(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; XF86VideoAdaptorPtr newAdaptor = NULL; int num_adaptors; @@ -519,7 +519,7 @@ SIS6326ResetVideo(ScrnInfoPtr pScrn) static XF86VideoAdaptorPtr SIS6326SetupImageVideo(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); XF86VideoAdaptorPtr adapt; SISPortPrivPtr pPriv; diff --git a/src/sis_accel.c b/src/sis_accel.c index b85c893..c2c24c7 100644 --- a/src/sis_accel.c +++ b/src/sis_accel.c @@ -466,7 +466,7 @@ SiSSubsequentColorExpandScanline(ScrnInfoPtr pScrn, int bufno) static void SiSEXASync(ScreenPtr pScreen, int marker) { - SISPtr pSiS = SISPTR(xf86Screens[pScreen->myNum]); + SISPtr pSiS = SISPTR(xf86ScreenToScrn(pScreen)); sisBLTSync; } @@ -474,7 +474,7 @@ SiSEXASync(ScreenPtr pScreen, int marker) static Bool SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); /* Planemask not supported */ @@ -509,7 +509,7 @@ SiSPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) static void SiSSolid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2) { - ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); sisBLTSync; @@ -527,7 +527,7 @@ static Bool SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, int alu, Pixel planemask) { - ScrnInfoPtr pScrn = xf86Screens[pSrcPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pSrcPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); /* Planemask not supported */ @@ -567,7 +567,7 @@ SiSPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, int ydir, static void SiSCopy(PixmapPtr pDstPixmap, int srcX, int srcY, int dstX, int dstY, int width, int height) { - ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pDstPixmap->drawable.pScreen); SISPtr pSiS = SISPTR(pScrn); CARD32 srcbase, dstbase, cmd; int bpp = pSiS->copyBpp; @@ -644,7 +644,7 @@ SiSDGABlitRect(ScrnInfoPtr pScrn, int srcx, int srcy, int dstx, int dsty, int w, Bool SiSAccelInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); #ifdef SIS_USE_XAA XAAInfoRecPtr infoPtr = NULL; diff --git a/src/sis_cursor.c b/src/sis_cursor.c index 13eddc4..32dcd9d 100644 --- a/src/sis_cursor.c +++ b/src/sis_cursor.c @@ -908,7 +908,7 @@ SiS310LoadCursorImage(ScrnInfoPtr pScrn, UChar *src) static Bool SiSUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); DisplayModePtr mode = pSiS->CurrentLayout.mode; @@ -924,7 +924,7 @@ SiSUseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) static Bool SiS300UseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); DisplayModePtr mode = pSiS->CurrentLayout.mode; #ifdef SISMERGED @@ -1000,7 +1000,7 @@ SiS300UseHWCursor(ScreenPtr pScreen, CursorPtr pCurs) static Bool SiSUseHWCursorARGB(ScreenPtr pScreen, CursorPtr pCurs) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); DisplayModePtr mode = pSiS->CurrentLayout.mode; #ifdef SISMERGED @@ -1352,7 +1352,7 @@ static void SiS310LoadCursorImageARGB(ScrnInfoPtr pScrn, CursorPtr pCurs) Bool SiSHWCursorInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); xf86CursorInfoPtr infoPtr; diff --git a/src/sis_dga.c b/src/sis_dga.c index 16b0ee4..ad37d66 100644 --- a/src/sis_dga.c +++ b/src/sis_dga.c @@ -247,7 +247,7 @@ mode_nogood: Bool SISDGAInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); DGAModePtr modes = NULL; int num = 0; @@ -371,8 +371,8 @@ SIS_SetMode( pScrn->currentMode = pSiS->CurrentLayout.mode; pSiS->DGAactive = FALSE; - (*pScrn->SwitchMode)(index, pScrn->currentMode, 0); - (*pScrn->AdjustFrame)(index, pScrn->frameX0, pScrn->frameY0, 0); + (*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pScrn->currentMode)); + (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); } else { /* set new mode */ @@ -387,10 +387,10 @@ SIS_SetMode( pSiS->CurrentLayout.displayWidth = pMode->bytesPerScanline / (pMode->bitsPerPixel >> 3); pSiS->CurrentLayout.displayHeight = pMode->imageHeight; - (*pScrn->SwitchMode)(index, pMode->mode, 0); + (*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode->mode)); /* Adjust viewport to 0/0 after mode switch */ /* This fixes the vmware-in-dualhead problems */ - (*pScrn->AdjustFrame)(index, 0, 0, 0); + (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, 0, 0)); pSiS->CurrentLayout.DGAViewportX = pSiS->CurrentLayout.DGAViewportY = 0; } @@ -414,7 +414,7 @@ SIS_SetViewport( ){ SISPtr pSiS = SISPTR(pScrn); - (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags); + (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y)); pSiS->DGAViewportStatus = 0; /* There are never pending Adjusts */ pSiS->CurrentLayout.DGAViewportX = x; pSiS->CurrentLayout.DGAViewportY = y; diff --git a/src/sis_dri.c b/src/sis_dri.c index 97ed951..9a045a2 100644 --- a/src/sis_dri.c +++ b/src/sis_dri.c @@ -128,7 +128,7 @@ static void SISDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg, static Bool SISInitVisualConfigs(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSIS = SISPTR(pScrn); int numConfigs = 0; __GLXvisualConfig *pConfigs = 0; @@ -263,7 +263,7 @@ SISInitVisualConfigs(ScreenPtr pScreen) Bool SISDRIScreenInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSIS = SISPTR(pScrn); DRIInfoPtr pDRIInfo; SISDRIPtr pSISDRI; @@ -664,7 +664,7 @@ SISDRIScreenInit(ScreenPtr pScreen) Bool SISDRIFinishScreenInit(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); SISDRIPtr pSISDRI; @@ -751,7 +751,7 @@ SISDRIFinishScreenInit(ScreenPtr pScreen) void SISDRICloseScreen(ScreenPtr pScreen) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSIS = SISPTR(pScrn); switch(pSIS->VGAEngine) { @@ -835,7 +835,7 @@ SISDRISwapContext(ScreenPtr pScreen, DRISyncType syncType, DRIContextType oldContextType, void *oldContext, DRIContextType newContextType, void *newContext) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); #if 0 @@ -871,7 +871,7 @@ static void SISDRIInitBuffers(WindowPtr pWin, RegionPtr prgn, CARD32 index) { ScreenPtr pScreen = pWin->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); switch(pSiS->VGAEngine) { @@ -891,7 +891,7 @@ SISDRIMoveBuffers(WindowPtr pParent, DDXPointRec ptOldOrg, RegionPtr prgnSrc, CARD32 index) { ScreenPtr pScreen = pParent->drawable.pScreen; - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); switch(pSiS->VGAEngine) { diff --git a/src/sis_driver.c b/src/sis_driver.c index 7a5be4e..5fbf76c 100644 --- a/src/sis_driver.c +++ b/src/sis_driver.c @@ -7586,9 +7586,9 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } SiSPostSetMode(pScrn, &pSiS->ModeReg); if(pSiSEnt->pScrn_2) { - SISAdjustFrame(pSiSEnt->pScrn_2->scrnIndex, + SISAdjustFrame(ADJUST_FRAME_ARGS(pSiSEnt->pScrn_2, pSiSEnt->pScrn_2->frameX0, - pSiSEnt->pScrn_2->frameY0, 0); + pSiSEnt->pScrn_2->frameY0)); } } else { /* Head 2 (slave) is always CRT1 */ @@ -7599,9 +7599,9 @@ SISModeInit(ScrnInfoPtr pScrn, DisplayModePtr mode) } SiSPostSetMode(pScrn, &pSiS->ModeReg); if(pSiSEnt->pScrn_1) { - SISAdjustFrame(pSiSEnt->pScrn_1->scrnIndex, + SISAdjustFrame(ADJUST_FRAME_ARGS(pSiSEnt->pScrn_1, pSiSEnt->pScrn_1->frameX0, - pSiSEnt->pScrn_1->frameY0, 0); + pSiSEnt->pScrn_1->frameY0)); } } @@ -8212,14 +8212,14 @@ SISBridgeRestore(ScrnInfoPtr pScrn) /* Our BlockHandler */ static void -SISBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask) +SISBlockHandler(BLOCKHANDLER_ARGS_DECL) { - ScreenPtr pScreen = screenInfo.screens[i]; - ScrnInfoPtr pScrn = xf86Screens[i]; + SCREEN_PTR(arg); + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); pScreen->BlockHandler = pSiS->BlockHandler; - (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); + (*pScreen->BlockHandler) (BLOCKHANDLER_ARGS); pScreen->BlockHandler = SISBlockHandler; #ifdef SISDUALHEAD @@ -8297,7 +8297,7 @@ SiSHandleBackLight(SISPtr pSiS, Bool blon) static Bool SISSaveScreen(ScreenPtr pScreen, int mode) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS; Bool IsUnblank = xf86IsUnblank(mode) ? TRUE : FALSE; @@ -8325,7 +8325,7 @@ SISSaveScreen(ScreenPtr pScreen, int mode) static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS; Bool IsUnblank = xf86IsUnblank(mode) ? TRUE : FALSE; @@ -8517,9 +8517,9 @@ SISDisplayPowerManagementSet(ScrnInfoPtr pScrn, int PowerManagementMode, int fla * depth, bitsPerPixel) */ static Bool -SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) +SISScreenInit(SCREEN_INIT_ARGS_DECL) { - ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); SISPtr pSiS = SISPTR(pScrn); VisualPtr visual; ULong OnScreenSize; @@ -8671,7 +8671,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) SISSaveScreen(pScreen, SCREEN_SAVER_ON); /* Set the viewport */ - SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); + SISAdjustFrame(ADJUST_FRAME_ARGS(pScrn, pScrn->frameX0, pScrn->frameY0)); /* Reset visual list. */ miClearVisualTypes(); @@ -9084,7 +9084,7 @@ SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) pSiS->SiS_SD_Flags |= SiS_SD_PSEUDOXINERAMA; if(pSiS->HaveNonRect) { /* Reset the viewport (now eventually non-recangular) */ -- 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/e1sru5e-00031k...@vasks.debian.org