diff options
author | root <root@rshg054.dnsready.net> | 2012-11-10 01:23:31 -0800 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-11-10 01:23:31 -0800 |
commit | 6eea0bd1e92ed5aa53cb5f59102529c88e9e1786 (patch) | |
tree | b069468f4084f5af5ad3ba2ecab7e6b4deb90267 /extra/xf86-video-sisimedia | |
parent | 3f7cb62ef558ea147661abe007a4293c0069fc62 (diff) |
Sat Nov 10 01:23:30 PST 2012
Diffstat (limited to 'extra/xf86-video-sisimedia')
-rw-r--r-- | extra/xf86-video-sisimedia/PKGBUILD | 21 | ||||
-rw-r--r-- | extra/xf86-video-sisimedia/deprecated-sym2.patch | 1068 | ||||
-rw-r--r-- | extra/xf86-video-sisimedia/sisimedia-no-xaa.patch | 11 | ||||
-rw-r--r-- | extra/xf86-video-sisimedia/sisimedia-xorg-1.13.patch | 654 |
4 files changed, 1748 insertions, 6 deletions
diff --git a/extra/xf86-video-sisimedia/PKGBUILD b/extra/xf86-video-sisimedia/PKGBUILD index d008b2df0..cc18267a8 100644 --- a/extra/xf86-video-sisimedia/PKGBUILD +++ b/extra/xf86-video-sisimedia/PKGBUILD @@ -1,17 +1,16 @@ -# $Id: PKGBUILD 162836 2012-07-01 08:04:55Z andyrtr $ +# $Id: PKGBUILD 170686 2012-11-09 14:38:32Z jgc $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=xf86-video-sisimedia pkgver=0.9.1 -pkgrel=4 +pkgrel=5 pkgdesc="X.org SiS 671 video driver" arch=(i686 x86_64) url="http://www.linuxconsulting.ro/xorg-drivers/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.12.0' 'libdrm' 'xf86driproto' 'mesa' 'xf86dgaproto') -optdepends=('sis-dri: DRI1 support from community repo') -conflicts=('xorg-server<1.12.0') +makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=13' 'xf86dgaproto') +conflicts=('xorg-server<1.13.0' 'X-ABI-VIDEODRV_VERSION<13' 'X-ABI-VIDEODRV_VERSION>=14') options=('!libtool') source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia-0.9.1_20091203.tar.bz2 xf86-video-sis-0.9.1-20102701.patch @@ -36,6 +35,9 @@ source=(ftp://ftp.archlinux.org/other/xf86-video-sisimedia/xf86-video-sisimedia- xf86MapDomainMemory-pci_device_map_legacy.patch sync-with-freedesktop.patch fix-xv-crash.patch + sisimedia-no-xaa.patch + sisimedia-xorg-1.13.patch + deprecated-sym2.patch COPYING) sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430' '61715bb86180decde55a56fad9a12d841c89fbb2' @@ -60,6 +62,9 @@ sha1sums=('22e6616df49ec82755daae08043a29aaf92fa430' '4ea8d76b3e74172109e7013a2931e571d3a2f4e1' '1d29504466840d2fbe1fc355d78666c1a9cd9b76' '1fdd74a2aef9455ac5c37d1fe0146d81aa905d2d' + '370af234867df98206a98c8cd0a6c89323593f6b' + '4ea333d659abe2b78f07511467c5356f39bf8695' + '9bef0b61c0505cc64464073d73684e6933d3f84c' 'a64e244f274bcb155f892d0488a1a4b1b2f7d70d') build() { @@ -86,6 +91,10 @@ build() { patch -Np1 -i "${srcdir}/xf86MapDomainMemory-pci_device_map_legacy.patch" patch -Np1 -i "${srcdir}/sync-with-freedesktop.patch" patch -Np0 -i "${srcdir}/fix-xv-crash.patch" + patch -Np1 -i "${srcdir}/sisimedia-no-xaa.patch" + patch -Np1 -i "${srcdir}/sisimedia-xorg-1.13.patch" + + patch -Np1 -i "${srcdir}/deprecated-sym2.patch" sed -i -e 's,sis_drv,sisimedia_drv,g' src/Makefile.am sed -i -e 's,\"sis\",\"sisimedia\",g' src/sis.h @@ -93,7 +102,7 @@ build() { autoreconf -fi - ./configure --prefix=/usr + ./configure --prefix=/usr --disable-dri make } diff --git a/extra/xf86-video-sisimedia/deprecated-sym2.patch b/extra/xf86-video-sisimedia/deprecated-sym2.patch new file mode 100644 index 000000000..f02682333 --- /dev/null +++ b/extra/xf86-video-sisimedia/deprecated-sym2.patch @@ -0,0 +1,1068 @@ +This patch for remove all depreceated / obselete symbol on compiling +Contributor saa7_go < saa7.go@gmail.com > + +diff -u xf86-video-sismedia-0.9.1/src/initextx.c xf86-video-sismedia-0.9.1-dep-clean/src/initextx.c +--- xf86-video-sismedia-0.9.1/src/initextx.c 2011-03-06 11:27:56.368767584 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/initextx.c 2011-03-06 11:34:50.298266877 +0700 +@@ -284,10 +284,10 @@ + } + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +@@ -436,11 +436,11 @@ + } + } + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(12))) { +- xfree(new); ++ if(!(new->name = malloc(12))) { ++ free(new); + return first; + } + if(!first) first = new; +@@ -521,11 +521,11 @@ + + if(pSiS->SiS_Pr->CP_DataValid[i]) { + +- if(!(new = xalloc(sizeof(DisplayModeRec)))) return first; ++ if(!(new = malloc(sizeof(DisplayModeRec)))) return first; + + memset(new, 0, sizeof(DisplayModeRec)); +- if(!(new->name = xalloc(10))) { +- xfree(new); ++ if(!(new->name = malloc(10))) { ++ free(new); + return first; + } + if(!first) first = new; +diff -u xf86-video-sismedia-0.9.1/src/sis6326_video.c xf86-video-sismedia-0.9.1-dep-clean/src/sis6326_video.c +--- xf86-video-sismedia-0.9.1/src/sis6326_video.c 2011-03-06 11:27:56.376768671 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis6326_video.c 2011-03-06 12:24:06.324251591 +0700 +@@ -171,7 +171,7 @@ + adaptors = &newAdaptor; + } else { + /* need to free this someplace */ +- newAdaptors = xalloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc((num_adaptors + 1) * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * + sizeof(XF86VideoAdaptorPtr)); +@@ -186,7 +186,7 @@ + xf86XVScreenInit(pScreen, adaptors, num_adaptors); + + if(newAdaptors) +- xfree(newAdaptors); ++ free(newAdaptors); + } + + /* client libraries expect an encoding */ +@@ -532,7 +532,7 @@ + return NULL; + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISPortPrivRec) + + sizeof(DevUnion)))) + return NULL; +diff -u xf86-video-sismedia-0.9.1/src/sis_cursor.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_cursor.c +--- xf86-video-sismedia-0.9.1/src/sis_cursor.c 2011-03-06 11:27:56.376768671 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_cursor.c 2011-03-06 12:24:06.400262694 +0700 +@@ -1253,11 +1253,11 @@ + SISPtr pSiS = SISPTR(pScrn); + xf86CursorInfoPtr infoPtr; + +- if(!(pSiS->CursorScratch = xcalloc(1, max(2048, pSiS->CursorSize)))) ++ if(!(pSiS->CursorScratch = calloc(1, max(2048, pSiS->CursorSize)))) + return FALSE; + + if(!(infoPtr = xf86CreateCursorInfoRec())) { +- xfree(pSiS->CursorScratch); ++ free(pSiS->CursorScratch); + pSiS->CursorScratch = NULL; + return FALSE; + } +diff -u xf86-video-sismedia-0.9.1/src/sis_dga.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_dga.c +--- xf86-video-sismedia-0.9.1/src/sis_dga.c 2011-03-06 11:27:56.380769214 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_dga.c 2011-03-06 11:34:50.458289501 +0700 +@@ -156,18 +156,18 @@ + + if(pMode->HDisplay != otherPitch) { + +- newmodes = xrealloc(modes, (*num + 2) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (*num + 2) * sizeof(DGAModeRec)); + oneMore = TRUE; + + } else { + +- newmodes = xrealloc(modes, (*num + 1) * sizeof(DGAModeRec)); ++ newmodes = realloc(modes, (*num + 1) * sizeof(DGAModeRec)); + oneMore = FALSE; + + } + + if(!newmodes) { +- xfree(modes); ++ free(modes); + return NULL; + } + modes = newmodes; +@@ -353,12 +353,12 @@ + newdgamodes = SISDGAMakeModes(pScrn, &newdgamodenum, TRUE); + + if(DGAReInitModes(screenInfo.screens[pScrn->scrnIndex], newdgamodes, newdgamodenum)) { +- xfree(pSiS->DGAModes); ++ free(pSiS->DGAModes); + pSiS->DGAModes = newdgamodes; + pSiS->numDGAModes = newdgamodenum; + return TRUE; + } else { +- xfree(newdgamodes); ++ free(newdgamodes); + return FALSE; + } + #else +diff -u xf86-video-sismedia-0.9.1/src/sis_dri.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_dri.c +--- xf86-video-sismedia-0.9.1/src/sis_dri.c 2011-03-06 11:27:56.380769214 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_dri.c 2011-03-06 12:24:06.456270873 +0700 +@@ -156,19 +156,19 @@ + case 32: + numConfigs = (useZ16) ? 8 : 16; + +- if(!(pConfigs = (__GLXvisualConfig*)xcalloc(sizeof(__GLXvisualConfig), ++ if(!(pConfigs = (__GLXvisualConfig*)calloc(sizeof(__GLXvisualConfig), + numConfigs))) { + return FALSE; + } +- if(!(pSISConfigs = (SISConfigPrivPtr)xcalloc(sizeof(SISConfigPrivRec), ++ if(!(pSISConfigs = (SISConfigPrivPtr)calloc(sizeof(SISConfigPrivRec), + numConfigs))) { +- xfree(pConfigs); ++ free(pConfigs); + return FALSE; + } +- if(!(pSISConfigPtrs = (SISConfigPrivPtr*)xcalloc(sizeof(SISConfigPrivPtr), ++ if(!(pSISConfigPtrs = (SISConfigPrivPtr*)calloc(sizeof(SISConfigPrivPtr), + numConfigs))) { +- xfree(pConfigs); +- xfree(pSISConfigs); ++ free(pConfigs); ++ free(pSISConfigs); + return FALSE; + } + for(i=0; i<numConfigs; i++) pSISConfigPtrs[i] = &pSISConfigs[i]; +@@ -330,7 +330,7 @@ + pDRIInfo->busIdString = DRICreatePCIBusID(pSIS->PciInfo); + } else { + #endif +- pDRIInfo->busIdString = xalloc(64); ++ pDRIInfo->busIdString = malloc(64); + sprintf(pDRIInfo->busIdString, "PCI:%d:%d:%d", + pSIS->PciBus, pSIS->PciDevice, pSIS->PciFunc); + #ifdef SISHAVECREATEBUSID +@@ -389,7 +389,7 @@ + pDRIInfo->SAREASize = SAREA_MAX; + #endif + +- if(!(pSISDRI = (SISDRIPtr)xcalloc(sizeof(SISDRIRec), 1))) { ++ if(!(pSISDRI = (SISDRIPtr)calloc(sizeof(SISDRIRec), 1))) { + DRIDestroyInfoRec(pSIS->pDRIInfo); + pSIS->pDRIInfo = 0; + return FALSE; +@@ -407,7 +407,7 @@ + + if(!DRIScreenInit(pScreen, pDRIInfo, &pSIS->drmSubFD)) { + xf86DrvMsg(pScreen->myNum, X_ERROR, "[dri] DRIScreenInit failed. Disabling the DRI.\n"); +- xfree(pDRIInfo->devPrivate); ++ free(pDRIInfo->devPrivate); + pDRIInfo->devPrivate = 0; + DRIDestroyInfoRec(pSIS->pDRIInfo); + pSIS->pDRIInfo = 0; +@@ -867,7 +867,7 @@ + + if(pSIS->pDRIInfo) { + if(pSIS->pDRIInfo->devPrivate) { +- xfree(pSIS->pDRIInfo->devPrivate); ++ free(pSIS->pDRIInfo->devPrivate); + pSIS->pDRIInfo->devPrivate = NULL; + } + DRIDestroyInfoRec(pSIS->pDRIInfo); +@@ -875,12 +875,12 @@ + } + + if(pSIS->pVisualConfigs) { +- xfree(pSIS->pVisualConfigs); ++ free(pSIS->pVisualConfigs); + pSIS->pVisualConfigs = NULL; + } + + if(pSIS->pVisualConfigsPriv) { +- xfree(pSIS->pVisualConfigsPriv); ++ free(pSIS->pVisualConfigsPriv); + pSIS->pVisualConfigsPriv = NULL; + } + +diff -u xf86-video-sismedia-0.9.1/src/sis_driver.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_driver.c +--- xf86-video-sismedia-0.9.1/src/sis_driver.c 2011-03-06 11:27:56.384769757 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_driver.c 2011-03-06 12:24:06.512279052 +0700 +@@ -497,7 +497,7 @@ + numDevSections, drv, &usedChipsXGI); + + /* Free it since we don't need that list after this */ +- xfree(devSections); ++ free(devSections); + + numUsed = numUsedSiS + numUsedXGI; + xf86DrvMsg(0, X_INFO, "SISPRobe - test1\n"); +@@ -595,8 +595,8 @@ + + } + +- if(usedChipsSiS) xfree(usedChipsSiS); +- if(usedChipsXGI) xfree(usedChipsXGI); ++ if(usedChipsSiS) free(usedChipsSiS); ++ if(usedChipsXGI) free(usedChipsXGI); + xf86DrvMsg(0, X_INFO, "SISProbe end\n"); + return foundScreen; + } +@@ -642,12 +642,12 @@ + #endif + + if(pSiS->pstate) { +- xfree(pSiS->pstate); ++ free(pSiS->pstate); + pSiS->pstate = NULL; + } + + if(pSiS->fonts) { +- xfree(pSiS->fonts); ++ free(pSiS->fonts); + pSiS->fonts = NULL; + } + +@@ -660,15 +660,15 @@ + * head. + */ + if(pSiSEnt->BIOS) +- xfree(pSiSEnt->BIOS); ++ free(pSiSEnt->BIOS); + pSiSEnt->BIOS = pSiS->BIOS = NULL; + + if(pSiSEnt->SiS_Pr) +- xfree(pSiSEnt->SiS_Pr); ++ free(pSiSEnt->SiS_Pr); + pSiSEnt->SiS_Pr = pSiS->SiS_Pr = NULL; + + if(pSiSEnt->RenderAccelArray) +- xfree(pSiSEnt->RenderAccelArray); ++ free(pSiSEnt->RenderAccelArray); + pSiSEnt->RenderAccelArray = pSiS->RenderAccelArray = NULL; + + pSiSEnt->pScrn_1 = NULL; +@@ -681,17 +681,17 @@ + } else { + #endif + if(pSiS->BIOS) { +- xfree(pSiS->BIOS); ++ free(pSiS->BIOS); + pSiS->BIOS = NULL; + } + + if(pSiS->SiS_Pr) { +- xfree(pSiS->SiS_Pr); ++ free(pSiS->SiS_Pr); + pSiS->SiS_Pr = NULL; + } + + if(pSiS->RenderAccelArray) { +- xfree(pSiS->RenderAccelArray); ++ free(pSiS->RenderAccelArray); + pSiS->RenderAccelArray = NULL; + } + #ifdef SISDUALHEAD +@@ -699,17 +699,17 @@ + #endif + #ifdef SISMERGED + if(pSiS->CRT2HSync) { +- xfree(pSiS->CRT2HSync); ++ free(pSiS->CRT2HSync); + pSiS->CRT2HSync = NULL; + } + + if(pSiS->CRT2VRefresh) { +- xfree(pSiS->CRT2VRefresh); ++ free(pSiS->CRT2VRefresh); + pSiS->CRT2VRefresh = NULL; + } + + if(pSiS->MetaModes) { +- xfree(pSiS->MetaModes); ++ free(pSiS->MetaModes); + pSiS->MetaModes = NULL; + } + +@@ -721,9 +721,9 @@ + while(pSiS->CRT2pScrn->monitor->Modes) { + xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); + } +- xfree(pSiS->CRT2pScrn->monitor); ++ free(pSiS->CRT2pScrn->monitor); + } +- xfree(pSiS->CRT2pScrn); ++ free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + } + +@@ -735,10 +735,10 @@ + do { + DisplayModePtr p = pScrn->currentMode->next; + if(pScrn->currentMode->Private) +- xfree(pScrn->currentMode->Private); ++ free(pScrn->currentMode->Private); + if(pScrn->currentMode->name) +- xfree(pScrn->currentMode->name); +- xfree(pScrn->currentMode); ++ free(pScrn->currentMode->name); ++ free(pScrn->currentMode); + pScrn->currentMode = p; + } while(pScrn->currentMode != pScrn->modes); + } +@@ -758,22 +758,22 @@ + } + + if(pSiS->currcrt1analogedid) { +- xfree(pSiS->currcrt1analogedid); ++ free(pSiS->currcrt1analogedid); + pSiS->currcrt1analogedid = NULL; + } + + if(pSiS->currcrt1digitaledid) { +- xfree(pSiS->currcrt1digitaledid); ++ free(pSiS->currcrt1digitaledid); + pSiS->currcrt1digitaledid = NULL; + } + + if(pSiS->currcrt2analogedid) { +- xfree(pSiS->currcrt2analogedid); ++ free(pSiS->currcrt2analogedid); + pSiS->currcrt2analogedid = NULL; + } + + if(pSiS->currcrt2digitaledid) { +- xfree(pSiS->currcrt2digitaledid); ++ free(pSiS->currcrt2digitaledid); + pSiS->currcrt2digitaledid = NULL; + } + +@@ -784,7 +784,7 @@ + + while(pSiS->SISVESAModeList) { + sisModeInfoPtr mp = pSiS->SISVESAModeList->next; +- xfree(pSiS->SISVESAModeList); ++ free(pSiS->SISVESAModeList); + pSiS->SISVESAModeList = mp; + } + +@@ -801,7 +801,7 @@ + if(pScrn->driverPrivate == NULL) + return; + +- xfree(pScrn->driverPrivate); ++ free(pScrn->driverPrivate); + pScrn->driverPrivate = NULL; + } + +@@ -1017,22 +1017,22 @@ + Bool gotit = FALSE; + + if(!ioctl(fd, SISFB_GET_INFO_SIZE, &sisfbinfosize)) { +- if((mysisfbinfo = xalloc(sisfbinfosize))) { ++ if((mysisfbinfo = malloc(sisfbinfosize))) { + if(!ioctl(fd, (SISFB_GET_INFO | (sisfbinfosize << 16)), mysisfbinfo)) { + gotit = TRUE; + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } + } else { +- if((mysisfbinfo = xalloc(sizeof(*mysisfbinfo) + 16))) { ++ if((mysisfbinfo = malloc(sizeof(*mysisfbinfo) + 16))) { + if(!ioctl(fd, SISFB_GET_INFO_OLD, mysisfbinfo)) { + gotit = TRUE; + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Possibly old version of sisfb detected. Please update.\n"); + } else { +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + } +@@ -1171,7 +1171,7 @@ + } + } + } +- xfree(mysisfbinfo); ++ free(mysisfbinfo); + mysisfbinfo = NULL; + } + close (fd); +@@ -1250,7 +1250,7 @@ + } + #endif + if(!pSiS->BIOS) { +- if(!(pSiS->BIOS = xcalloc(1, BIOS_SIZE))) { ++ if(!(pSiS->BIOS = calloc(1, BIOS_SIZE))) { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Could not allocate memory for video BIOS image\n"); + } else { +@@ -1352,7 +1352,7 @@ + } else { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Could not find/read video BIOS\n"); +- xfree(pSiS->BIOS); ++ free(pSiS->BIOS); + pSiS->BIOS = NULL; + } + } +@@ -1851,7 +1851,7 @@ + { + if((*ptr)) { + memcpy((*ptr), pMonitor, sizeof(xf86Monitor)); +- xfree(pMonitor); ++ free(pMonitor); + } else { + (*ptr) = pMonitor; + } +@@ -1882,7 +1882,7 @@ + } + #endif + +- xfree((*ptr)); ++ free((*ptr)); + *ptr = NULL; + + } +@@ -2158,7 +2158,7 @@ + xf86PrintEDID(pMonitor); + if(pMonitor->rawData) { + /* Get rid of raw data */ +- xfree(pMonitor->rawData); ++ free(pMonitor->rawData); + pMonitor->rawData = NULL; + } + pScrn->monitor->DDC = pMonitor = SiSSetEDIDPtr(&pSiS->currcrt1analogedid, pMonitor); +@@ -2821,12 +2821,12 @@ + DisplayModePtr dest = NULL; + + if(source) { +- if((dest = xalloc(sizeof(DisplayModeRec)))) { ++ if((dest = malloc(sizeof(DisplayModeRec)))) { + memcpy(dest, source, sizeof(DisplayModeRec)); + dest->name = NULL; + dest->next = dest->prev = NULL; +- if(!(dest->name = xalloc(strlen(source->name) + 1))) { +- xfree(dest); ++ if(!(dest->name = malloc(strlen(source->name) + 1))) { ++ free(dest); + dest = NULL; + } else { + strcpy(dest->name, source->name); +@@ -5256,7 +5256,7 @@ + /* MergedFB: Create CRT2 pScrn and make it a copy of pScrn */ + #ifdef SISMERGED + if(pSiS->MergedFB) { +- pSiS->CRT2pScrn = xalloc(sizeof(ScrnInfoRec)); ++ pSiS->CRT2pScrn = malloc(sizeof(ScrnInfoRec)); + if(!pSiS->CRT2pScrn) { + SISErrorLog(pScrn, "Failed to allocate memory for 2nd pScrn, %s\n", mergeddisstr); + pSiS->MergedFB = FALSE; +@@ -5292,7 +5292,7 @@ + } else { + SISErrorLog(pScrn, mergednocrt1, mergeddisstr); + } +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + } +@@ -5341,7 +5341,7 @@ + } else { + SISErrorLog(pScrn, mergednocrt2, mergeddisstr); + } +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + } +@@ -5711,7 +5711,7 @@ + #endif + + /* Don't need the clock ranges from here on */ +- xfree(clockRanges); ++ free(clockRanges); + + /* Set display resolution */ + #ifdef SISMERGED +@@ -6719,7 +6719,7 @@ + (function == MODE_SAVE)) { + /* don't rely on the memory not being touched */ + if(!pSiS->pstate) { +- pSiS->pstate = xalloc(pSiS->stateSize); ++ pSiS->pstate = malloc(pSiS->stateSize); + } + memcpy(pSiS->pstate, pSiS->state, pSiS->stateSize); + } +@@ -9086,10 +9086,10 @@ + if(!(nramp = xf86GetGammaRampSize(pScreen))) return; + + for(i=0; i<3; i++) { +- ramp[i] = (UShort *)xalloc(nramp * sizeof(UShort)); ++ ramp[i] = (UShort *)malloc(nramp * sizeof(UShort)); + if(!ramp[i]) { +- if(ramp[0]) { xfree(ramp[0]); ramp[0] = NULL; } +- if(ramp[1]) { xfree(ramp[1]); ramp[1] = NULL; } ++ if(ramp[0]) { free(ramp[0]); ramp[0] = NULL; } ++ if(ramp[1]) { free(ramp[1]); ramp[1] = NULL; } + return; + } + } +@@ -9149,9 +9149,9 @@ + + xf86ChangeGammaRamp(pScreen, nramp, ramp[0], ramp[1], ramp[2]); + +- xfree(ramp[0]); +- xfree(ramp[1]); +- xfree(ramp[2]); ++ free(ramp[0]); ++ free(ramp[1]); ++ free(ramp[2]); + ramp[0] = ramp[1] = ramp[2] = NULL; + } + #endif +@@ -9442,7 +9442,7 @@ + + if(pSiS->ShadowFB) { + pSiS->ShadowPitch = BitmapBytePad(pScrn->bitsPerPixel * width); +- pSiS->ShadowPtr = xalloc(pSiS->ShadowPitch * height); ++ pSiS->ShadowPtr = malloc(pSiS->ShadowPitch * height); + displayWidth = pSiS->ShadowPitch / (pScrn->bitsPerPixel >> 3); + FBStart = pSiS->ShadowPtr; + } else { +@@ -9626,14 +9626,14 @@ + + pSiS->CRT2ColNum = 1 << pScrn->rgbBits; + +- if((pSiS->crt2gcolortable = xalloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) { ++ if((pSiS->crt2gcolortable = malloc(pSiS->CRT2ColNum * 2 * sizeof(LOCO)))) { + pSiS->crt2colors = &pSiS->crt2gcolortable[pSiS->CRT2ColNum]; +- if((pSiS->crt2cindices = xalloc(256 * sizeof(int)))) { ++ if((pSiS->crt2cindices = malloc(256 * sizeof(int)))) { + int i = pSiS->CRT2ColNum; + SISCalculateGammaRampCRT2(pScrn); + while(i--) pSiS->crt2cindices[i] = i; + } else { +- xfree(pSiS->crt2gcolortable); ++ free(pSiS->crt2gcolortable); + pSiS->crt2gcolortable = NULL; + pSiS->CRT2SepGamma = FALSE; + } +@@ -10810,7 +10810,7 @@ + if(pSiS->useEXA) { + if(pSiS->EXADriverPtr) { + exaDriverFini(pScreen); +- xfree(pSiS->EXADriverPtr); ++ free(pSiS->EXADriverPtr); + pSiS->EXADriverPtr = NULL; + pSiS->exa_scratch = NULL; + } +@@ -10823,38 +10823,38 @@ + } + + if(pSiS->CursorScratch) { +- xfree(pSiS->CursorScratch); ++ free(pSiS->CursorScratch); + pSiS->CursorScratch = NULL; + } + + if(pSiS->ShadowPtr) { +- xfree(pSiS->ShadowPtr); ++ free(pSiS->ShadowPtr); + pSiS->ShadowPtr = NULL; + } + + if(pSiS->DGAModes) { +- xfree(pSiS->DGAModes); ++ free(pSiS->DGAModes); + pSiS->DGAModes = NULL; + } + + if(pSiS->adaptor) { +- xfree(pSiS->adaptor); ++ free(pSiS->adaptor); + pSiS->adaptor = NULL; + pSiS->ResetXv = pSiS->ResetXvGamma = pSiS->ResetXvDisplay = NULL; + } + + if(pSiS->blitadaptor) { +- xfree(pSiS->blitadaptor); ++ free(pSiS->blitadaptor); + pSiS->blitadaptor = NULL; + } + + if(pSiS->crt2gcolortable) { +- xfree(pSiS->crt2gcolortable); ++ free(pSiS->crt2gcolortable); + pSiS->crt2gcolortable = NULL; + } + + if(pSiS->crt2cindices) { +- xfree(pSiS->crt2cindices); ++ free(pSiS->crt2cindices); + pSiS->crt2cindices = NULL; + } + +diff -u xf86-video-sismedia-0.9.1/src/sis_hwmc.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_hwmc.c +--- xf86-video-sismedia-0.9.1/src/sis_hwmc.c 2011-03-06 11:27:56.388770300 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_hwmc.c 2011-03-06 12:24:06.612293658 +0700 +@@ -274,7 +274,7 @@ + * Set *num_priv to the number of 32bit words that make up the size of + * of the data that priv will point to. + * +- * *priv = (long *) xcalloc (elements, sizeof(element)) ++ * *priv = (long *) calloc (elements, sizeof(element)) + * *num_priv = (elements * sizeof(element)) >> 2; + * + **************************************************************************/ +@@ -310,7 +310,7 @@ + return BadAlloc; + } + +- *priv = xcalloc(1,sizeof(SiSXvMCCreateContextRec)); ++ *priv = calloc(1,sizeof(SiSXvMCCreateContextRec)); + contextRec = (SiSXvMCCreateContextRec *)*priv; + + if(!*priv) { +@@ -322,7 +322,7 @@ + if(drmCreateContext(pSiS->drmSubFD, &(contextRec->drmcontext) ) < 0) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "[MC] SiSXvMCCreateContext: Unable to create DRMContext!\n"); +- xfree(*priv); ++ free(*priv); + return BadAlloc; + } + +@@ -336,7 +336,7 @@ + DRM_FRAME_BUFFER, 0, &pSiS->fb_handle) < 0){ + + xf86DrvMsg(pScrn->scrnIndex, X_ERROR,"[MC] Frame buffer AddMap failed!\n"); +- xfree(*priv); ++ free(*priv); + *num_priv = 0; + return BadAlloc; + } +@@ -357,7 +357,7 @@ + break; + default: + xf86DrvMsg(pScrn->scrnIndex, X_ERROR," [MC] XvMC is not supposted on this chip! Stop.\n"); +- xfree(*priv); ++ free(*priv); + *num_priv = 0; + return BadValue; + } +@@ -408,7 +408,7 @@ + #endif + + +- *priv = xcalloc(1,sizeof(SiSXvMCCreateSurfaceRec)); ++ *priv = calloc(1,sizeof(SiSXvMCCreateSurfaceRec)); + + + if(!*priv) { +@@ -435,7 +435,7 @@ + } + + +- xfree(*priv); ++ free(*priv); + return BadAlloc; + + } +@@ -454,7 +454,7 @@ + __FUNCTION__, __FILE__); + #endif + +- *priv = (long *)xcalloc(1,sizeof(long)); ++ *priv = (long *)calloc(1,sizeof(long)); + + if(!*priv) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, +diff -u xf86-video-sismedia-0.9.1/src/sis_memcpy.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_memcpy.c +--- xf86-video-sismedia-0.9.1/src/sis_memcpy.c 2011-03-06 11:27:56.388770300 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_memcpy.c 2011-03-06 11:34:50.694322870 +0700 +@@ -637,13 +637,13 @@ + (*buf1) = (UChar *)pSiS->FbBase + offset; + (*buf1) = (UChar *)(((ULong)(*buf1) + 31) & ~31); + +- if(!((*buf2) = (UChar *)xalloc(BUFFERSIZE + 15))) { ++ if(!((*buf2) = (UChar *)malloc(BUFFERSIZE + 15))) { + SISFreeFBMemory(pScrn, &handle); + return NULL; + } + +- if(!((*buf3) = (UChar *)xalloc(BUFFERSIZE + 15))) { +- xfree((*buf2)); ++ if(!((*buf3) = (UChar *)malloc(BUFFERSIZE + 15))) { ++ free((*buf2)); + SISFreeFBMemory(pScrn, &handle); + return NULL; + } +@@ -1101,8 +1101,8 @@ + + /* Free buffers */ + SISFreeFBMemory(pScrn, &fbhandle); +- xfree(buf2); +- xfree(buf3); ++ free(buf2); ++ free(buf3); + + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, + "Using %s method for aligned data transfers %s video RAM\n", +diff -u xf86-video-sismedia-0.9.1/src/sis_mergedfb.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_mergedfb.c +--- xf86-video-sismedia-0.9.1/src/sis_mergedfb.c 2011-03-06 11:27:56.388770300 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_mergedfb.c 2011-03-06 22:18:01.785310903 +0700 +@@ -170,13 +170,13 @@ + char namebuffer[32], namebuf1[64], namebuf2[64]; + char printbuffer[256]; + +- if(!((mode = xalloc(sizeof(DisplayModeRec))))) ++ if(!((mode = malloc(sizeof(DisplayModeRec))))) + return dest; + + memcpy(mode, i, sizeof(DisplayModeRec)); + +- if(!((mode->Private = xalloc(sizeof(SiSMergedDisplayModeRec))))) { +- xfree(mode); ++ if(!((mode->Private = malloc(sizeof(SiSMergedDisplayModeRec))))) { ++ free(mode); + return dest; + } + +@@ -265,8 +265,8 @@ + "Skipped \"%s\" (%dx%d), not enough video RAM or beyond hardware specs\n", + mode->name, mode->HDisplay, mode->VDisplay); + } +- xfree(mode->Private); +- xfree(mode); ++ free(mode->Private); ++ free(mode); + + return dest; + } +@@ -306,7 +306,7 @@ + + /* Generate a mode name */ + sprintf(namebuffer, "%dx%d", mode->HDisplay, mode->VDisplay); +- if((mode->name = xalloc(strlen(namebuffer) + 1))) { ++ if((mode->name = malloc(strlen(namebuffer) + 1))) { + strcpy(mode->name, namebuffer); + } + +@@ -849,7 +849,7 @@ + + if(pSiS->MergedFB) { + +- pSiS->CRT2pScrn->monitor = xalloc(sizeof(MonRec)); ++ pSiS->CRT2pScrn->monitor = malloc(sizeof(MonRec)); + + if(pSiS->CRT2pScrn->monitor) { + +@@ -889,7 +889,7 @@ + } else { + + SISErrorLog(pScrn, "Failed to allocate memory for CRT2 monitor, MergedFB mode disabled.\n"); +- if(pSiS->CRT2pScrn) xfree(pSiS->CRT2pScrn); ++ if(pSiS->CRT2pScrn) free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + pSiS->MergedFB = FALSE; + +@@ -911,9 +911,9 @@ + xf86DeleteMode(&pSiS->CRT2pScrn->monitor->Modes, pSiS->CRT2pScrn->monitor->Modes); + } + pSiS->CRT2pScrn->monitor->DDC = NULL; +- xfree(pSiS->CRT2pScrn->monitor); ++ free(pSiS->CRT2pScrn->monitor); + } +- xfree(pSiS->CRT2pScrn); ++ free(pSiS->CRT2pScrn); + pSiS->CRT2pScrn = NULL; + } + } +@@ -1917,7 +1917,7 @@ + ClientPtr client; + xXineramaLayoutChangeNotifyEvent se; + +- pHead = (SiSXineramaEventPtr *)LookupIDByType(pWin->drawable.id, EventType); ++ dixLookupResourceByType((pointer) &pHead, pWin->drawable.id, EventType, NullClient, DixUnknownAccess); + if(!pHead) { + return WT_WALKCHILDREN; + } +@@ -2628,6 +2628,7 @@ + WindowPtr pWin; + SiSXineramaEventPtr pXineramaEvent, pNewXineramaEvent, *pHead; + XID clientResource; ++ int lookup_ret; + + REQUEST_SIZE_MATCH(xXineramaSelectInputReq); + /*IvansLee define NEW_XORG_VERSION.*/ +@@ -2640,9 +2641,10 @@ + if(!pWin) + return BadWindow; + #if NEW_XORG_VERSION == 1 /*New Xorg Version >= 1.4 */ +- pHead = (SiSXineramaEventPtr *)SecurityLookupIDByType(client, +- pWin->drawable.id, EventType, +- DixWriteAccess); ++ lookup_ret = dixLookupResourceByType((pointer) &pHead, ++ pWin->drawable.id, EventType, ++ client, DixWriteAccess); ++ pHead = (lookup_ret == Success ? pHead : NULL); + #else + pHead = (SiSXineramaEventPtr *)SecurityLookupIDByType(client, + pWin->drawable.id, EventType, +@@ -2661,7 +2663,7 @@ + } + + /* Build a new entry */ +- if(!(pNewXineramaEvent = (SiSXineramaEventPtr)xalloc(sizeof(SiSXineramaEventRec)))) { ++ if(!(pNewXineramaEvent = (SiSXineramaEventPtr)malloc(sizeof(SiSXineramaEventRec)))) { + return BadAlloc; + } + pNewXineramaEvent->next = 0; +@@ -2686,7 +2688,7 @@ + * done through the resource database. + */ + if(!pHead) { +- pHead = (SiSXineramaEventPtr *)xalloc(sizeof(SiSXineramaEventPtr)); ++ pHead = (SiSXineramaEventPtr *)malloc(sizeof(SiSXineramaEventPtr)); + if(!pHead || !AddResource(pWin->drawable.id, EventType, (pointer)pHead)) { + FreeResource(clientResource, RT_NONE); + return BadAlloc; +@@ -2715,7 +2717,7 @@ + } else { + *pHead = pXineramaEvent->next; + } +- xfree(pXineramaEvent); ++ free(pXineramaEvent); + SiSXineramaClientsListening--; + } + } +@@ -2854,7 +2856,7 @@ + { + /* Called by CloseDownExtensions() */ + if(SiSXineramadataPtr) { +- Xfree(SiSXineramadataPtr); ++ free(SiSXineramadataPtr); + SiSXineramadataPtr = NULL; + } + } +@@ -2866,7 +2868,7 @@ + SiSXineramaEventPtr *pHead, pCur, pPrev; + WindowPtr pWin = pXineramaEvent->window; + +- pHead = (SiSXineramaEventPtr *)LookupIDByType(pWin->drawable.id, EventType); ++ dixLookupResourceByType((pointer) &pHead, pWin->drawable.id, EventType, NullClient, DixUnknownAccess); + if(pHead) { + pPrev = NULL; + for(pCur = *pHead; pCur && pCur != pXineramaEvent; pCur = pCur->next) { +@@ -2877,7 +2879,7 @@ + else *pHead = pXineramaEvent->next; + } + } +- xfree((pointer)pXineramaEvent); ++ free((pointer)pXineramaEvent); + return 1; + } + +@@ -2890,9 +2892,9 @@ + for(pCur = *pHead; pCur; pCur = pNext) { + pNext = pCur->next; + FreeResource(pCur->clientResource, ClientType); +- xfree((pointer)pCur); ++ free((pointer)pCur); + } +- xfree((pointer)pHead); ++ free((pointer)pHead); + return 1; + } + +@@ -2965,7 +2967,7 @@ + if(!pSiS->XineramaExtEntry) break; + + if(!(SiSXineramadataPtr = (SiSXineramaData *) +- xcalloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break; ++ calloc(SiSXineramaNumScreens, sizeof(SiSXineramaData)))) break; + + SiSXineramaEventbase = pSiS->XineramaExtEntry->eventBase; + EventSwapVector[SiSXineramaEventbase + XineramaLayoutChangeNotify] = +diff -u xf86-video-sismedia-0.9.1/src/sis_opt.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_opt.c +--- xf86-video-sismedia-0.9.1/src/sis_opt.c 2011-03-06 11:27:56.388770300 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_opt.c 2011-03-06 11:34:50.818340404 +0700 +@@ -459,7 +459,7 @@ + xf86CollectOptions(pScrn, NULL); + + /* Process the options */ +- if(!(pSiS->Options = xalloc(sizeof(SISOptions)))) return; ++ if(!(pSiS->Options = malloc(sizeof(SISOptions)))) return; + + memcpy(pSiS->Options, SISOptions, sizeof(SISOptions)); + +@@ -920,7 +920,7 @@ + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2POS))) { + int result; + Bool valid = FALSE; +- char *tempstr = xalloc(strlen(strptr) + 1); ++ char *tempstr = malloc(strlen(strptr) + 1); + result = sscanf(strptr, "%s %d", tempstr, &ival); + if(result >= 1) { + if(!xf86NameCmp(tempstr,"LeftOf")) { +@@ -978,18 +978,18 @@ + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Except for \"Clone\", the parameter may be followed by an integer.\n"); + } +- xfree(tempstr); ++ free(tempstr); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_METAMODES))) { +- pSiS->MetaModes = xalloc(strlen(strptr) + 1); ++ pSiS->MetaModes = malloc(strlen(strptr) + 1); + if(pSiS->MetaModes) memcpy(pSiS->MetaModes, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2HSYNC))) { +- pSiS->CRT2HSync = xalloc(strlen(strptr) + 1); ++ pSiS->CRT2HSync = malloc(strlen(strptr) + 1); + if(pSiS->CRT2HSync) memcpy(pSiS->CRT2HSync, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_CRT2VREFRESH))) { +- pSiS->CRT2VRefresh = xalloc(strlen(strptr) + 1); ++ pSiS->CRT2VRefresh = malloc(strlen(strptr) + 1); + if(pSiS->CRT2VRefresh) memcpy(pSiS->CRT2VRefresh, strptr, strlen(strptr) + 1); + } + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_MERGEDDPI))) { +@@ -1009,8 +1009,8 @@ + } + if(pSiS->UseSiSXinerama) { + if((strptr = (char *)xf86GetOptValString(pSiS->Options, OPTION_SCR0))) { +- char *tempstr1 = xalloc(strlen(strptr) + 1); +- char *tempstr2 = xalloc(strlen(strptr) + 1); ++ char *tempstr1 = malloc(strlen(strptr) + 1); ++ char *tempstr2 = malloc(strlen(strptr) + 1); + char *tempstr; + int i, result; + pSiS->MFBScr0LR = pSiS->MFBScr0TB = -1; +@@ -1037,8 +1037,8 @@ + "Bad or incomplete argument(s) for Option \"%s\"\n", + pSiS->Options[SiS_FIFT(pSiS->Options, OPTION_SCR0)].name); + } +- xfree(tempstr1); +- xfree(tempstr2); ++ free(tempstr1); ++ free(tempstr2); + } else if(xf86GetOptValBool(pSiS->Options, OPTION_CRT2ISSCRN0, &val)) { + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Option \"%s\" is deprecated, use \"%s\"\n", +diff -u xf86-video-sismedia-0.9.1/src/sis_utility.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_utility.c +--- xf86-video-sismedia-0.9.1/src/sis_utility.c 2011-03-06 11:27:56.392770842 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_utility.c 2011-03-06 12:24:06.740312353 +0700 +@@ -2185,7 +2185,7 @@ + * in SiSCtrlExtUnregister()) + */ + if(extEntry->extPrivate) { +- xfree(extEntry->extPrivate); ++ free(extEntry->extPrivate); + extEntry->extPrivate = NULL; + } + } +@@ -2206,7 +2206,7 @@ + + if(!(myext = CheckExtension(SISCTRL_PROTOCOL_NAME))) { + +- if(!(myctrl = xcalloc(sizeof(xSiSCtrlScreenTable), 1))) ++ if(!(myctrl = calloc(sizeof(xSiSCtrlScreenTable), 1))) + return; + + if(!(myext = AddExtension(SISCTRL_PROTOCOL_NAME, 0, 0, +@@ -2216,7 +2216,7 @@ + StandardMinorOpcode))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Failed to add SISCTRL extension\n"); +- xfree(myctrl); ++ free(myctrl); + return; + } + +diff -u xf86-video-sismedia-0.9.1/src/sis_vga.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_vga.c +--- xf86-video-sismedia-0.9.1/src/sis_vga.c 2011-03-06 11:27:56.396771384 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_vga.c 2011-03-06 11:34:51.038371506 +0700 +@@ -1450,7 +1450,7 @@ + attr10 = SiS_ReadAttr(pSiS, 0x10); + if(attr10 & 0x01) return; + +- if(!(pSiS->fonts = xalloc(SIS_FONTS_SIZE * 2))) { ++ if(!(pSiS->fonts = malloc(SIS_FONTS_SIZE * 2))) { + xf86DrvMsg(pScrn->scrnIndex, X_ERROR, + "Could not save console fonts, mem allocation failed\n"); + return; +diff -u xf86-video-sismedia-0.9.1/src/sis_video.c xf86-video-sismedia-0.9.1-dep-clean/src/sis_video.c +--- xf86-video-sismedia-0.9.1/src/sis_video.c 2011-03-06 11:27:56.396771384 +0700 ++++ xf86-video-sismedia-0.9.1-dep-clean/src/sis_video.c 2011-03-06 12:24:06.824324624 +0700 +@@ -349,7 +349,7 @@ + if(newAdaptor) size++; + if(newBlitAdaptor) size++; + +- newAdaptors = xalloc(size * sizeof(XF86VideoAdaptorPtr*)); ++ newAdaptors = malloc(size * sizeof(XF86VideoAdaptorPtr*)); + if(newAdaptors) { + if(num_adaptors) { + memcpy(newAdaptors, adaptors, num_adaptors * sizeof(XF86VideoAdaptorPtr)); +@@ -379,7 +379,7 @@ + } + + if(newAdaptors) { +- xfree(newAdaptors); ++ free(newAdaptors); + } + + #ifdef ENABLEXvMC +@@ -1049,7 +1049,7 @@ + } + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + sizeof(SISPortPrivRec) + + sizeof(DevUnion)))) { + return NULL; +@@ -4543,7 +4543,7 @@ + } + #endif + +- if(!(adapt = xcalloc(1, sizeof(XF86VideoAdaptorRec) + ++ if(!(adapt = calloc(1, sizeof(XF86VideoAdaptorRec) + + (sizeof(DevUnion) * NUM_BLIT_PORTS) + + sizeof(SISBPortPrivRec)))) { + return NULL; +Common subdirectories: xf86-video-sismedia-0.9.1/src/xvmc and xf86-video-sismedia-0.9.1-dep-clean/src/xvmc diff --git a/extra/xf86-video-sisimedia/sisimedia-no-xaa.patch b/extra/xf86-video-sisimedia/sisimedia-no-xaa.patch new file mode 100644 index 000000000..d97ca5a2b --- /dev/null +++ b/extra/xf86-video-sisimedia/sisimedia-no-xaa.patch @@ -0,0 +1,11 @@ +--- xf86-video-sis-0.9.1/src/Makefile.am.0202~ 2007-05-30 04:12:02.000000000 +0200 ++++ xf86-video-sis-0.9.1/src/Makefile.am 2012-10-19 23:24:31.954954666 +0200 +@@ -23,7 +23,7 @@ + # -avoid-version prevents gratuitous .0.0.0 version numbers on the end + # _ladir passes a dummy rpath to libtool so the thing will actually link + # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc. +-AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ ++AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ -DSIS_USE_EXA + sis_drv_la_LTLIBRARIES = sis_drv.la + sis_drv_la_LDFLAGS = -module -avoid-version + sis_drv_ladir = @moduledir@/drivers diff --git a/extra/xf86-video-sisimedia/sisimedia-xorg-1.13.patch b/extra/xf86-video-sisimedia/sisimedia-xorg-1.13.patch new file mode 100644 index 000000000..25cc94fb1 --- /dev/null +++ b/extra/xf86-video-sisimedia/sisimedia-xorg-1.13.patch @@ -0,0 +1,654 @@ +diff -ur xf86-video-sis-0.9.1/src/sis_config.h xf86-video-sis-0.9.1-bero/src/sis_config.h +--- xf86-video-sis-0.9.1/src/sis_config.h 2007-05-30 04:12:02.000000000 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_config.h 2012-10-19 23:27:16.178901583 +0200 +@@ -67,7 +67,7 @@ + #endif + + #if 1 +-#define SIS_USE_XAA /* Include support for XAA */ ++#undef SIS_USE_XAA /* Don't include support for XAA, current xorg servers don't support it */ + #endif + + #ifdef SISVRAMQ +diff -ur xf86-video-sis-0.9.1/src/sis_dga.c xf86-video-sis-0.9.1-bero/src/sis_dga.c +--- xf86-video-sis-0.9.1/src/sis_dga.c 2012-10-20 00:10:10.325720321 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_dga.c 2012-10-19 23:34:00.514846689 +0200 +@@ -421,8 +421,8 @@ + pScrn->currentMode = pSiS->CurrentLayout.mode; + pSiS->DGAactive = FALSE; + +- (*pScrn->SwitchMode)(index, pScrn->currentMode, 0); +- (*pScrn->AdjustFrame)(index, pScrn->frameX0, pScrn->frameY0, 0); ++ (*pScrn->SwitchMode)(pScrn, pScrn->currentMode); ++ (*pScrn->AdjustFrame)(pScrn, pScrn->frameX0, pScrn->frameY0); + + } else { /* set new mode */ + +@@ -444,10 +444,10 @@ + pSiS->CurrentLayout.displayWidth = pMode->bytesPerScanline / (pMode->bitsPerPixel >> 3); + pSiS->CurrentLayout.displayHeight = pMode->imageHeight; + +- (*pScrn->SwitchMode)(index, pMode->mode, 0); ++ (*pScrn->SwitchMode)(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)(pScrn, 0, 0); + pSiS->CurrentLayout.DGAViewportX = pSiS->CurrentLayout.DGAViewportY = 0; + } + +@@ -471,7 +471,7 @@ + ){ + SISPtr pSiS = SISPTR(pScrn); + +- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags); ++ (*pScrn->AdjustFrame)(pScrn, x, y); + pSiS->DGAViewportStatus = 0; /* There are never pending Adjusts */ + pSiS->CurrentLayout.DGAViewportX = x; + pSiS->CurrentLayout.DGAViewportY = y; +diff -ur xf86-video-sis-0.9.1/src/sis_driver.c xf86-video-sis-0.9.1-bero/src/sis_driver.c +--- xf86-video-sis-0.9.1/src/sis_driver.c 2012-10-20 00:10:10.379719645 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_driver.c 2012-10-20 00:06:35.196409807 +0200 +@@ -8546,9 +8546,9 @@ + /* No need to go through pScrn->AdjustFrame; the coords + * didn't change + */ +- SISAdjustFrame(pSiSEnt->pScrn_2->scrnIndex, ++ SISAdjustFrame(pSiSEnt->pScrn_2, + pSiSEnt->pScrn_2->frameX0, +- pSiSEnt->pScrn_2->frameY0, 0); ++ pSiSEnt->pScrn_2->frameY0); + } + } else { + /* Head 2 (slave) is always CRT1 */ +@@ -8565,9 +8565,9 @@ + /* No need to go through pScrn->AdjustFrame; the coords + * didn't change + */ +- SISAdjustFrame(pSiSEnt->pScrn_1->scrnIndex, ++ SISAdjustFrame(pSiSEnt->pScrn_1, + pSiSEnt->pScrn_1->frameX0, +- pSiSEnt->pScrn_1->frameY0, 0); ++ pSiSEnt->pScrn_1->frameY0); + } + } + +@@ -8613,7 +8613,7 @@ + + SiS_SiSLVDSBackLight(pSiS, TRUE); + +- (*pScrn->AdjustFrame)(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ (*pScrn->AdjustFrame)(pScrn, pScrn->frameX0, pScrn->frameY0); + + } else { + #endif +@@ -8723,14 +8723,13 @@ + /*******************************************************/ + + static void +-SISBlockHandler(int i, pointer blockData, pointer pTimeout, pointer pReadmask) ++SISBlockHandler(ScreenPtr pScreen, pointer pTimeout, pointer pReadmask) + { +- ScreenPtr pScreen = screenInfo.screens[i]; +- ScrnInfoPtr pScrn = xf86Screens[i]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISPtr pSiS = SISPTR(pScrn); + + pScreen->BlockHandler = pSiS->BlockHandler; +- (*pScreen->BlockHandler) (i, blockData, pTimeout, pReadmask); ++ (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask); + pScreen->BlockHandler = SISBlockHandler; + + #ifdef SISDUALHEAD +@@ -8747,7 +8746,7 @@ + #endif + + if(pSiS->AdjustFramePending && pSiS->AdjustFrame) { +- (*pSiS->AdjustFrame)(i, pSiS->AdjustFrameX, pSiS->AdjustFrameY, pSiS->AdjustFrameFlags); ++ (*pSiS->AdjustFrame)(pScrn, pSiS->AdjustFrameX, pSiS->AdjustFrameY); + /* Reset it since Xv insists on installing its own every time. */ + pScrn->AdjustFrame = SISNewAdjustFrame; + pSiS->AdjustFramePending = FALSE; +@@ -9230,7 +9229,7 @@ + * depth, bitsPerPixel) + */ + static Bool +-SISScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) ++SISScreenInit(ScreenPtr pScreen, int argc, char **argv) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SISPtr pSiS = SISPTR(pScrn); +@@ -9409,7 +9408,7 @@ + pScrn->frameY1 = pScrn->frameY0 + pScrn->currentMode->VDisplay - 1; + } + } +- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + /* Reset visual list. */ + miClearVisualTypes(); +@@ -9841,7 +9840,7 @@ + pSiS->SiS_SD_Flags |= SiS_SD_PSEUDOXINERAMA; + if(pSiS->HaveNonRect) { + /* Reset the viewport (now eventually non-recangular) */ +- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + } + } + } else { +@@ -10177,9 +10176,8 @@ + } + + static ModeStatus +-SISValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) ++SISValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + + if(pSiS->UseVESA) { +@@ -10335,9 +10333,8 @@ + #endif + + Bool +-SISSwitchMode(int scrnIndex, DisplayModePtr mode, int flags) ++SISSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + /* This is part 2 of the ugly hack in sis_shadow.c: + * There we set pScrn->currentMode to something +@@ -10353,7 +10350,7 @@ + */ + + if(!pSiS->skipswitchcheck) { +- if(SISValidMode(scrnIndex, mode, TRUE, flags) != MODE_OK) { ++ if(SISValidMode(pScrn, mode, TRUE, 0) != MODE_OK) { + return FALSE; + } + } +@@ -10368,7 +10365,7 @@ + + (*pSiS->SyncAccel)(pScrn); + +- if(!(SISModeInit(xf86Screens[scrnIndex], mode))) ++ if(!(SISModeInit(pScrn, mode))) + return FALSE; + + /* Since RandR (indirectly) uses SwitchMode(), we need to +@@ -10485,21 +10482,18 @@ + } + + static void +-SISNewAdjustFrame(int scrnIndex, int x, int y, int flags) ++SISNewAdjustFrame(ScrnInfoPtr pScrn, int x, int y) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + + pSiS->AdjustFramePending = TRUE; + pSiS->AdjustFrameX = x; + pSiS->AdjustFrameY = y; +- pSiS->AdjustFrameFlags = flags; + } + + void +-SISAdjustFrame(int scrnIndex, int x, int y, int flags) ++SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + UChar temp, cr11backup; + ULong base; +@@ -10511,7 +10505,7 @@ + + #ifdef SISMERGED + if(pSiS->MergedFB) { +- SISMFBAdjustFrame(scrnIndex, x, y, flags); ++ SISMFBAdjustFrame(pScrn, x, y); + return; + } + #endif +@@ -10578,9 +10572,8 @@ + + + static Bool +-SISEnterVT(int scrnIndex, int flags) ++SISEnterVT(ScrnInfoPtr pScrn) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + SiS_SiSFB_Lock(pScrn, TRUE); + +@@ -10596,7 +10589,7 @@ + /* No need to go through pScrn->AdjustFrame; Xv's + * EnterVT handles the overlay(s) anyway. + */ +- SISAdjustFrame(scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + + /* Mark for 3D full-screen bug */ +@@ -10625,15 +10618,14 @@ + + + static void +-SISLeaveVT(int scrnIndex, int flags) ++SISLeaveVT(ScrnInfoPtr pScrn) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + #ifdef SISDRI + ScreenPtr pScreen; + + if(pSiS->directRenderingEnabled) { +- pScreen = screenInfo.screens[scrnIndex]; ++ pScreen = xf86ScreenToScrn(pScrn); + /* Mark for 3D full-screen bug */ + /* DRILock(pScreen, 0); */ + } +@@ -10702,9 +10694,9 @@ + + + static Bool +-SISCloseScreen(int scrnIndex, ScreenPtr pScreen) ++SISCloseScreen(ScreenPtr pScreen) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; ++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + SISPtr pSiS = SISPTR(pScrn); + #ifdef SISDUALHEAD + SISEntPtr pSiSEnt = pSiS->entityPrivate; +@@ -10872,7 +10864,7 @@ + + pScreen->CloseScreen = pSiS->CloseScreen; + +- return(*pScreen->CloseScreen)(scrnIndex, pScreen); ++ return(*pScreen->CloseScreen)(pScreen); + } + + +@@ -10883,10 +10875,9 @@ + /* Free up any per-generation data structures */ + + static void +-SISFreeScreen(int scrnIndex, int flags) ++SISFreeScreen(ScrnInfoPtr pScrn) + { + #ifdef SIS_NEED_MAP_IOP +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + + if(pSiS) { +@@ -10900,7 +10891,7 @@ + } + #endif + +- SISFreeRec(xf86Screens[scrnIndex]); ++ SISFreeRec(pScrn); + } + + +@@ -11134,7 +11125,7 @@ + pSiS->VBFlags3 = pSiS->VBFlags_backup3 = newvbflags3; + + pSiS->skipswitchcheck = TRUE; +- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex,pScrn->currentMode,0))) ++ if(!((*pScrn->SwitchMode)(pScrn,pScrn->currentMode))) + { + pSiS->skipswitchcheck = FALSE; + return FALSE; +@@ -11143,7 +11134,7 @@ + + /*xf86DrvMsg(0,X_INFO,"frameX0=%d, frameY0=%d.\n",pScrn->frameX0,pScrn->frameY0);*/ + +- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0,0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + return TRUE; + +@@ -11204,14 +11195,14 @@ + (*pSiS->SyncAccel)(pScrn); + + pSiS->skipswitchcheck = TRUE; +- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex,pScrn->currentMode,0))) ++ if(!((*pScrn->SwitchMode)(pScrn,pScrn->currentMode))) + { + pSiS->skipswitchcheck = FALSE; + return FALSE; + } + pSiS->skipswitchcheck = FALSE; + +- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0,0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + return TRUE; + } +@@ -11259,7 +11250,7 @@ + + xf86ZoomViewport(pScreen,1); + +- SISAdjustFrame(pScrn->scrnIndex,0,0,0); ++ SISAdjustFrame(pScrn,0,0); + + + return TRUE; +@@ -11268,9 +11259,8 @@ + + /**************************************************************************/ + static Bool +-SISPMEvent(int scrnIndex, pmEvent event, Bool undo) ++SISPMEvent(ScrnInfoPtr pScrn, pmEvent event, Bool undo) + { +- ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; + SISPtr pSiS = SISPTR(pScrn); + unsigned char hotkeyflag = 0;/*check BIOS flag.*/ + unsigned char checkflag = 0;/*just for test using.*/ +@@ -11287,13 +11277,13 @@ + { + xf86DrvMsg(0,X_INFO,"PM_EVENT:event=%d,undo=%d.\n",event,undo); + if (!undo && !pSiS->suspended) { +- pScrn->LeaveVT(scrnIndex, 0); ++ pScrn->LeaveVT(pScrn); + pSiS->suspended = TRUE; + sleep(0); + } + else if (undo && pSiS->suspended) { + sleep(0); +- pScrn->EnterVT(scrnIndex, 0); ++ pScrn->EnterVT(pScrn); + pSiS->suspended = FALSE; + } + } +@@ -11305,7 +11295,7 @@ + { + if (pSiS->suspended) { + sleep(0); +- pScrn->EnterVT(scrnIndex, 0); ++ pScrn->EnterVT(pScrn); + pSiS->suspended = FALSE; + SaveScreens(SCREEN_SAVER_FORCER, ScreenSaverReset); + } +diff -ur xf86-video-sis-0.9.1/src/sis_driver.h xf86-video-sis-0.9.1-bero/src/sis_driver.h +--- xf86-video-sis-0.9.1/src/sis_driver.h 2012-10-20 00:10:10.296720683 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_driver.h 2012-10-20 00:04:47.586755113 +0200 +@@ -770,14 +770,14 @@ + static void SISIdentify(int flags); + static Bool SISProbe(DriverPtr drv, int flags); + static Bool SISPreInit(ScrnInfoPtr pScrn, int flags); +-static Bool SISScreenInit(int Index, ScreenPtr pScreen, int argc, char **argv); +-static Bool SISEnterVT(int scrnIndex, int flags); +-static void SISLeaveVT(int scrnIndex, int flags); +-static Bool SISCloseScreen(int scrnIndex, ScreenPtr pScreen); ++static Bool SISScreenInit(ScreenPtr pScreen, int argc, char **argv); ++static Bool SISEnterVT(ScrnInfoPtr pScrn); ++static void SISLeaveVT(ScrnInfoPtr pScrn); ++static Bool SISCloseScreen(ScreenPtr pScreen); + static Bool SISSaveScreen(ScreenPtr pScreen, int mode); +-static Bool SISSwitchMode(int scrnIndex, DisplayModePtr mode, int flags); +-static void SISNewAdjustFrame(int scrnIndex, int x, int y, int flags); +-static Bool SISPMEvent(int scrnIndex, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/ ++static Bool SISSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode); ++static void SISNewAdjustFrame(ScrnInfoPtr pScrn, int x, int y); ++static Bool SISPMEvent(ScrnInfoPtr pScrn, pmEvent event, Bool undo);/*APM-ACPI, adding by Ivans.*/ + + #if XSERVER_LIBPCIACCESS + static Bool SIS_pci_probe(DriverPtr driver, int entity_num, struct pci_device *device, intptr_t match_data); +@@ -791,8 +791,8 @@ + #ifdef SISDUALHEAD + static Bool SISSaveScreenDH(ScreenPtr pScreen, int mode); + #endif +-static void SISFreeScreen(int scrnIndex, int flags); +-static ModeStatus SISValidMode(int scrnIndex, DisplayModePtr mode, ++static void SISFreeScreen(ScrnInfoPtr pScrn); ++static ModeStatus SISValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, + Bool verbose, int flags); + #ifdef SIS_HAVE_RR_FUNC + #ifdef SIS_HAVE_DRIVER_FUNC +@@ -811,7 +811,7 @@ + static Bool SISMapIOPMem(ScrnInfoPtr pScrn); + static Bool SISUnmapIOPMem(ScrnInfoPtr pScrn); + #endif +-void SISAdjustFrame(int scrnIndex, int x, int y, int flags); ++void SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y); + UChar SISSearchCRT1Rate(ScrnInfoPtr pScrn, DisplayModePtr mode); + UShort SiS_CheckModeCRT1(ScrnInfoPtr pScrn, DisplayModePtr mode, + unsigned int VBFlags, unsigned int VBFlags3, Bool hcm); +@@ -858,7 +858,7 @@ + extern Bool SiSVGASaveScreen(ScreenPtr pScreen, int mode); + + /* shadow, randr, randr-rotation */ +-extern void SISPointerMoved(int index, int x, int y); ++extern void SISPointerMoved(ScrnInfoPtr pScrn, int x, int y); + extern void SISRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox); + extern void SISRefreshAreaReflect(ScrnInfoPtr pScrn, int num, BoxPtr pbox); + extern void SISRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox); +@@ -922,8 +922,8 @@ + extern Bool SiSMFBRebuildModelist(ScrnInfoPtr pScrn, ClockRangePtr clockRanges); + extern Bool SiSMFBRevalidateModelist(ScrnInfoPtr pScrn, ClockRangePtr clockRanges); + extern void SiSMFBSetDpi(ScrnInfoPtr pScrn1, ScrnInfoPtr pScrn2, SiSScrn2Rel srel); +-extern void SISMFBPointerMoved(int scrnIndex, int x, int y); +-extern void SISMFBAdjustFrame(int scrnIndex, int x, int y, int flags); ++extern void SISMFBPointerMoved(ScrnInfoPtr pScrn, int x, int y); ++extern void SISMFBAdjustFrame(ScrnInfoPtr pScrn, int x, int y); + #ifdef SISXINERAMA + extern void SiSXineramaExtensionInit(ScrnInfoPtr pScrn); + extern Bool SiSnoPanoramiXExtension; +diff -ur xf86-video-sis-0.9.1/src/sis.h xf86-video-sis-0.9.1-bero/src/sis.h +--- xf86-video-sis-0.9.1/src/sis.h 2012-10-20 00:10:10.361719870 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis.h 2012-10-19 23:56:46.635767827 +0200 +@@ -73,6 +73,7 @@ + #include "xf86Cursor.h" + #include "xf86cmap.h" + #include "vbe.h" ++#include "xf86fbman.h" + + /*I.L. modified*/ + #include "sispcirename.h" +@@ -241,7 +242,7 @@ + #define SIS_MAX_SUBPICTURES 2 + + #if !defined(SIS_USE_XAA) && !defined(SIS_USE_EXA) +-#define SIS_USE_XAA ++#define SIS_USE_EXA + #endif + + #ifdef SIS_USE_XAA +@@ -1319,8 +1320,8 @@ + #ifdef SIS_USE_XAA + void (*RenderCallback)(ScrnInfoPtr); + Time RenderTime; +- FBLinearPtr AccelLinearScratch; + #endif ++ FBLinearPtr AccelLinearScratch; + #ifdef SIS_USE_EXA + void (*ExaRenderCallback)(ScrnInfoPtr); + Time ExaRenderTime; +@@ -1342,7 +1343,7 @@ + int SiSDPIVX, SiSDPIVY; + int virtualX, virtualY; + int Rotate, Reflect; +- void (*PointerMoved)(int index, int x, int y); ++ void (*PointerMoved)(ScrnInfoPtr pScrn, int x, int y); + + /* ShadowFB support */ + Bool ShadowFB; +@@ -1420,7 +1421,6 @@ + Bool AdjustFramePending; + int AdjustFrameX; + int AdjustFrameY; +- int AdjustFrameFlags; + + /* DGA */ + DGAModePtr DGAModes; +diff -ur xf86-video-sis-0.9.1/src/sis_hwmc.c xf86-video-sis-0.9.1-bero/src/sis_hwmc.c +--- xf86-video-sis-0.9.1/src/sis_hwmc.c 2012-10-20 00:10:10.348720033 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_hwmc.c 2012-10-19 23:38:25.482534137 +0200 +@@ -58,8 +58,10 @@ + #include "xf86xvmc.h" + #include <X11/extensions/Xv.h> + #include <X11/extensions/XvMC.h> ++#ifdef SIS_USE_XAA + #include "xaa.h" + #include "xaalocal.h" ++#endif + #include "dixstruct.h" + #include "fourcc.h" + #include "sis_common.h" +diff -ur xf86-video-sis-0.9.1/src/sis_mergedfb.c xf86-video-sis-0.9.1-bero/src/sis_mergedfb.c +--- xf86-video-sis-0.9.1/src/sis_mergedfb.c 2012-10-20 00:10:10.351719996 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_mergedfb.c 2012-10-20 00:07:08.475993754 +0200 +@@ -1706,7 +1706,7 @@ + /* Need to go the official way to avoid hw access and + * to update Xv's overlays + */ +- (pScrn1->AdjustFrame)(scrnIndex, pScrn1->frameX0, pScrn1->frameY0, 0); ++ (pScrn1->AdjustFrame)(pScrn1, pScrn1->frameX0, pScrn1->frameY0); + } + } + +diff -ur xf86-video-sis-0.9.1/src/sis_shadow.c xf86-video-sis-0.9.1-bero/src/sis_shadow.c +--- xf86-video-sis-0.9.1/src/sis_shadow.c 2007-05-30 04:12:02.000000000 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_shadow.c 2012-10-20 00:08:12.018199367 +0200 +@@ -81,11 +81,11 @@ + } + + if(framechanged && pScrn->AdjustFrame) +- pScrn->AdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ pScrn->AdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + } else { + +- (*pSiS->PointerMoved)(index, x, y); ++ (*pSiS->PointerMoved)(pScrn, x, y); + + } + } +diff -ur xf86-video-sis-0.9.1/src/sis_utility.c xf86-video-sis-0.9.1-bero/src/sis_utility.c +--- xf86-video-sis-0.9.1/src/sis_utility.c 2012-10-20 00:10:10.352719983 +0200 ++++ xf86-video-sis-0.9.1-bero/src/sis_utility.c 2012-10-20 00:09:45.884025883 +0200 +@@ -273,7 +273,7 @@ + unsigned int VBFlags, unsigned int VBFlags3, Bool hcm); + extern UShort SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, + unsigned int VBFlags, unsigned int VBFlags3, Bool hcm); +-extern void SISAdjustFrame(int scrnIndex, int x, int y, int flags); ++extern void SISAdjustFrame(ScrnInfoPtr pScrn, int x, int y); + extern float SiSCalcVRate(DisplayModePtr mode); + extern void SiS_UpdateGammaCRT2(ScrnInfoPtr pScrn); + #ifdef SISGAMMARAMP +@@ -427,7 +427,7 @@ + (*pSiS->SyncAccel)(pScrn); + + pSiS->skipswitchcheck = TRUE; +- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex, pScrn->currentMode, 0))) { ++ if(!((*pScrn->SwitchMode)(pScrn, pScrn->currentMode))) { + pSiS->skipswitchcheck = FALSE; + return FALSE; + } +@@ -436,7 +436,7 @@ + /* No need to go through pScrn->AdjustFrame; the coords + * didn't change + */ +- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + return TRUE; + } +@@ -480,7 +480,7 @@ + /* Sync the accelerators */ + (*pSiS->SyncAccel)(pScrn); + pSiS->skipswitchcheck = TRUE; +- if(!((*pScrn->SwitchMode)(pScrn->scrnIndex, pScrn->currentMode, 0))) { ++ if(!((*pScrn->SwitchMode)(pScrn, pScrn->currentMode))) { + pSiS->skipswitchcheck = FALSE; + return FALSE; + } +@@ -489,7 +489,7 @@ + /* No need to go through pScrn->AdjustFrame; the coords + * didn't change + */ +- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + } + + return TRUE; +@@ -624,7 +624,7 @@ + pSiS->VBFlags3 = pSiS->VBFlags_backup3 = newvbflags3; + + pSiS->skipswitchcheck = TRUE; +- if(!(pScrn->SwitchMode(pScrn->scrnIndex, pScrn->currentMode, 0))) { ++ if(!(pScrn->SwitchMode(pScrn, pScrn->currentMode))) { + pSiS->skipswitchcheck = FALSE; + return FALSE; + } +@@ -633,7 +633,7 @@ + /* No need to go through pScrn->AdjustFrame; the coords + * didn't change + */ +- SISAdjustFrame(pScrn->scrnIndex, pScrn->frameX0, pScrn->frameY0, 0); ++ SISAdjustFrame(pScrn, pScrn->frameX0, pScrn->frameY0); + + return TRUE; + } +--- xf86-video-sis-0.9.1/src/sis6326_video.c.bero 2012-10-20 00:13:59.712852587 +0200 ++++ xf86-video-sis-0.9.1/src/sis6326_video.c 2012-10-20 00:15:51.035460862 +0200 +@@ -72,7 +72,7 @@ static void SIS6326QueryBestSize(ScrnIn + short, unsigned int *,unsigned int *, pointer); + static int SIS6326PutImage( ScrnInfoPtr, + short, short, short, short, short, short, short, short, +- int, unsigned char*, short, short, Bool, RegionPtr, pointer); ++ int, unsigned char*, short, short, Bool, RegionPtr, pointer, DrawablePtr); + static int SIS6326QueryImageAttributes(ScrnInfoPtr, + int, unsigned short *, unsigned short *, int *, int *); + static void SIS6326VideoTimerCallback(ScrnInfoPtr pScrn, Time now); +@@ -1231,7 +1231,7 @@ SIS6326PutImage( + int id, unsigned char* buf, + short width, short height, + Bool sync, +- RegionPtr clipBoxes, pointer data ++ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw + ){ + SISPtr pSiS = SISPTR(pScrn); + SISPortPrivPtr pPriv = (SISPortPrivPtr)data; +--- xf86-video-sis-0.9.1/src/sis_video.c.bero 2012-10-20 00:16:13.212183614 +0200 ++++ xf86-video-sis-0.9.1/src/sis_video.c 2012-10-20 00:20:38.099872064 +0200 +@@ -3948,7 +3948,7 @@ SISPutImage( + int id, UChar *buf, + short width, short height, + Bool sync, +- RegionPtr clipBoxes, pointer data ++ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw + ){ + SISPtr pSiS = SISPTR(pScrn); + SISPortPrivPtr pPriv = (SISPortPrivPtr)data; +@@ -4089,8 +4089,11 @@ SISPutImage( + static int + SISReputImage( + ScrnInfoPtr pScrn, ++ short src_x, short src_y, + short drw_x, short drw_y, +- RegionPtr clipBoxes, pointer data ++ short src_w, short src_h, ++ short drw_w, short drw_h, ++ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw + ){ + SISPtr pSiS = SISPTR(pScrn); + SISPortPrivPtr pPriv = (SISPortPrivPtr)data; +--- xf86-video-sis-0.9.1/src/sis_video.h.bero 2012-10-20 00:16:58.076622733 +0200 ++++ xf86-video-sis-0.9.1/src/sis_video.h 2012-10-20 00:20:18.443117807 +0200 +@@ -107,10 +107,13 @@ static void SISQueryBestSize(ScrnInfoPt + short, unsigned int *,unsigned int *, pointer); + static int SISPutImage(ScrnInfoPtr, + short, short, short, short, short, short, short, short, +- int, UChar *, short, short, Bool, RegionPtr, pointer); ++ int, UChar *, short, short, Bool, RegionPtr, pointer, DrawablePtr); + static int SISReputImage(ScrnInfoPtr pScrn, ++ short src_x, short src_y, + short drw_x, short drw_y, +- RegionPtr clipBoxes, pointer data); ++ short src_w, short src_h, ++ short drw_w, short drw_h, ++ RegionPtr clipBoxes, pointer data, DrawablePtr pDraw); + static int SISQueryImageAttributes(ScrnInfoPtr, + int, UShort *, UShort *, int *, int *); + static void SISVideoTimerCallback(ScrnInfoPtr pScrn, Time now); |