diff options
Diffstat (limited to 'src/atiaccel.c')
-rw-r--r-- | src/atiaccel.c | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/src/atiaccel.c b/src/atiaccel.c deleted file mode 100644 index 04edd30..0000000 --- a/src/atiaccel.c +++ /dev/null @@ -1,142 +0,0 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atiaccel.c,v 1.13 2003/04/24 21:19:22 tsi Exp $ */ -/* - * Copyright 2001 through 2003 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that copyright - * notice and this permission notice appear in supporting documentation, and - * that the name of Marc Aurele La France not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. Marc Aurele La France makes no representations - * about the suitability of this software for any purpose. It is provided - * "as-is" without express or implied warranty. - * - * MARC AURELE LA FRANCE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO - * EVENT SHALL MARC AURELE LA FRANCE BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - * - * DRI support by: - * Leif Delgass <ldelgass@retinalburn.net> - */ - -#include "atiaccel.h" -#include "atiadapter.h" -#include "atimach64accel.h" -#include "atistruct.h" - -/* - * ATIInitializeAcceleration -- - * - * This function is called to initialise both the framebuffer manager and XAA - * on a screen. - */ -Bool -ATIInitializeAcceleration -( - ScreenPtr pScreen, - ScrnInfoPtr pScreenInfo, - ATIPtr pATI -) -{ - int maxScanlines = 32767, maxPixelArea, PixelArea; - - if (pATI->OptionAccel) - { - if (!(pATI->pXAAInfo = XAACreateInfoRec())) - return FALSE; - - switch (pATI->Adapter) - { - case ATI_ADAPTER_MACH64: - maxScanlines = ATIMach64AccelInit(pATI, pATI->pXAAInfo); - break; - - default: - break; - } - } - -#ifndef AVOID_CPIO - - if (!pATI->BankInfo.BankSize) - -#endif /* AVOID_CPIO */ - -#ifdef XF86DRI - - /* If DRI is enabled, we've already set up the FB manager in ATIScreenInit */ - if (!pATI->directRenderingEnabled) - -#endif /* XF86DRI */ - { - /* - * Note: If PixelArea exceeds the engine's maximum, the excess is - * never used, even though it would be useful for such things - * as XVideo buffers. - */ - maxPixelArea = maxScanlines * pScreenInfo->displayWidth; - PixelArea = pScreenInfo->videoRam * 1024 * 8 / pATI->bitsPerPixel; - if (PixelArea > maxPixelArea) - PixelArea = maxPixelArea; - xf86InitFBManagerArea(pScreen, PixelArea, 2); - } - - if (!pATI->OptionAccel || XAAInit(pScreen, pATI->pXAAInfo)) - return TRUE; - - XAADestroyInfoRec(pATI->pXAAInfo); - pATI->pXAAInfo = NULL; - return FALSE; -} - -FBLinearPtr -ATIResizeOffscreenLinear -( - ScreenPtr pScreen, - FBLinearPtr pLinear, - int Size -) -{ - if (Size <= 0) - { - xf86FreeOffscreenLinear(pLinear); - return NULL; - } - - if (pLinear) - { - if ((pLinear->size >= Size) || - xf86ResizeOffscreenLinear(pLinear, Size)) - { - pLinear->MoveLinearCallback = NULL; - pLinear->RemoveLinearCallback = NULL; - return pLinear; - } - - xf86FreeOffscreenLinear(pLinear); - } - - pLinear = xf86AllocateOffscreenLinear(pScreen, Size, 16, NULL, NULL, NULL); - - if (!pLinear) - { - int maxSize; - - xf86QueryLargestOffscreenLinear(pScreen, &maxSize, 16, - PRIORITY_EXTREME); - - if (maxSize < Size) - return NULL; - - xf86PurgeUnlockedOffscreenAreas(pScreen); - pLinear = - xf86AllocateOffscreenLinear(pScreen, Size, 16, NULL, NULL, NULL); - } - - return pLinear; -} |