https://bugzilla.novell.com/show_bug.cgi?id=204324 ------- Comment #31 from sndirsch@novell.com 2006-09-13 06:27 MST ------- Well, the X Server is crashing in memcpy() in the new optimization code for fbBlt(): --- programs/Xserver/fb/fbblt.c 2005-11-29 12:29:07.000000000 +0100 +++ ../git/xserver/fb/fbblt.c 2006-08-15 11:53:39.000000000 +0200 @@ -21,12 +21,12 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/fb/fbblt.c,v 1.7 2000/09/22 05:58:01 keithp Ex p $ */ #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif +#include <string.h> #include "fb.h" #define InitializeShifts(sx,dx,ls,rs) { \ @@ -77,6 +77,29 @@ fbBlt (FbBits *srcLine, return; } #endif + + if (alu == GXcopy && pm == FB_ALLONES && !reverse && + !(srcX & 7) && !(dstX & 7) && !(width & 7)) { + int i; + CARD8 *src = (CARD8 *) srcLine; + CARD8 *dst = (CARD8 *) dstLine; + + srcStride *= sizeof(FbBits); + dstStride *= sizeof(FbBits); + width >>= 3; + src += (srcX >> 3); + dst += (dstX >> 3); + + if (!upsidedown) + for (i = 0; i < height; i++) + memcpy(dst + i * dstStride, src + i * srcStride, width); + else + for (i = height - 1; i >= 0; i--) + memcpy(dst + i * dstStride, src + i * srcStride, width); + + return; + } + FbInitializeMergeRop(alu, pm); destInvarient = FbDestInvarientMergeRop(); if (upsidedown) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.