Lines Matching refs:psav
108 SavagePtr psav = SAVPTR(pScrn);
124 switch( psav->Chipset ) {
131 OUTREG(0x48C14, (psav->cobOffset >> 11) | (psav->cobIndex << 29)); /* tim */
132 /*OUTREG(S3_OVERFLOW_BUFFER, psav->cobOffset >> 11 | 0xE0000000);*/ /* S3 */
135 unsigned long thresholds = ((psav->bciThresholdLo & 0xffff) << 16) |
136 (psav->bciThresholdHi & 0xffff);
140 if( psav->ShadowStatus )
142 OUTREG(0x48C0C, psav->ShadowPhysical | 1 );
161 if (!psav->disableCOB) {
163 OUTREG(0x48C14, (psav->cobOffset >> 11) | (psav->cobIndex << 29));
167 unsigned long thresholds = ((psav->bciThresholdLo & 0x1fffe0) << 11) |
168 ((psav->bciThresholdHi & 0x1fffe0) >> 5);
173 if( psav->ShadowStatus )
175 OUTREG(0x48C0C, psav->ShadowPhysical | 1 );
176 if (psav->disableCOB) {
186 if (psav->disableCOB) {
199 OUTREG(0x48C18, (psav->cobOffset >> 7) | (psav->cobIndex));
200 if( psav->ShadowStatus )
205 OUTREG(0x48C10, psav->bciThresholdLo >> 2);
206 OUTREG(0x48C14, psav->bciThresholdHi >> 2);
208 OUTREG(0x48A30, psav->ShadowPhysical );
236 SavagePtr psav = SAVPTR(pScrn);
242 psav->lDelta = pScrn->virtualX * (pScrn->bitsPerPixel >> 3);
248 if ((!psav->bDisableTile) && ((pScrn->bitsPerPixel == 16) || (pScrn->bitsPerPixel == 32))) {
250 psav->bTiled = TRUE;
251 psav->lDelta = ((psav->lDelta + 127) >> 7) << 7;
253 if (S3_SAVAGE3D_SERIES(psav->Chipset))
254 psav->ulAperturePitch = 0x2000;
255 else if (psav->Chipset == S3_SAVAGE2000)
256 psav->ulAperturePitch = GetTileAperturePitch2000(pScrn->virtualX,
258 psav->lDelta);
260 psav->ulAperturePitch = GetTileAperturePitch(pScrn->virtualX,pScrn->bitsPerPixel);
263 psav->FBStart = psav->ApertureMap;
265 psav->bTiled = FALSE;
267 psav->lDelta = ((psav->lDelta + 31) >> 5) << 5;
268 psav->ulAperturePitch = psav->lDelta;
271 psav->Bpp = pScrn->bitsPerPixel >> 3;
272 psav->cxMemory = psav->lDelta / (psav->Bpp);
273 psav->cyMemory = psav->endfb / psav->lDelta - 1;
275 if (psav->cyMemory > 2048)
276 psav->cyMemory = 2048;
279 * If tiling, adjust down psav->cyMemory to the last multiple
282 if (psav->bTiled) {
283 psav->cyMemory -= (psav->cyMemory % 16);
310 switch (psav->Chipset) {
334 SavagePtr psav = SAVPTR(pScrn);
339 if (psav->Chipset == S3_SAVAGE4) {
363 if (!psav->bTiled) {
365 (((psav->lDelta * 2) << 16) & 0x3FFFE000) |
366 (psav->lDelta & 0x00001fff));
371 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
372 | 0x80000000 | (psav->lDelta & 0x00001fff));
376 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
377 | 0xC0000000 | (psav->lDelta & 0x00001fff));
438 if (!psav->bTiled) {
444 psav->GlobalBD.bd1.HighPart.ResBWTile = TILE_FORMAT_LINEAR;/* linear */
447 psav->GlobalBD.bd1.HighPart.ResBWTile = tile16; /* 16 bpp/destination tiling format */
453 psav->GlobalBD.bd1.HighPart.ResBWTile = tile32; /* 32 bpp/destination tiling format */
459 psav->GlobalBD.bd1.HighPart.ResBWTile |= 0x10;/* disable block write - was 0 */
461 psav->GlobalBD.bd1.HighPart.Stride = (unsigned short) psav->lDelta / (pScrn->bitsPerPixel >> 3);
462 psav->GlobalBD.bd1.HighPart.Bpp = (unsigned char) (pScrn->bitsPerPixel);
463 psav->GlobalBD.bd1.Offset = pScrn->fbOffset;
492 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart);
493 OUTREG32(S3_GLB_BD_HIGH,psav->GlobalBD.bd2.HiPart | bci_enable | S3_LITTLE_ENDIAN | S3_BD64);
494 OUTREG32(S3_PRI_BD_LOW,psav->GlobalBD.bd2.LoPart);
495 OUTREG32(S3_PRI_BD_HIGH,psav->GlobalBD.bd2.HiPart);
496 OUTREG32(S3_SEC_BD_LOW,psav->GlobalBD.bd2.LoPart);
497 OUTREG32(S3_SEC_BD_HIGH,psav->GlobalBD.bd2.HiPart);
502 SavagePtr psav = SAVPTR(pScrn);
525 if (!psav->bTiled) {
527 (((psav->lDelta * 2) << 16) & 0x3FFFE000) |
528 (psav->lDelta & 0x00001fff));
533 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
534 | 0x80000000 | (psav->lDelta & 0x00001fff));
538 (((psav->lDelta * 2) << 16) & 0x3FFFE000)
539 | 0xC0000000 | (psav->lDelta & 0x00001fff));
590 if (!psav->bTiled) {
596 psav->GlobalBD.bd1.HighPart.ResBWTile = TILE_FORMAT_LINEAR;/* linear */
599 psav->GlobalBD.bd1.HighPart.ResBWTile = tile16; /* 16 bpp/destination tiling format */
605 psav->GlobalBD.bd1.HighPart.ResBWTile = tile32; /* 32 bpp/destination tiling format */
611 psav->GlobalBD.bd1.HighPart.ResBWTile |= 0x10;/* disable block write - was 0 */
613 psav->GlobalBD.bd1.HighPart.Stride = (unsigned short) psav->lDelta / (pScrn->bitsPerPixel >> 3);
614 psav->GlobalBD.bd1.HighPart.Bpp = (unsigned char) (pScrn->bitsPerPixel);
615 psav->GlobalBD.bd1.Offset = pScrn->fbOffset;
644 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart);
645 OUTREG32(S3_GLB_BD_HIGH,psav->GlobalBD.bd2.HiPart | bci_enable | S3_LITTLE_ENDIAN | S3_BD64);
646 OUTREG32(S3_PRI_BD_LOW,psav->GlobalBD.bd2.LoPart);
647 OUTREG32(S3_PRI_BD_HIGH,psav->GlobalBD.bd2.HiPart);
648 OUTREG32(S3_SEC_BD_LOW,psav->GlobalBD.bd2.LoPart);
649 OUTREG32(S3_SEC_BD_HIGH,psav->GlobalBD.bd2.HiPart);
654 SavagePtr psav = SAVPTR(pScrn);
678 if (psav->IsPrimary) {
682 } else if (psav->IsSecondary) {
712 if (psav->videoRambytes >= 0x800000) {
720 if (psav->IsPrimary) {
723 } else if (psav->IsSecondary) {
743 if (!psav->bTiled) {
744 if (psav->IsPrimary) {
746 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
747 (psav->lDelta & 0x00003fff));
748 } else if (psav->IsSecondary) {
750 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
751 (psav->lDelta & 0x00003fff));
754 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
755 (psav->lDelta & 0x00003fff));
757 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
758 (psav->lDelta & 0x00003fff));
763 if (psav->IsPrimary) {
765 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
766 | 0x80000000 | (psav->lDelta & 0x00003fff));
767 } else if (psav->IsSecondary) {
769 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
770 | 0x80000000 | (psav->lDelta & 0x00003fff));
773 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
774 | 0x80000000 | (psav->lDelta & 0x00003fff));
776 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
777 | 0x80000000 | (psav->lDelta & 0x00003fff));
781 if (psav->IsPrimary) {
783 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
784 | 0xC0000000 | (psav->lDelta & 0x00003fff));
785 } else if (psav->IsSecondary) {
787 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
788 | 0xC0000000 | (psav->lDelta & 0x00003fff));
791 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
792 | 0xC0000000 | (psav->lDelta & 0x00003fff));
794 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
795 | 0xC0000000 | (psav->lDelta & 0x00003fff));
802 if (!psav->IsSecondary)
843 if (!psav->bTiled) {
849 psav->GlobalBD.bd1.HighPart.ResBWTile = TILE_FORMAT_LINEAR;/* linear */
853 psav->GlobalBD.bd1.HighPart.ResBWTile = tile16;/* 16 bit */
855 ulTmp = ((psav->lDelta / 2) >> 6) << 24;
856 if (psav->IsSecondary)
862 psav->GlobalBD.bd1.HighPart.ResBWTile = tile32;/* 32 bit */
864 ulTmp = ((psav->lDelta / 4) >> 5) << 24;
865 if (psav->IsSecondary)
871 psav->GlobalBD.bd1.HighPart.ResBWTile |= 0x10;/* disable block write */
873 psav->GlobalBD.bd1.HighPart.Stride = (unsigned short)(psav->lDelta / (pScrn->bitsPerPixel >> 3));
874 psav->GlobalBD.bd1.HighPart.Bpp = (unsigned char) (pScrn->bitsPerPixel);
875 psav->GlobalBD.bd1.Offset = pScrn->fbOffset;
892 if (!psav->IsSecondary) {
894 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart );
896 OUTREG32(S3_GLB_BD_HIGH,(psav->GlobalBD.bd2.HiPart
898 OUTREG32(S3_PRI_BD_LOW,psav->GlobalBD.bd2.LoPart);
899 OUTREG32(S3_PRI_BD_HIGH,psav->GlobalBD.bd2.HiPart);
900 OUTREG32(S3_SEC_BD_LOW,psav->GlobalBD.bd2.LoPart);
901 OUTREG32(S3_SEC_BD_HIGH,psav->GlobalBD.bd2.HiPart);
912 SavagePtr psav = SAVPTR(pScrn);
937 if (psav->IsPrimary) {
941 } else if (psav->IsSecondary) {
982 if (!psav->bTiled) {
983 if (psav->IsPrimary) {
985 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
986 (psav->lDelta & 0x00001fff));
987 } else if (psav->IsSecondary) {
989 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
990 (psav->lDelta & 0x00001fff));
993 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
994 (psav->lDelta & 0x00001fff));
996 (((psav->lDelta * 2) << 16) & 0x3FFF0000) |
997 (psav->lDelta & 0x00001fff));
1001 if (psav->IsPrimary) {
1003 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1004 | 0x80000000 | (psav->lDelta & 0x00001fff));
1005 } else if (psav->IsSecondary) {
1007 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1008 | 0x80000000 | (psav->lDelta & 0x00001fff));
1011 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1012 | 0x80000000 | (psav->lDelta & 0x00001fff));
1014 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1015 | 0x80000000 | (psav->lDelta & 0x00001fff));
1019 if (psav->IsPrimary) {
1021 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1022 | 0xC0000000 | (psav->lDelta & 0x00001fff));
1023 } else if (psav->IsSecondary) {
1025 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1026 | 0xC0000000 | (psav->lDelta & 0x00001fff));
1029 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1030 | 0xC0000000 | (psav->lDelta & 0x00001fff));
1032 (((psav->lDelta * 2) << 16) & 0x3FFF0000)
1033 | 0xC0000000 | (psav->lDelta & 0x00001fff));
1038 if (psav->IsPrimary) {
1041 } else if (psav->IsSecondary) {
1054 if (!psav->IsSecondary)
1063 if (!psav->bTiled) {
1069 psav->GlobalBD.bd1.HighPart.ResBWTile = TILE_FORMAT_LINEAR;/* linear */
1073 psav->GlobalBD.bd1.HighPart.ResBWTile = tile16;/* tile format destination */
1076 if (psav->IsSecondary)
1082 psav->GlobalBD.bd1.HighPart.ResBWTile = tile32;/* tile format destination */
1085 if (psav->IsSecondary)
1091 psav->GlobalBD.bd1.HighPart.ResBWTile |= 0x10;/* disable block write */
1093 psav->GlobalBD.bd1.HighPart.Stride = (unsigned short)(psav->lDelta / (pScrn->bitsPerPixel >> 3));
1094 psav->GlobalBD.bd1.HighPart.Bpp = (unsigned char) (pScrn->bitsPerPixel);
1095 psav->GlobalBD.bd1.Offset = pScrn->fbOffset;
1106 if (!psav->IsSecondary) {
1108 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart );
1109 OUTREG32(S3_GLB_BD_HIGH,(psav->GlobalBD.bd2.HiPart
1111 OUTREG32(S3_PRI_BD_LOW,psav->GlobalBD.bd2.LoPart);
1112 OUTREG32(S3_PRI_BD_HIGH,psav->GlobalBD.bd2.HiPart);
1113 OUTREG32(S3_SEC_BD_LOW,psav->GlobalBD.bd2.LoPart);
1114 OUTREG32(S3_SEC_BD_HIGH,psav->GlobalBD.bd2.HiPart);
1125 SavagePtr psav = SAVPTR(pScrn);
1163 if (!psav->bTiled) {
1165 ((psav->lDelta << 4) & 0x7ff0));
1167 ((psav->lDelta << 4) & 0x7ff0));
1170 (0x80000000 |((psav->lDelta << 4) & 0x7ff0)));
1172 (0x80000000 |((psav->lDelta << 4) & 0x7ff0)));
1204 if (!psav->bTiled) {
1210 psav->GlobalBD.bd1.HighPart.ResBWTile = TILE_FORMAT_LINEAR;/* linear */
1214 psav->GlobalBD.bd1.HighPart.ResBWTile = tile16;/* tile format destination */
1222 psav->GlobalBD.bd1.HighPart.ResBWTile = tile32;/* tile format destination */
1230 psav->GlobalBD.bd1.HighPart.ResBWTile |= 0x10;/* disable block write */
1232 psav->GlobalBD.bd1.HighPart.Stride = (unsigned short)(psav->lDelta / (pScrn->bitsPerPixel >> 3));
1233 psav->GlobalBD.bd1.HighPart.Bpp = (unsigned char) (pScrn->bitsPerPixel);
1234 psav->GlobalBD.bd1.Offset = pScrn->fbOffset;
1246 OUTREG32(S3_GLB_BD_LOW,psav->GlobalBD.bd2.LoPart );
1247 OUTREG32(S3_GLB_BD_HIGH,(psav->GlobalBD.bd2.HiPart
1249 OUTREG32(S3_PRI_BD_LOW,psav->GlobalBD.bd2.LoPart);
1250 OUTREG32(S3_PRI_BD_HIGH,psav->GlobalBD.bd2.HiPart);
1251 OUTREG32(S3_SEC_BD_LOW,psav->GlobalBD.bd2.LoPart);
1252 OUTREG32(S3_SEC_BD_HIGH,psav->GlobalBD.bd2.HiPart);
1264 SavagePtr psav = SAVPTR(pScrn);
1266 psav->WaitIdleEmpty(psav);
1278 SavagePtr psav = SAVPTR(pScrn);
1281 if (psav->directRenderingEnabled) {
1282 SAVAGEDRIServerPrivatePtr pSAVAGEDRIServer = psav->DRIServerInfo;
1284 int widthBytes = psav->lDelta;
1290 tiledwidthBytes = psav->lDelta;
1329 /* pSAVAGEDRIServer->textureSize = psav->videoRambytes -
1333 pSAVAGEDRIServer->textureSize = psav->videoRambytes -
1335 psav->cobSize - /*COB*/
1343 psav->videoRambytes);
1355 if ( pSAVAGEDRIServer->textureSize < (int)psav->FbMapSize / 2 ) {
1356 pSAVAGEDRIServer->textureSize = psav->FbMapSize - 4 * bufferSize;
1363 if ( (int)psav->FbMapSize - maxlines * widthBytes - bufferSize * 2
1365 pSAVAGEDRIServer->textureSize = (psav->FbMapSize -
1384 pSAVAGEDRIServer->textureOffset = (psav->videoRambytes -
1386 psav->cobSize - /*COB*/
1417 if ((psav->Chipset == S3_TWISTER)
1418 || (psav->Chipset == S3_PROSAVAGE)
1419 || (psav->Chipset == S3_PROSAVAGEDDR)
1420 || (psav->Chipset == S3_SUPERSAVAGE)) {
1463 if((psav->videoRambytes < /*16*/(14*1024+512)*1024L) || psav->bDisableXvMC)
1465 psav->hwmcOffset = 0;
1466 psav->hwmcSize = 0;
1470 psav->hwmcSize = (10*1024+512)*1024; /* HWMC needs 10MB FB */
1471 psav->hwmcOffset = (psav->videoRambytes - 0x2000 - psav->hwmcSize) &
1473 if (psav->hwmcOffset < bufferSize) {
1475 psav->hwmcSize = 0;
1476 psav->hwmcOffset = 0;
1486 if (pSAVAGEDRIServer->backOffset < psav->hwmcOffset )
1487 psav->cyMemory = pSAVAGEDRIServer->backOffset / widthBytes - 1;
1489 psav->cyMemory = psav->hwmcOffset / widthBytes -1;
1492 psav->cyMemory = pSAVAGEDRIServer->backOffset / widthBytes - 1;
1493 if (psav->cyMemory > 0x7FFF) {
1494 psav->cyMemory = 0x7FFF;
1497 psav->EXAendfb = pSAVAGEDRIServer->backOffset & ~SAVAGE_BUFFER_ALIGN;
1518 if (psav->cyMemory > 0x7FFF) {
1519 psav->cyMemory = 0x7FFF;
1522 if (psav->IsPrimary) {
1523 psav->EXAendfb = psav->videoRambytes -
1527 psav->EXAendfb = psav->videoRambytes -
1529 psav->cobSize - /*COB*/
1535 if (psav->useEXA)
1573 SavagePtr psav = SAVPTR(gpScrn);
1581 SavagePtr psav = SAVPTR(gpScrn);
1588 SavagePtr psav = SAVPTR(gpScrn);
1589 char * videobuffer = (char *) psav->FBBase;
1596 SavagePtr psav = SAVPTR(gpScrn);
1597 char * videobuffer = (char *) psav->FBBase;
1605 SavagePtr psav = SAVPTR(gpScrn);
1607 char * videobuffer = (char *)psav->FBBase;