Derrik Pates wrote:

> I finally determined why it is that the XFree Rage128 driver always gets
> the wrong framebuffer row width. In XFree 4.1.0's source, in
> xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c, lines 1105 to
> 1118 call XF86ValidateModes with a minPitch of 8 * 64 (512) and a max
> pitch of 8 * 1024 (8192). The default pitch increment value is 64 *
> pScrn->bitsPerPixel, such that the row width is ALWAYS a multiple of 64.


I've confirmed that this fixes the problems with 800x600 mode on my 
iBook2 and attached it as a patch. Can somebody please apply this (or 
come up with an argument as to why it's wrong)?

-- 
Adrian Cox   http://www.humboldt.co.uk/
--- xc410/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c Tue May 29 23:51:08 
2001
+++ /tmp/r128_driver.c  Tue Dec  4 10:18:18 2001
@@ -1109,7 +1109,7 @@
                                   NULL,        /* linePitches */
                                   8 * 64,      /* minPitch */
                                   8 * 1024,    /* maxPitch */
-                                  64 * pScrn->bitsPerPixel, /* pitchInc */
+                                  16 * pScrn->bitsPerPixel, /* pitchInc */
                                   128,         /* minHeight */
                                   2048,        /* maxHeight */
                                   pScrn->display->virtualX,

Reply via email to