? Makefile ? agp.diff ? cobfixes.diff ? savage.4.html ? savage._man ? streams_cleanup.diff ? streams_cleanup_big-v2.diff ? streams_cleanup_big-v3.diff ? streams_cleanup_big.diff ? twister.diff Index: savage_accel.c =================================================================== RCS file: /cvs/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c,v retrieving revision 1.19 diff -u -r1.19 savage_accel.c --- savage_accel.c 26 Mar 2004 17:09:04 -0000 1.19 +++ savage_accel.c 30 Mar 2004 01:07:15 -0000 @@ -479,6 +479,10 @@ bci_enable = BCI_ENABLE; tile16 = TILE_FORMAT_DESTINATION16; tile32 = TILE_FORMAT_DESTINATION32; + } else if (psav->Chipset == S3_TWISTER) { + bci_enable = BCI_ENABLE_TWISTER; + tile16 = TILE_FORMAT_DESTINATION16; + tile32 = TILE_FORMAT_DESTINATION32; } else { bci_enable = BCI_ENABLE_TWISTER; tile16 = TILE_DESTINATION; Index: savage_dri.c =================================================================== RCS file: /cvs/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c,v retrieving revision 1.3 diff -u -r1.3 savage_dri.c --- savage_dri.c 23 Mar 2004 21:11:37 -0000 1.3 +++ savage_dri.c 30 Mar 2004 01:07:16 -0000 @@ -1310,8 +1310,7 @@ else TileStride = (pSAVAGEDRI->width+31)&(~31); - if ((psav->Chipset == S3_TWISTER) - || (psav->Chipset == S3_PROSAVAGE) + if ((psav->Chipset == S3_PROSAVAGE) || (psav->Chipset == S3_PROSAVAGEDDR) || (psav->Chipset == S3_SUPERSAVAGE)) { @@ -1319,7 +1318,8 @@ (1<<24) | /* destination tile format */ (pScrn->bitsPerPixel<<16) | /* bpp */ TileStride; /* stride */ - } else { + pSAVAGEDRI->frontPitch = TileStride; + } else { /* twister seems to use this format */ pSAVAGEDRI->frontBitmapDesc = 0x10000000 | /* block write disabled */ ((pSAVAGEDRI->cpp==2)? BCI_BD_TILE_16:BCI_BD_TILE_32) | /*16/32 bpp tile format */ @@ -1347,8 +1347,7 @@ else TileStride = (pSAVAGEDRI->width+31)&(~31); - if ((psav->Chipset == S3_TWISTER) - || (psav->Chipset == S3_PROSAVAGE) + if ((psav->Chipset == S3_PROSAVAGE) || (psav->Chipset == S3_PROSAVAGEDDR) || (psav->Chipset == S3_SUPERSAVAGE)) /* AGD: supersavage may work like savage4/MX/IX, I just don't know. */ { /* It's here since the 2D driver sets it up like prosavage */ @@ -1356,7 +1355,7 @@ (1<<24) | (pScrn->bitsPerPixel<<16) | TileStride; - } else { + } else { /* twister seems to use this format */ pSAVAGEDRI->backBitmapDesc = 0x10000000 | ((pSAVAGEDRI->cpp==2)? BCI_BD_TILE_16:BCI_BD_TILE_32) | @@ -1377,8 +1376,7 @@ else TileStride = (pSAVAGEDRI->width+31)&(~31); - if ((psav->Chipset == S3_TWISTER) - || (psav->Chipset == S3_PROSAVAGE) + if ((psav->Chipset == S3_PROSAVAGE) || (psav->Chipset == S3_PROSAVAGEDDR) || (psav->Chipset == S3_SUPERSAVAGE)) { @@ -1386,7 +1384,7 @@ (1<<24) | (pScrn->bitsPerPixel<<16) | TileStride; - } else { + } else { /* twister seems to use this format */ pSAVAGEDRI->depthBitmapDesc = 0x10000000 | ((pSAVAGEDRI->zpp==2)? BCI_BD_TILE_16:BCI_BD_TILE_32) | Index: savage_driver.c =================================================================== RCS file: /cvs/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c,v retrieving revision 1.22 diff -u -r1.22 savage_driver.c --- savage_driver.c 26 Mar 2004 22:20:40 -0000 1.22 +++ savage_driver.c 30 Mar 2004 01:07:18 -0000 @@ -1310,16 +1310,14 @@ * The Savage4 and ProSavage have COB coherency bugs which render * the buffer useless. */ - /* - psav->cobIndex = 2; - psav->cobSize = 0x8000 << psav->cobIndex; - */ psav->cobIndex = 0; psav->cobSize = 0; } else { /* We use 128kB for the COB on all other chips. */ psav->cobSize = 0x20000; - if (S3_SAVAGE3D_SERIES(psav->Chipset)) { + if (S3_SAVAGE3D_SERIES(psav->Chipset) + || (psav->Chipset == S3_TWISTER)) /* twister seems to use 7 */ + { psav->cobIndex = 7; /* rev.A savage4 also uses 7 */ } else { psav->cobIndex = 2;