Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c,v retrieving revision 1.16 diff -p -u -r1.16 radeon_render.c --- programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c 11 Sep 2005 20:58:53 -0000 1.16 +++ programs/Xserver/hw/xfree86/drivers/ati/radeon_render.c 8 Nov 2005 16:11:54 -0000 @@ -281,11 +281,17 @@ AllocateLinear ( ScrnInfoPtr pScrn, int sizeNeeded ){ - RADEONInfoPtr info = RADEONPTR(pScrn); + RADEONInfoPtr info = RADEONPTR(pScrn); + int cpp = info->CurrentLayout.bitsPerPixel / 8; info->RenderTimeout = currentTime.milliseconds + 30000; info->RenderCallback = RenderCallback; + /* XAA allocates in units of pixels at the screen bpp, so adjust size + * appropriately. + */ + sizeNeeded = (sizeNeeded + cpp - 1) / cpp; + if (info->RenderTex) { if (info->RenderTex->size >= sizeNeeded) return TRUE;