xserver-xorg-video-sis: Changes to 'upstream-experimental'
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 <airlied@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 <airlied@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 <airlied@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 <airlied@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.coopersmith@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.coopersmith@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 <airlied@redhat.com>
Date: Mon Jul 2 13:19:04 2012 +0100
sis 0.10.6 release.
Signed-off-by: Dave Airlie <airlied@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 <airlied@redhat.com>
Date: Mon Jul 2 13:16:26 2012 +0100
sis: fix build against older servers.
Signed-off-by: Dave Airlie <airlied@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 <airlied@redhat.com>
Date: Mon Jul 2 13:13:42 2012 +0100
sis: 0.10.5 release
Signed-off-by: Dave Airlie <airlied@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 <airlied@redhat.com>
Date: Wed Jun 6 09:50:31 2012 +0100
sis: drop xf86PciInfo.h
Signed-off-by: Dave Airlie <airlied@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 <airlied@redhat.com>
Date: Wed Jun 6 09:46:42 2012 +0100
sis: port to new compat API.
Signed-off-by: Dave Airlie <airlied@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 <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/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) */
Reply to: