亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? aticonfig.c

?? x.org上有關ati系列顯卡最新驅動
?? C
字號:
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/aticonfig.c,v 1.15tsi Exp $*//* * Copyright 2000 through 2004 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> */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <string.h>#include "ati.h"#include "atiadapter.h"#include "atichip.h"#include "aticonfig.h"#include "aticursor.h"#include "atioption.h"#include "atistruct.h"#include "mach64_common.h"/* * Non-publicised XF86Config options. */typedef enum{    ATI_OPTION_BIOS_DISPLAY,    /* Allow BIOS interference */    ATI_OPTION_CRT_SCREEN,      /* Legacy negation of "PanelDisplay" */    ATI_OPTION_DEVEL,           /* Intentionally undocumented */    ATI_OPTION_BLEND,           /* Force horizontal blending of small modes */    ATI_OPTION_LCDSYNC          /* Use XF86Config panel mode porches */} ATIPrivateOptionType;/* * ATIProcessOptions -- * * This function extracts options from what was parsed out of the XF86Config * file. */voidATIProcessOptions(    ScrnInfoPtr pScreenInfo,    ATIPtr      pATI){    OptionInfoPtr PublicOption = xnfalloc(ATIPublicOptionSize);    OptionInfoRec PrivateOption[] =    {        {                       /* ON:  Let BIOS change display(s) */            ATI_OPTION_BIOS_DISPLAY,    /* OFF:  Don't */            "biosdisplay",            OPTV_BOOLEAN,            {0, },            FALSE        },        {                       /* Negation of "PanelDisplay" public option */            ATI_OPTION_CRT_SCREEN,            "crtscreen",            OPTV_BOOLEAN,            {0, },            FALSE        },        {                       /* ON:   Ease exploration of loose ends */            ATI_OPTION_DEVEL,   /* OFF:  Fit for public consumption */            "tsi",            OPTV_BOOLEAN,            {0, },            FALSE        },        {                       /* ON:   Horizontally blend most modes */            ATI_OPTION_BLEND,   /* OFF:  Use pixel replication more often */            "lcdblend",            OPTV_BOOLEAN,            {0, },            FALSE        },        {                       /* ON:   Use XF86Config porch timings */            ATI_OPTION_LCDSYNC, /* OFF:  Use porches from mode on entry */            "lcdsync",            OPTV_BOOLEAN,            {0, },            FALSE        },        {            -1,            NULL,            OPTV_NONE,            {0, },            FALSE        }    };    (void)memcpy(PublicOption, ATIPublicOptions, ATIPublicOptionSize);#   define Accel         PublicOption[ATI_OPTION_ACCEL].value.bool#   define BIOSDisplay   PrivateOption[ATI_OPTION_BIOS_DISPLAY].value.bool#   define Blend         PrivateOption[ATI_OPTION_BLEND].value.bool#   define CRTDisplay    PublicOption[ATI_OPTION_CRT_DISPLAY].value.bool#   define CRTScreen     PrivateOption[ATI_OPTION_CRT_SCREEN].value.bool#   define CSync         PublicOption[ATI_OPTION_CSYNC].value.bool#   define Devel         PrivateOption[ATI_OPTION_DEVEL].value.bool#   define HWCursor      PublicOption[ATI_OPTION_HWCURSOR].value.bool#ifndef AVOID_CPIO#   define Linear        PublicOption[ATI_OPTION_LINEAR].value.bool#endif /* AVOID_CPIO */#ifdef XF86DRI_DEVEL#   define IsPCI       PublicOption[ATI_OPTION_IS_PCI].value.bool#   define DMAMode     PublicOption[ATI_OPTION_DMA_MODE].value.str#   define AGPMode     PublicOption[ATI_OPTION_AGP_MODE].value.num#   define AGPSize     PublicOption[ATI_OPTION_AGP_SIZE].value.num#   define LocalTex    PublicOption[ATI_OPTION_LOCAL_TEXTURES].value.bool#   define BufferSize  PublicOption[ATI_OPTION_BUFFER_SIZE].value.num#endif /* XF86DRI_DEVEL */#ifdef TV_OUT#   define TvOut        PublicOption[ATI_OPTION_TV_OUT].value.bool#   define TvStd        PublicOption[ATI_OPTION_TV_STD].value.str#endif /* TV_OUT */#   define CacheMMIO     PublicOption[ATI_OPTION_MMIO_CACHE].value.bool#   define TestCacheMMIO PublicOption[ATI_OPTION_TEST_MMIO_CACHE].value.bool#   define PanelDisplay  PublicOption[ATI_OPTION_PANEL_DISPLAY].value.bool#   define ProbeClocks   PublicOption[ATI_OPTION_PROBE_CLOCKS].value.bool#   define ShadowFB      PublicOption[ATI_OPTION_SHADOW_FB].value.bool#   define SWCursor      PublicOption[ATI_OPTION_SWCURSOR].value.bool#   define AccelMethod   PublicOption[ATI_OPTION_ACCELMETHOD].value.str#   define RenderAccel   PublicOption[ATI_OPTION_RENDER_ACCEL].value.bool#   define LCDSync       PrivateOption[ATI_OPTION_LCDSYNC].value.bool#   define ReferenceClock \        PublicOption[ATI_OPTION_REFERENCE_CLOCK].value.freq.freq    /* Pick up XF86Config options */    xf86CollectOptions(pScreenInfo, NULL);    /* Set non-zero defaults */#ifndef AVOID_CPIO    if (pATI->Adapter >= ATI_ADAPTER_MACH64)#endif /* AVOID_CPIO */    {        Accel = CacheMMIO = HWCursor = TRUE;#ifndef AVOID_CPIO        Linear = TRUE;#endif /* AVOID_CPIO */#ifdef TV_OUT	TvStd = "None";  /* No tv standard change requested */#endif    }    ReferenceClock = ((double)157500000.0) / ((double)11.0);#ifndef AVOID_CPIO    if (pATI->PCIInfo)#endif /* AVOID_CPIO */    {        ShadowFB = TRUE;    }    Blend = PanelDisplay = TRUE;#ifdef XF86DRI_DEVEL    DMAMode = "mmio";#endif    xf86ProcessOptions(pScreenInfo->scrnIndex, pScreenInfo->options,        PublicOption);    xf86ProcessOptions(pScreenInfo->scrnIndex, pScreenInfo->options,        PrivateOption);#ifndef AVOID_CPIO    /* Disable linear apertures if the OS doesn't support them */    if (!xf86LinearVidMem() && Linear)    {        if (PublicOption[ATI_OPTION_LINEAR].found)            xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,                "OS does not support linear apertures.\n");        Linear = FALSE;    }#endif /* AVOID_CPIO */    /* Move option values into driver private structure */    pATI->OptionAccel = Accel;    pATI->OptionBIOSDisplay = BIOSDisplay;    pATI->OptionBlend = Blend;    pATI->OptionCRTDisplay = CRTDisplay;    pATI->OptionCSync = CSync;    pATI->OptionDevel = Devel;#ifndef AVOID_CPIO    pATI->OptionLinear = Linear;#endif /* AVOID_CPIO */#ifdef TV_OUT    if (TvOut && pATI->Chip < ATI_CHIP_264GT) {       /* Only allow this for 3D Rage (I) or greater chip ID	* AFAIK, no chips before this supported TV-Out	* mach64VT has support for TV tuner, but no TV-Out	*/	xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,                "TV Out not supported for this chip.\n");    } else {	ATITVStandard std;	pATI->OptionTvOut = TvOut;	pATI->OptionTvStd = ATI_TV_STD_INVALID;	for (std = 0; std < ATI_TV_STDS_MAX_VALID; std++) {	    if (std != ATI_TV_STD_RESERVED1 && std != ATI_TV_STD_RESERVED2) {		if (strncasecmp(TvStd, ATITVStandardNames[std], ATI_TV_STDS_NAME_MAXLEN)==0) {		    pATI->OptionTvStd = std;		    break;		}	    }	}    }#endif /* TV_OUT */    pATI->OptionMMIOCache = CacheMMIO;    pATI->OptionTestMMIOCache = TestCacheMMIO;    pATI->OptionProbeClocks = ProbeClocks;    pATI->OptionShadowFB = ShadowFB;    pATI->OptionLCDSync = LCDSync;    /* "CRTScreen" is now "NoPanelDisplay" */    if ((PanelDisplay != CRTScreen) ||        PublicOption[ATI_OPTION_PANEL_DISPLAY].found)        pATI->OptionPanelDisplay = PanelDisplay;    else        pATI->OptionPanelDisplay = !CRTScreen;#ifdef XF86DRI_DEVEL    pATI->OptionIsPCI = IsPCI;    pATI->OptionAGPMode = AGPMode;    pATI->OptionAGPSize = AGPSize;    pATI->OptionLocalTextures = LocalTex;    pATI->OptionBufferSize = BufferSize;    if (strcasecmp(DMAMode, "async")==0)        pATI->OptionDMAMode = MACH64_MODE_DMA_ASYNC;    else if (strcasecmp(DMAMode, "sync")==0)        pATI->OptionDMAMode = MACH64_MODE_DMA_SYNC;    else if (strcasecmp(DMAMode, "mmio")==0 )        pATI->OptionDMAMode = MACH64_MODE_MMIO;    else {        xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,		   "Unkown dma_mode: '%s'\n", DMAMode);	xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING, 		   "Valid dma_mode options are: 'async','sync','mmio'\n");        xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING, 		   "Defaulting to async DMA mode\n");	pATI->OptionDMAMode = MACH64_MODE_DMA_ASYNC;    }#endif /* XF86DRI_DEVEL */    /* Validate and set cursor options */    pATI->Cursor = ATI_CURSOR_SOFTWARE;    if (SWCursor || !HWCursor)    {        if (HWCursor && PublicOption[ATI_OPTION_HWCURSOR].found)            xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,                "Option \"sw_cursor\" overrides Option \"hw_cursor\".\n");    }    else if (pATI->Chip < ATI_CHIP_264CT)    {        if (HWCursor && PublicOption[ATI_OPTION_HWCURSOR].found)            xf86DrvMsg(pScreenInfo->scrnIndex, X_WARNING,                "Option \"hw_cursor\" not supported in this configuration.\n");    }    else    {        pATI->Cursor = ATI_CURSOR_HARDWARE;    }    /* Only set the reference clock if it hasn't already been determined */    if (!pATI->ReferenceNumerator || !pATI->ReferenceDenominator)    {        switch ((int)(ReferenceClock / ((double)100000.0)))        {            case 143:                pATI->ReferenceNumerator = 157500;                pATI->ReferenceDenominator = 11;                break;            case 286:                pATI->ReferenceNumerator = 315000;                pATI->ReferenceDenominator = 11;                break;            default:                pATI->ReferenceNumerator =                    (int)(ReferenceClock / ((double)1000.0));                pATI->ReferenceDenominator = 1;                break;        }    }    pATI->useEXA = FALSE;    if (pATI->OptionAccel)    {        MessageType from = X_DEFAULT;#if defined(USE_EXA)#if defined(USE_XAA)        if (AccelMethod != NULL)        {            from = X_CONFIG;            if (xf86NameCmp(AccelMethod, "EXA") == 0)                pATI->useEXA = TRUE;        }#else /* USE_XAA */        pATI->useEXA = TRUE;#endif /* !USE_XAA */#endif /* USE_EXA */        xf86DrvMsg(pScreenInfo->scrnIndex, from,            "Using %s acceleration architecture\n",            pATI->useEXA ? "EXA" : "XAA");        pATI->RenderAccelEnabled = FALSE;#if defined(USE_EXA)        if (pATI->useEXA && RenderAccel)            pATI->RenderAccelEnabled = TRUE;#endif    }    xfree(PublicOption);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区综合| proumb性欧美在线观看| 欧美草草影院在线视频| 久久国产麻豆精品| 成人欧美一区二区三区视频网页 | 99re在线精品| 日韩精品91亚洲二区在线观看 | 91影视在线播放| 日韩专区一卡二卡| 日本一区二区三区免费乱视频 | 日本高清不卡一区| 亚洲伊人色欲综合网| 精品欧美乱码久久久久久1区2区 | 精品一区二区在线播放| 亚洲青青青在线视频| 精品免费国产二区三区| 在线视频你懂得一区| 九九视频精品免费| 日韩高清在线观看| 亚洲成a人片在线不卡一二三区| 久久婷婷成人综合色| 日韩亚洲欧美一区二区三区| 色哟哟亚洲精品| 久久九九99视频| 老司机免费视频一区二区三区| 亚洲精品国久久99热| 久久综合色鬼综合色| 久久影院午夜论| 久久精品一区二区| 欧美—级在线免费片| 国产三级三级三级精品8ⅰ区| 精品国产伦一区二区三区观看方式 | 日本视频一区二区三区| 丝袜美腿亚洲综合| 国产一区二区三区久久悠悠色av| 蜜桃视频一区二区三区在线观看| 日韩综合小视频| 久久超碰97人人做人人爱| 国内外精品视频| 99re这里只有精品首页| 欧美视频在线观看一区二区| 91精品国产综合久久小美女| 欧美成人一区二区三区片免费| 国产清纯白嫩初高生在线观看91 | 亚洲人成网站色在线观看| 亚洲国产视频直播| 国产精品白丝jk黑袜喷水| av网站免费线看精品| 欧美日本在线观看| 国产精品激情偷乱一区二区∴| 一区二区三区91| 国产福利精品一区二区| 欧美日韩国产欧美日美国产精品| 欧美精品一区二区久久婷婷| 亚洲综合视频在线观看| 国产suv精品一区二区三区 | 欧美福利一区二区| 日韩理论电影院| 高清视频一区二区| 欧美电影一区二区三区| 国产精品日韩精品欧美在线| 另类的小说在线视频另类成人小视频在线 | 不卡在线视频中文字幕| 久久综合色之久久综合| 极品少妇xxxx精品少妇偷拍| 欧美一级艳片视频免费观看| 亚洲一二三级电影| 欧美精品日韩精品| 日韩影院在线观看| 欧美一区午夜精品| 免费观看一级欧美片| 精品国产制服丝袜高跟| 久热成人在线视频| 久久人人97超碰com| 国产精品亚洲а∨天堂免在线| 久久久国产精品不卡| 国产成人精品免费在线| 国产精品麻豆欧美日韩ww| 99久久精品情趣| 日韩精品1区2区3区| 欧美一区二区免费视频| 国产麻豆精品久久一二三| 亚洲国产精品二十页| 9人人澡人人爽人人精品| 亚洲电影一区二区| 国产亚洲欧美日韩日本| 欧美优质美女网站| 国产成人精品在线看| 亚洲国产精品一区二区www| 日韩欧美一区在线| 白白色亚洲国产精品| 日本视频在线一区| 亚洲精品国产精华液| 久久欧美一区二区| 欧美三级视频在线观看| 成人av电影观看| 国产精品一区二区久久不卡| 亚洲午夜久久久久久久久电影网 | 亚洲在线视频网站| 国产精品美女久久久久久久| 欧美mv日韩mv国产网站| 欧美日韩国产综合一区二区| 91美女在线观看| 成人精品电影在线观看| 国产91精品露脸国语对白| 美女www一区二区| 看电视剧不卡顿的网站| 日韩影院精彩在线| 另类成人小视频在线| 亚洲一区二区三区在线| 亚洲欧美激情插| 亚洲激情图片一区| 亚洲午夜激情网站| 天堂一区二区在线| 老司机免费视频一区二区三区| 另类人妖一区二区av| 国产精品资源在线看| av成人动漫在线观看| 欧美性一级生活| 日韩一级片在线播放| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧美日韩中文精品| 欧美一级免费大片| 久久亚洲春色中文字幕久久久| 久久精品男人天堂av| 亚洲国产一区在线观看| 精彩视频一区二区| 成人午夜电影小说| 欧美日韩国产大片| 国产农村妇女毛片精品久久麻豆| 国产精品高潮久久久久无| 日本亚洲欧美天堂免费| 91亚洲国产成人精品一区二三 | 国内成人免费视频| 欧美亚男人的天堂| 国产精品久久精品日日| 久久精品国产免费| 欧美三级乱人伦电影| 国产精品视频免费看| 日韩国产在线一| 国产成人自拍在线| 日韩中文字幕亚洲一区二区va在线| 亚洲三级在线播放| 久久99国产精品麻豆| 欧美日本乱大交xxxxx| 亚洲日本一区二区三区| 国产一区二区剧情av在线| 欧美久久久久久久久中文字幕| 亚洲天堂免费在线观看视频| 国产suv精品一区二区三区| 26uuu国产在线精品一区二区| 天天av天天翘天天综合网色鬼国产| 99国内精品久久| 中文字幕中文字幕在线一区| 成人app网站| 专区另类欧美日韩| 欧美在线三级电影| 污片在线观看一区二区| 欧洲av一区二区嗯嗯嗯啊| 亚洲欧美日韩综合aⅴ视频| 色欧美乱欧美15图片| 亚洲成人免费看| 久久网站最新地址| www.日韩av| 免费成人你懂的| 日本一区免费视频| 欧美日本在线视频| 国产福利一区二区| 婷婷国产v国产偷v亚洲高清| 精品乱人伦小说| 在线一区二区视频| 久久国产福利国产秒拍| 亚洲免费观看高清完整| 91精品国产入口在线| 99re66热这里只有精品3直播 | 日韩欧美精品在线| 94色蜜桃网一区二区三区| 麻豆视频一区二区| 一区二区在线观看视频| 中文字幕va一区二区三区| 欧美群妇大交群的观看方式| eeuss国产一区二区三区| 蜜臀av一区二区三区| 五月婷婷色综合| 一区二区三区四区精品在线视频| 日韩一区二区麻豆国产| 91在线视频免费91| caoporn国产精品| 成人免费高清在线观看| 狠狠狠色丁香婷婷综合久久五月| 午夜不卡在线视频| 亚洲香蕉伊在人在线观| 一区二区三区欧美亚洲| 国产精品二三区| 国产精品夫妻自拍| 一区二区三区在线观看网站| 亚洲人成人一区二区在线观看 | 国产精品久久久久毛片软件| 精品国产免费一区二区三区四区| 91精品欧美福利在线观看|