Package: xserver-xfree86 Version: 4.2.1-11 Severity: important Tags: upstream, patch
Note to self: after this gets a bug number, set the submitter to Mr. Winischhofer. ----- Forwarded message from Thomas Winischhofer <[EMAIL PROTECTED]> ----- From: Thomas Winischhofer <[EMAIL PROTECTED]> To: [email protected] Subject: 4.3 strongly desired wishlist item (XAA fix) Date: Tue, 02 Sep 2003 23:51:03 +0200 Message-ID: <[EMAIL PROTECTED]> X-Mailing-List: <[email protected]> archive/latest/10034 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030827 Debian/1.4-3 X-Spam-Status: No, hits=-0.6 required=4.0 tests=PATCH_UNIFIED_DIFF,USER_AGENT_MOZILLA_UA,X_ACCEPT_LANG version=2.55-lists.debian.org_2003_08_30 2 weeks ago a fix for the pixmap cache was committed to CVS HEAD, with the following short description: 376. Fix an XAA pixmap cache server crash that can happen in some cases when the off-screen memory is heavily fragmented (David Dawes, based on #5752, Koike Kazuhiko, Chisato Yamauchi). Summarized explanation: In some sitations, if memory is fragemented in a certain way (not neccessarily "heavily"), it can happen that the pixmap cache reserves a number of 512x512 slots, no 256x256 slots, and a few 128x128 slots. The cache functions cannot deal with this, and send a null pointer to XAATileCache(), causing calls to driver accelerator functions with illegal coordinates. In most of the cases, this leads to a complete machine freeze. Since I experienced this crash frequently lately (due to implementation of RENDER acceleration into the SiS driver), I would kindly ask the folks packaging XFree86 for Debian to include the attached short patch. Thanks, Thomas -- Thomas Winischhofer Vienna/Austria thomas AT winischhofer DOT net http://www.winischhofer.net/ twini AT xfree86 DOT org diff -I.*$XFree86.*$ -I.*$Id.*$ -I.*$XConsortium.*$ -I.*$Xorg.*$ -U1 -r1.30 -r1.31 --- programs/Xserver/hw/xfree86/xaa/xaaPCache.c 25 Sep 2000 23:56:14 -0000 1.30 +++ programs/Xserver/hw/xfree86/xaa/xaaPCache.c 16 Aug 2003 01:11:40 -0000 1.31 @@ -765,2 +765,3 @@ 3) Don't make more than MAX_512. + 4) Don't have any of there are no 256x256s. @@ -787,2 +788,9 @@ if(Target256 < 4) Target256 = 0; + + if(Num512 && Num256 < 4) { + while(Num512 && Num256 < Target256) { + SubdivideList(&List512, &List256); + Num256 += 4; Num512--; + } + } ----- End forwarded message ----- -- G. Branden Robinson | Somebody once asked me if I thought Debian GNU/Linux | sex was dirty. I said, "It is if [EMAIL PROTECTED] | you're doing it right." http://people.debian.org/~branden/ | -- Woody Allen
pgpENCl5nLC64.pgp
Description: PGP signature

