File xf86-video-mga-commit-2388c4d.diff of Package xorg-x11-driver-video
commit 2388c4d512554258bce2b78c8f8aa1151b161c3e
Author: Yannick Heneault <yheneaul@matrox.com>
Date: Tue Apr 21 09:51:34 2009 -0400
Force pitch of 1024 for G200SE Pilot1 when edid is used as modeline.
diff --git a/src/mga_driver.c b/src/mga_driver.c
index 7c67405..7ed5c27 100644
--- a/src/mga_driver.c
+++ b/src/mga_driver.c
@@ -2638,9 +2638,13 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags)
case PCI_CHIP_MGAG100_PCI:
maxPitch = 2048;
break;
+ case PCI_CHIP_MGAG200_SE_A_PCI:
+ if (pScrn->videoRam < 2048){
+ maxPitch = 1024;
+ }
+ break;
case PCI_CHIP_MGAG200:
case PCI_CHIP_MGAG200_PCI:
- case PCI_CHIP_MGAG200_SE_A_PCI:
case PCI_CHIP_MGAG200_SE_B_PCI:
case PCI_CHIP_MGAG200_WINBOND_PCI:
case PCI_CHIP_MGAG200_EV_PCI:
@@ -2664,6 +2668,10 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags)
xfree(linePitches);
}
+ /* Some X compute displayWidth from inferred virtual without
+ checking pitch limit. */
+ if(pMga->Chipset == PCI_CHIP_MGAG200_SE_A_PCI && pScrn->videoRam < 2048)
+ pScrn->displayWidth = 1024;
if (i < 1 && pMga->FBDev) {
fbdevHWUseBuildinMode(pScrn);