> > Garbage in Mozilla still remains when acceleration is turned on - what > > other XAA bits should I look over? > > Not sure, read XAA.HOWTO if you haven't already.
Will do. > > Now the remanining problem is the garbage in lower part of the screen - > > any ideas about that? It's there even with NoAccel and changing too. > > Changing what? Have you tried the modifications I suggested for the > framebuffer aperture? I suspect that the pixmap cache is at the end of video RAM and I'm running into it with framebuffer - but I'm not sure. The current patch is like this: Index: s3v_accel.c =================================================================== RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_accel.c,v retrieving revision 1.23 diff -u -r1.23 s3v_accel.c --- s3v_accel.c 2001/12/13 18:01:50 1.23 +++ s3v_accel.c 2003/01/22 07:55:54 @@ -128,7 +128,11 @@ infoPtr->Mono8x8PatternFillFlags = NO_TRANSPARENCY | HARDWARE_PATTERN_PROGRAMMED_BITS | HARDWARE_PATTERN_SCREEN_ORIGIN | +#if X_BYTE_ORDER==X_BIG_ENDIAN + BIT_ORDER_IN_BYTE_LSBFIRST; +#else BIT_ORDER_IN_BYTE_MSBFIRST; +#endif #ifndef __alpha__ @@ -144,7 +148,11 @@ infoPtr->CPUToScreenColorExpandFillFlags = ROP_NEEDS_SOURCE | CPU_TRANSFER_PAD_DWORD | SCANLINE_PAD_DWORD | +#if X_BYTE_ORDER==X_BIG_ENDIAN + BIT_ORDER_IN_BYTE_LSBFIRST | +#else BIT_ORDER_IN_BYTE_MSBFIRST | +#endif LEFT_EDGE_CLIPPING; if(ps3v->AccelFlags & MONO_TRANS_BUG) Index: s3v_driver.c =================================================================== RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c,v retrieving revision 1.85 diff -u -r1.85 s3v_driver.c --- s3v_driver.c 2003/01/12 03:55:48 1.85 +++ s3v_driver.c 2003/01/22 07:56:16 @@ -2395,10 +2395,17 @@ "Internal error: could not map registers.\n"); return FALSE; } + + pScrn->memPhysBase = ps3v->PciInfo->memBase[0]; + +#if X_BYTE_ORDER==X_BIG_ENDIAN + pScrn->memPhysBase += 32*1024*1024; /* bigendian aperture is at 32M */ +#endif + /* Map the framebuffer */ if (ps3v->videoRambytes) { /* not set in PreInit() */ ps3v->FBBase = xf86MapPciMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER, - ps3v->PciTag, ps3v->PciInfo->memBase[0], + ps3v->PciTag, pScrn->memPhysBase, ps3v->videoRambytes ); if( !ps3v->FBBase ) { @@ -2411,7 +2418,6 @@ ps3v->FBStart = ps3v->FBBase; } - pScrn->memPhysBase = ps3v->PciInfo->memBase[0]; pScrn->fbOffset = 0; /* Set up offset to hwcursor memory area */ @@ -2884,6 +2890,10 @@ new->CR31 = 0x8c; /* Dis. 64k window, en. ENH maps */ } +#if X_BYTE_ORDER==X_BIG_ENDIAN + new->CR53 |= 0x2; /* 2 - word swap */ +#endif + /* Enables S3D graphic engine and PCI disconnects */ if(ps3v->Chipset == S3_ViRGE_VX){ new->CR66 = 0x90; @@ -2958,7 +2968,12 @@ new->CR45 = 0x00; /* Enable MMIO to RAMDAC registers */ new->CR65 = 0x00; /* CR65_2 must be zero, doc seems to be wrong */ + +#if X_BYTE_ORDER==X_BIG_ENDIAN + new->CR54 = 0x43; /* 0x20 is OK */ +#else new->CR54 = 0x00; +#endif if ( S3_ViRGE_GX2_SERIES(ps3v->Chipset) || /* S3_ViRGE_MX_SERIES(ps3v->Chipset) || CR40 reserved on MX */ -- Meelis Roos ([EMAIL PROTECTED]) _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel