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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? atirgb514.c

?? x.org上有關(guān)ati系列顯卡最新驅(qū)動(dòng)
?? C
字號:
/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/atirgb514.c,v 1.4 2003/01/01 19:16:34 tsi Exp $ *//* * Copyright 2001 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. */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include "ati.h"#include "aticrtc.h"#include "atimach64io.h"#include "atirgb514.h"/* * ATIRGB514PreInit -- * * This function fills in the IBM RGB 514 portion of an ATIHWRec that is common * to all video modes generated by the server. */voidATIRGB514PreInit(    ATIPtr   pATI,    ATIHWPtr pATIHW){    /* Get a work copy of IBM RGB 514 registers */    ATIRGB514Save(pATI, pATIHW);    /* Miscellaneous Clock Control */    pATIHW->ibmrgb514[0x0002U] = 0x01U;    /* Sync Control */    pATIHW->ibmrgb514[0x0003U] &= ~0x80U;    /* Horizontal Sync Control */    pATIHW->ibmrgb514[0x0004U] = 0x00U;    /* Power Management */    pATIHW->ibmrgb514[0x0005U] = 0x00U;    /* DAC Operation */    pATIHW->ibmrgb514[0x0006U] &= ~0x04U;    /* Palette Control */    pATIHW->ibmrgb514[0x0007U] = 0x00U;    /* PLL Control */    pATIHW->ibmrgb514[0x0010U] = 0x01U;    /* Cursor control */    pATIHW->ibmrgb514[0x0030U] &= ~0x03U;       /* For now */    /* Border (i.e. overscan) */    pATIHW->ibmrgb514[0x0060U] = 0x00U;    pATIHW->ibmrgb514[0x0061U] = 0x00U;    pATIHW->ibmrgb514[0x0062U] = 0x00U;    /* Miscellaneous Control */    pATIHW->ibmrgb514[0x0070U] &= ~0x20U;    pATIHW->ibmrgb514[0x0071U] = 0x41U; /* See workaround in ATIRGB514Set() */#ifndef AVOID_CPIO    if (pATIHW->crtc == ATI_CRTC_VGA)    {        /* Pixel Format */        pATIHW->ibmrgb514[0x000AU] = 0x03U;        /* Miscellaneous Control */        pATIHW->ibmrgb514[0x0070U] |= 0x40U;        /* VRAM Mask */        pATIHW->ibmrgb514[0x0090U] = 0x03U;    }    else#endif /* AVOID_CPIO */    {        /* Miscellaneous Control */        pATIHW->ibmrgb514[0x0070U] &= ~0x40U;        /* VRAM Mask */        pATIHW->ibmrgb514[0x0090U] = 0x00U;        pATIHW->ibmrgb514[0x0091U] = 0x00U;        /* Pixel Format */        switch (pATI->depth)        {            case 8:                pATIHW->ibmrgb514[0x000AU] = 0x03U;                pATIHW->ibmrgb514[0x000BU] = 0x00U;                break;            case 15:                pATIHW->ibmrgb514[0x000AU] = 0x04U;                pATIHW->ibmrgb514[0x000CU] = 0xC4U;                break;            case 16:                pATIHW->ibmrgb514[0x000AU] = 0x04U;                pATIHW->ibmrgb514[0x000CU] = 0xC6U;                break;            case 24:                if (pATI->bitsPerPixel == 24)                {                    pATIHW->ibmrgb514[0x000AU] = 0x05U;                    pATIHW->ibmrgb514[0x000DU] = 0x01U;                }                else                {                    pATIHW->ibmrgb514[0x000AU] = 0x06U;                    pATIHW->ibmrgb514[0x000EU] = 0x03U;                }                break;            default:                break;        }    }    if (pATI->rgbBits == 8)        pATIHW->ibmrgb514[0x0071U] |= 0x04U;}/* * ATIRGB514Save -- * * This function saves IBM RGB514 related data into an ATIHWRec. */voidATIRGB514Save(    ATIPtr   pATI,    ATIHWPtr pATIHW){    CARD32 crtc_gen_cntl, dac_cntl;    CARD8  index_lo, index_hi, index_ctl;    int    Index;    /* Temporarily switch to Mach64 CRTC */    crtc_gen_cntl = inr(CRTC_GEN_CNTL);    if (!(crtc_gen_cntl & CRTC_EXT_DISP_EN))        outr(CRTC_GEN_CNTL, crtc_gen_cntl | CRTC_EXT_DISP_EN);    /* Temporarily switch to IBM RGB 514 registers */    dac_cntl = inr(DAC_CNTL) & ~(DAC_EXT_SEL_RS2 | DAC_EXT_SEL_RS3);    outr(DAC_CNTL, dac_cntl | DAC_EXT_SEL_RS2);    index_lo = in8(M64_DAC_WRITE);    index_hi = in8(M64_DAC_DATA);    index_ctl = in8(M64_DAC_READ);    out8(M64_DAC_WRITE, 0x00U);    out8(M64_DAC_DATA, 0x00U);    out8(M64_DAC_READ, 0x01U);  /* Auto-increment */    /* Save IBM RGB 514 registers */    for (Index = 0;  Index < NumberOf(pATIHW->ibmrgb514);  Index++)    {        /* Need to rewrite the index every so often... */        if ((Index == 0x0100) || (Index == 0x0500))        {            out8(M64_DAC_WRITE, 0);            out8(M64_DAC_DATA, Index >> 8);        }        pATIHW->ibmrgb514[Index] = in8(M64_DAC_MASK);    }    /* Restore registers */    out8(M64_DAC_WRITE, index_lo);    out8(M64_DAC_DATA, index_hi);    out8(M64_DAC_READ, index_ctl);    outr(DAC_CNTL, dac_cntl);    if (!(crtc_gen_cntl & CRTC_EXT_DISP_EN))        outr(CRTC_GEN_CNTL, crtc_gen_cntl);}/* * ATIRGB514Calculate -- * * This function fills in the IBM RGB 514 portion of an ATIHWRec that is * specific to a display mode.  pATIHW->ibmrgb514 has already been * initialised by a previous call to ATIRGB514PreInit(). */voidATIRGB514Calculate(    ATIPtr         pATI,    ATIHWPtr       pATIHW,    DisplayModePtr pMode){    if (pATI->OptionCSync || (pMode->Flags & (V_CSYNC | V_PCSYNC)))        pATIHW->ibmrgb514[0x0006U] |= 0x08U;    else        pATIHW->ibmrgb514[0x0006U] &= ~0x08U;    if (pMode->Flags & V_INTERLACE)        pATIHW->ibmrgb514[0x0071U] |= 0x20U;    else        pATIHW->ibmrgb514[0x0071U] &= ~0x20U;}/* * ATIRGB514Set -- * * This function is called to set an IBM RGB514's registers. */voidATIRGB514Set(    ATIPtr   pATI,    ATIHWPtr pATIHW){    CARD32 crtc_gen_cntl, dac_cntl;    CARD8  index_lo, index_hi, index_ctl;    int    Index;    /* Temporarily switch to Mach64 CRTC */    crtc_gen_cntl = inr(CRTC_GEN_CNTL);    if (!(crtc_gen_cntl & CRTC_EXT_DISP_EN))        outr(CRTC_GEN_CNTL, crtc_gen_cntl | CRTC_EXT_DISP_EN);    /* Temporarily switch to IBM RGB 514 registers */    dac_cntl = inr(DAC_CNTL) & ~(DAC_EXT_SEL_RS2 | DAC_EXT_SEL_RS3);    outr(DAC_CNTL, dac_cntl | DAC_EXT_SEL_RS2);    index_lo = in8(M64_DAC_WRITE);    index_hi = in8(M64_DAC_DATA);    index_ctl = in8(M64_DAC_READ);    out8(M64_DAC_WRITE, 0x00U);    out8(M64_DAC_DATA, 0x00U);    out8(M64_DAC_READ, 0x01U);  /* Auto-increment */    /* Load IBM RGB 514 registers */    for (Index = 0;  Index < NumberOf(pATIHW->ibmrgb514);  Index++)         out8(M64_DAC_MASK, pATIHW->ibmrgb514[Index]);#ifndef AVOID_CPIO    /* Deal with documented anomaly */    if (pATIHW->crtc == ATI_CRTC_VGA)    {        /* Reset Miscellaneous Control 2 */        out8(M64_DAC_WRITE, 0x71U);        out8(M64_DAC_DATA, 0x00U);        out8(M64_DAC_MASK, pATIHW->ibmrgb514[0x0071U] & ~0x41U);    }#endif /* AVOID_CPIO */    /* Restore registers */    out8(M64_DAC_WRITE, index_lo);    out8(M64_DAC_DATA, index_hi);    out8(M64_DAC_READ, index_ctl);    outr(DAC_CNTL, dac_cntl);    if (!(crtc_gen_cntl & CRTC_EXT_DISP_EN))        outr(CRTC_GEN_CNTL, crtc_gen_cntl);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜免费久久看| 国产麻豆视频精品| 国产亚洲人成网站| 在线观看亚洲精品视频| 久久激情五月激情| 亚洲激情男女视频| 久久久久久久精| 在线电影一区二区三区| 99国产精品视频免费观看| 免费成人性网站| 亚洲欧美另类在线| 国产日产精品一区| 欧美成人午夜电影| 欧美男人的天堂一二区| 97精品久久久久中文字幕 | 在线视频欧美精品| 国产精品1024| 精品在线免费视频| 免费国产亚洲视频| 丝袜美腿成人在线| 洋洋av久久久久久久一区| 中日韩免费视频中文字幕| 日韩免费性生活视频播放| 欧美日韩免费一区二区三区| 99re成人精品视频| 成人av网址在线| 成人一级片在线观看| 国产呦萝稀缺另类资源| 久久99久久久欧美国产| 蜜臀av在线播放一区二区三区| 亚洲色图一区二区三区| 国产精品久久久久久户外露出 | 欧美mv日韩mv国产网站| 91精品国产综合久久久久| 欧美亚洲丝袜传媒另类| 色av成人天堂桃色av| 99精品欧美一区二区蜜桃免费| 国产成人精品三级麻豆| 东方aⅴ免费观看久久av| 国产精品自拍在线| 国产一区二区不卡老阿姨| 狠狠久久亚洲欧美| 国产成人免费视频精品含羞草妖精| 国产一区二区三区在线观看免费| 精品夜夜嗨av一区二区三区| 国产综合一区二区| 粉嫩一区二区三区在线看| 成人黄色av电影| 91视视频在线观看入口直接观看www| 成人av网站免费观看| 99精品久久99久久久久| 色8久久人人97超碰香蕉987| 欧美色欧美亚洲另类二区| 欧美日本精品一区二区三区| 日韩一二三区不卡| 久久亚洲二区三区| 国产精品私人影院| 亚洲综合一区二区精品导航| 香蕉乱码成人久久天堂爱免费| 日韩电影在线一区二区三区| 久久99精品久久久久久久久久久久| 麻豆成人久久精品二区三区红 | 亚洲人成精品久久久久| 一区二区三区四区在线| 天天综合天天做天天综合| 美女任你摸久久| 国产成人av影院| 99久久精品国产毛片| 欧美日韩国产在线观看| 日韩欧美一区二区三区在线| 久久精品亚洲一区二区三区浴池| 一区在线中文字幕| 日韩在线a电影| 国产成人精品免费网站| 色婷婷国产精品| 日韩西西人体444www| 国产精品二三区| 性欧美疯狂xxxxbbbb| 国产精品99久| 欧美探花视频资源| 久久婷婷成人综合色| 亚洲欧美一区二区三区国产精品 | 久久先锋资源网| 亚洲日本va午夜在线电影| 三级久久三级久久| 成人精品鲁一区一区二区| 精品视频123区在线观看| 久久精品一二三| 五月婷婷久久丁香| 不卡视频一二三| 精品欧美乱码久久久久久1区2区| 亚洲视频免费看| 久99久精品视频免费观看| 91免费国产在线| 精品福利av导航| 亚洲mv大片欧洲mv大片精品| 成人性生交大合| 日韩免费观看高清完整版在线观看| 国产精品每日更新在线播放网址| 日韩精品欧美精品| 色久综合一二码| 中文乱码免费一区二区| 免费人成在线不卡| 欧美三级电影在线观看| 国产欧美一区视频| 久久精品国产澳门| 欧美精品日韩一本| 亚洲少妇30p| 成人小视频免费在线观看| 日韩欧美另类在线| 亚洲成av人片一区二区| 99精品国产91久久久久久| 国产亚洲欧美一级| 久久99精品久久久久久国产越南 | 亚洲成人tv网| 91美女在线观看| 中文字幕一区免费在线观看| 国产毛片精品视频| 欧美大片日本大片免费观看| 午夜欧美电影在线观看| 91成人在线精品| 亚洲欧美区自拍先锋| 不卡的av电影在线观看| 国产视频一区在线播放| 久久99精品久久久久久动态图| 欧美喷潮久久久xxxxx| 亚洲激情五月婷婷| 91小视频免费看| 亚洲情趣在线观看| 91丨九色丨国产丨porny| 中文字幕精品三区| 丁香亚洲综合激情啪啪综合| 国产亚洲va综合人人澡精品| 国模娜娜一区二区三区| 2020国产精品自拍| 国产成人精品免费网站| 欧美激情一区在线观看| 国产成+人+日韩+欧美+亚洲| 26uuu成人网一区二区三区| 精品制服美女久久| 久久九九国产精品| 成人白浆超碰人人人人| 国产精品久久99| 色噜噜久久综合| 亚洲午夜久久久久久久久久久 | 国产一区二区美女诱惑| 久久久亚洲综合| 国产iv一区二区三区| 中文字幕一区二区三区av| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产欧美精品国产国产专区| 国产成人综合自拍| 亚洲色大成网站www久久九九| 99国产精品国产精品久久| 一区二区三区在线免费观看| 欧美在线观看一二区| 日韩经典中文字幕一区| 日韩午夜激情av| 豆国产96在线|亚洲| 亚洲黄色av一区| 91精品一区二区三区久久久久久 | 国产精品免费aⅴ片在线观看| 91香蕉视频mp4| 日本成人超碰在线观看| 亚洲精品一区二区三区四区高清 | 日韩av一区二区在线影视| 337p日本欧洲亚洲大胆色噜噜| 国产69精品久久久久777| 亚洲乱码国产乱码精品精可以看| 欧美视频一区二| 国产九色sp调教91| 亚洲免费色视频| 精品国精品国产| 色视频一区二区| 韩国在线一区二区| 亚洲免费观看高清完整版在线观看熊 | 亚洲中国最大av网站| 日韩精品一区二区三区视频播放 | 高清在线成人网| 亚洲成人福利片| 日本一区二区三区在线观看| 欧美在线观看视频一区二区三区 | 色悠悠久久综合| 日本成人在线不卡视频| 国产精品久久一级| 欧美一区二区私人影院日本| 国产精品99久| 日韩va亚洲va欧美va久久| 国产精品色呦呦| 欧美一区二区视频观看视频| 国产·精品毛片| 日本成人在线电影网| 依依成人精品视频| 久久久久久久性| 欧美另类videos死尸| 成人精品鲁一区一区二区| 日韩高清中文字幕一区| 自拍偷拍亚洲欧美日韩| 精品成人免费观看| 欧美日韩在线三级|