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

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

?? r128_dri.c

?? x.org上有關(guān)ati系列顯卡最新驅(qū)動
?? C
?? 第 1 頁 / 共 4 頁
字號:
    case 16: depth = 0x0000ffff; break;    case 24: depth = 0x00ffffff; break;    case 32: depth = 0xffffffff; break;    default: depth = 0x00000000; break;    }    /* FIXME: Copy XAAPaintWindow() and use REGION_TRANSLATE() */    /* FIXME: Only initialize the back and depth buffers for contexts       that request them */    pboxSave = pbox = REGION_RECTS(prgn);    nboxSave = nbox = REGION_NUM_RECTS(prgn);    (*info->accel->SetupForSolidFill)(pScrn, 0, GXcopy, (CARD32)(-1));    for (; nbox; nbox--, pbox++) {	(*info->accel->SubsequentSolidFillRect)(pScrn,						pbox->x1 + info->fbX,						pbox->y1 + info->fbY,						pbox->x2 - pbox->x1,						pbox->y2 - pbox->y1);	(*info->accel->SubsequentSolidFillRect)(pScrn,						pbox->x1 + info->backX,						pbox->y1 + info->backY,						pbox->x2 - pbox->x1,						pbox->y2 - pbox->y1);    }    pbox = pboxSave;    nbox = nboxSave;    /* FIXME: this needs to consider depth tiling. */    (*info->accel->SetupForSolidFill)(pScrn, depth, GXcopy, (CARD32)(-1));    for (; nbox; nbox--, pbox++)	(*info->accel->SubsequentSolidFillRect)(pScrn,						pbox->x1 + info->depthX,						pbox->y1 + info->depthY,						pbox->x2 - pbox->x1,						pbox->y2 - pbox->y1);    info->accel->NeedToSync = TRUE;}/* Copy the back and depth buffers when the X server moves a window. */static void R128DRIMoveBuffers(WindowPtr pWin, DDXPointRec ptOldOrg,			       RegionPtr prgnSrc, CARD32 indx){    ScreenPtr   pScreen = pWin->drawable.pScreen;    ScrnInfoPtr pScrn   = xf86Screens[pScreen->myNum];    R128InfoPtr info   = R128PTR(pScrn);    /* FIXME: This routine needs to have acceleration turned on */    /* FIXME: Copy XAACopyWindow() and use REGION_TRANSLATE() */    /* FIXME: Only initialize the back and depth buffers for contexts       that request them */    /* FIXME: Use accel when CCE 2D code is written */    if (info->directRenderingEnabled)	return;}/* Initialize the AGP state.  Request memory for use in AGP space, and   initialize the Rage 128 registers to point to that memory. */static Bool R128DRIAgpInit(R128InfoPtr info, ScreenPtr pScreen){    unsigned char *R128MMIO = info->MMIO;    unsigned long mode;    unsigned int  vendor, device;    int           ret;    unsigned long cntl, chunk;    int           s, l;    int           flags;    unsigned long agpBase;    if (drmAgpAcquire(info->drmFD) < 0) {	xf86DrvMsg(pScreen->myNum, X_WARNING, "[agp] AGP not available\n");	return FALSE;    }				/* Modify the mode if the default mode is				   not appropriate for this particular				   combination of graphics card and AGP				   chipset. */    mode   = drmAgpGetMode(info->drmFD);        /* Default mode */    vendor = drmAgpVendorId(info->drmFD);    device = drmAgpDeviceId(info->drmFD);    mode &= ~R128_AGP_MODE_MASK;    switch (info->agpMode) {    case 4:          mode |= R128_AGP_4X_MODE;    case 2:          mode |= R128_AGP_2X_MODE;    case 1: default: mode |= R128_AGP_1X_MODE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] Mode 0x%08lx [AGP 0x%04x/0x%04x; Card 0x%04x/0x%04x]\n",	       mode, vendor, device,	       info->PciInfo->vendor,	       info->PciInfo->chipType);    if (drmAgpEnable(info->drmFD, mode) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] AGP not enabled\n");	drmAgpRelease(info->drmFD);	return FALSE;    }    info->agpOffset = 0;    if ((ret = drmAgpAlloc(info->drmFD, info->agpSize*1024*1024, 0, NULL,			   &info->agpMemHandle)) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] Out of memory (%d)\n", ret);	drmAgpRelease(info->drmFD);	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] %d kB allocated with handle 0x%08x\n",	       info->agpSize*1024, info->agpMemHandle);    if (drmAgpBind(info->drmFD, info->agpMemHandle, info->agpOffset) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] Could not bind\n");	drmAgpFree(info->drmFD, info->agpMemHandle);	drmAgpRelease(info->drmFD);	return FALSE;    }				/* Initialize the CCE ring buffer data */    info->ringStart       = info->agpOffset;    info->ringMapSize     = info->ringSize*1024*1024 + r128_drm_page_size;    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;    info->ringReadOffset  = info->ringStart + info->ringMapSize;    info->ringReadMapSize = r128_drm_page_size;				/* Reserve space for vertex/indirect buffers */    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;    info->bufMapSize      = info->bufSize*1024*1024;				/* Reserve the rest for AGP textures */    info->agpTexStart     = info->bufStart + info->bufMapSize;    s = (info->agpSize*1024*1024 - info->agpTexStart);    l = R128MinBits((s-1) / R128_NR_TEX_REGIONS);    if (l < R128_LOG_TEX_GRANULARITY) l = R128_LOG_TEX_GRANULARITY;    info->agpTexMapSize   = (s >> l) << l;    info->log2AGPTexGran  = l;    if (info->CCESecure) flags = DRM_READ_ONLY;    else                  flags = 0;    if (drmAddMap(info->drmFD, info->ringStart, info->ringMapSize,		  DRM_AGP, flags, &info->ringHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not add ring mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] ring handle = 0x%08x\n", info->ringHandle);    if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize,	       &info->ring) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[agp] Could not map ring\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] Ring mapped at 0x%08lx\n",	       (unsigned long)info->ring);    if (drmAddMap(info->drmFD, info->ringReadOffset, info->ringReadMapSize,		  DRM_AGP, flags, &info->ringReadPtrHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not add ring read ptr mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO, 	       "[agp] ring read ptr handle = 0x%08x\n",	       info->ringReadPtrHandle);    if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize,	       &info->ringReadPtr) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not map ring read ptr\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] Ring read ptr mapped at 0x%08lx\n",	       (unsigned long)info->ringReadPtr);    if (drmAddMap(info->drmFD, info->bufStart, info->bufMapSize,		  DRM_AGP, 0, &info->bufHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not add vertex/indirect buffers mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] vertex/indirect buffers handle = 0x%08x\n",	       info->bufHandle);    if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize,	       &info->buf) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not map vertex/indirect buffers\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] Vertex/indirect buffers mapped at 0x%08lx\n",	       (unsigned long)info->buf);    if (drmAddMap(info->drmFD, info->agpTexStart, info->agpTexMapSize,		  DRM_AGP, 0, &info->agpTexHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not add AGP texture map mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] AGP texture map handle = 0x%08x\n",	       info->agpTexHandle);    if (drmMap(info->drmFD, info->agpTexHandle, info->agpTexMapSize,	       &info->agpTex) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Could not map AGP texture map\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[agp] AGP Texture map mapped at 0x%08lx\n",	       (unsigned long)info->agpTex);				/* Initialize Rage 128's AGP registers */    cntl  = INREG(R128_AGP_CNTL);    cntl &= ~R128_AGP_APER_SIZE_MASK;    switch (info->agpSize) {    case 256: cntl |= R128_AGP_APER_SIZE_256MB; break;    case 128: cntl |= R128_AGP_APER_SIZE_128MB; break;    case  64: cntl |= R128_AGP_APER_SIZE_64MB;  break;    case  32: cntl |= R128_AGP_APER_SIZE_32MB;  break;    case  16: cntl |= R128_AGP_APER_SIZE_16MB;  break;    case   8: cntl |= R128_AGP_APER_SIZE_8MB;   break;    case   4: cntl |= R128_AGP_APER_SIZE_4MB;   break;    default:	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[agp] Illegal aperture size %d kB\n",		   info->agpSize*1024);	return FALSE;    }    agpBase = drmAgpBase(info->drmFD);    OUTREG(R128_AGP_BASE, agpBase);    OUTREG(R128_AGP_CNTL, cntl);				/* Disable Rage 128's PCIGART registers */    chunk = INREG(R128_BM_CHUNK_0_VAL);    chunk &= ~(R128_BM_PTR_FORCE_TO_PCI |	       R128_BM_PM4_RD_FORCE_TO_PCI |	       R128_BM_GLOBAL_FORCE_TO_PCI);    OUTREG(R128_BM_CHUNK_0_VAL, chunk);    OUTREG(R128_PCI_GART_PAGE, 1); /* Ensure AGP GART is used (for now) */    return TRUE;}static Bool R128DRIPciInit(R128InfoPtr info, ScreenPtr pScreen){    unsigned char *R128MMIO = info->MMIO;    CARD32 chunk;    int ret;    int flags;    info->agpOffset = 0;    ret = drmScatterGatherAlloc(info->drmFD, info->agpSize*1024*1024,				&info->pciMemHandle);    if (ret < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[pci] Out of memory (%d)\n", ret);	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] %d kB allocated with handle 0x%08x\n",	       info->agpSize*1024, info->pciMemHandle);				/* Initialize the CCE ring buffer data */    info->ringStart       = info->agpOffset;    info->ringMapSize     = info->ringSize*1024*1024 + r128_drm_page_size;    info->ringSizeLog2QW  = R128MinBits(info->ringSize*1024*1024/8) - 1;    info->ringReadOffset  = info->ringStart + info->ringMapSize;    info->ringReadMapSize = r128_drm_page_size;				/* Reserve space for vertex/indirect buffers */    info->bufStart        = info->ringReadOffset + info->ringReadMapSize;    info->bufMapSize      = info->bufSize*1024*1024;    flags = DRM_READ_ONLY | DRM_LOCKED | DRM_KERNEL;    if (drmAddMap(info->drmFD, info->ringStart, info->ringMapSize,		  DRM_SCATTER_GATHER, flags, &info->ringHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[pci] Could not add ring mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] ring handle = 0x%08x\n", info->ringHandle);    if (drmMap(info->drmFD, info->ringHandle, info->ringMapSize,	       &info->ring) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR, "[pci] Could not map ring\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Ring mapped at 0x%08lx\n",	       (unsigned long)info->ring);    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Ring contents 0x%08lx\n",	       *(unsigned long *)(pointer)info->ring);    if (drmAddMap(info->drmFD, info->ringReadOffset, info->ringReadMapSize,		  DRM_SCATTER_GATHER, flags, &info->ringReadPtrHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[pci] Could not add ring read ptr mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] ring read ptr handle = 0x%08x\n",	       info->ringReadPtrHandle);    if (drmMap(info->drmFD, info->ringReadPtrHandle, info->ringReadMapSize,	       &info->ringReadPtr) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[pci] Could not map ring read ptr\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Ring read ptr mapped at 0x%08lx\n",	       (unsigned long)info->ringReadPtr);    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Ring read ptr contents 0x%08lx\n",	       *(unsigned long *)(pointer)info->ringReadPtr);    if (drmAddMap(info->drmFD, info->bufStart, info->bufMapSize,		  DRM_SCATTER_GATHER, 0, &info->bufHandle) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[pci] Could not add vertex/indirect buffers mapping\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] vertex/indirect buffers handle = 0x%08x\n",	       info->bufHandle);    if (drmMap(info->drmFD, info->bufHandle, info->bufMapSize,	       &info->buf) < 0) {	xf86DrvMsg(pScreen->myNum, X_ERROR,		   "[pci] Could not map vertex/indirect buffers\n");	return FALSE;    }    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Vertex/indirect buffers mapped at 0x%08lx\n",	       (unsigned long)info->buf);    xf86DrvMsg(pScreen->myNum, X_INFO,	       "[pci] Vertex/indirect buffers contents 0x%08lx\n",	       *(unsigned long *)(pointer)info->buf);    switch (info->Chipset) {    case PCI_CHIP_RAGE128LE:    case PCI_CHIP_RAGE128RE:    case PCI_CHIP_RAGE128RK:    case PCI_CHIP_RAGE128PD:    case PCI_CHIP_RAGE128PP:    case PCI_CHIP_RAGE128PR:	/* This is a PCI card, do nothing */	break;    case PCI_CHIP_RAGE128LF:    case PCI_CHIP_RAGE128MF:    case PCI_CHIP_RAGE128ML:    case PCI_CHIP_RAGE128RF:    case PCI_CHIP_RAGE128RG:    case PCI_CHIP_RAGE128RL:    case PCI_CHIP_RAGE128SM:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美又粗又大又爽| 日韩和欧美的一区| 欧美另类一区二区三区| 国产一区三区三区| 亚洲女同一区二区| 国内精品免费**视频| 亚洲视频一区二区在线| 精品久久久久久久人人人人传媒| 91在线观看一区二区| 日韩成人免费电影| 亚洲欧美国产高清| 日本一区二区三区四区在线视频| 欧美久久久久久久久中文字幕| 成人网页在线观看| 另类小说综合欧美亚洲| 亚洲综合偷拍欧美一区色| 欧美激情自拍偷拍| 欧美不卡在线视频| 欧美午夜在线观看| 91免费视频大全| 国产91对白在线观看九色| 久久精品国产精品亚洲红杏| 五月综合激情网| 亚洲欧美激情插| 国产精品理伦片| 久久婷婷色综合| 欧美一级午夜免费电影| 欧美日韩国产综合久久| 91黄色免费版| 91久久久免费一区二区| 99久久99精品久久久久久| 国产1区2区3区精品美女| 国产一区二区主播在线| 精品亚洲porn| 久久精品久久精品| 婷婷丁香激情综合| 日韩精品亚洲专区| 欧美aa在线视频| 日韩精品亚洲一区二区三区免费| 三级一区在线视频先锋| 日韩在线卡一卡二| 日本午夜精品一区二区三区电影| 亚洲国产婷婷综合在线精品| 亚洲午夜电影网| 视频一区中文字幕| 蜜臀精品久久久久久蜜臀| 成人午夜视频网站| 成人av资源站| 91在线小视频| 色偷偷一区二区三区| 欧美自拍偷拍一区| 69堂成人精品免费视频| 日韩三级视频在线看| 久久奇米777| 国产午夜精品一区二区三区视频 | 中文字幕在线不卡一区二区三区| 中文字幕永久在线不卡| 亚洲一区二区影院| 日韩高清在线电影| 国产一区二区美女诱惑| 99久久伊人网影院| 色婷婷激情久久| 欧美二区三区的天堂| 国产偷国产偷精品高清尤物 | 日韩高清在线电影| 激情深爱一区二区| zzijzzij亚洲日本少妇熟睡| 91久久精品国产91性色tv| 欧美丰满少妇xxxxx高潮对白| 在线不卡欧美精品一区二区三区| 日韩欧美在线影院| 国产精品伦一区| 亚洲韩国一区二区三区| 日本不卡在线视频| 成人一级黄色片| 欧美午夜精品一区二区蜜桃| 欧美mv和日韩mv国产网站| 中国av一区二区三区| 一区二区三区视频在线看| 图片区小说区区亚洲影院| 国产一区二区导航在线播放| 99re成人在线| 日韩欧美成人午夜| 18欧美亚洲精品| 美女国产一区二区三区| 91老师片黄在线观看| 日韩一区二区精品在线观看| 中文字幕日韩av资源站| 久久精品国产成人一区二区三区 | 日韩欧美一区二区三区在线| 亚洲国产成人一区二区三区| 亚洲夂夂婷婷色拍ww47| 国产高清不卡一区二区| 欧美少妇性性性| 日本一区二区三区四区| 日韩电影一二三区| 经典三级视频一区| 欧美日韩亚洲另类| 国产精品国产三级国产有无不卡| 日韩国产成人精品| 色综合天天性综合| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲亚洲精品在线观看| 东方aⅴ免费观看久久av| 制服丝袜亚洲网站| 亚洲人123区| 国产成人欧美日韩在线电影| 欧美一区二区在线免费播放| 一区二区三区免费| 国产欧美日本一区视频| 精品国产乱子伦一区| 成人免费在线播放视频| 久久精品国产**网站演员| 色欧美片视频在线观看| 亚洲国产精品二十页| 蜜臀av性久久久久蜜臀aⅴ流畅| 91小视频免费观看| 欧美激情一区二区三区| 精品一区二区三区av| 欧美色爱综合网| 亚洲乱码国产乱码精品精可以看| 国产成人综合亚洲网站| 精品999久久久| 久久99久久久久久久久久久| 欧美一区二区三区四区五区| 亚洲午夜久久久久久久久电影网| 99久久精品费精品国产一区二区| 欧美精品在线一区二区三区| 一区二区三区小说| 91色porny蝌蚪| 三级欧美在线一区| 91福利国产精品| 亚洲三级免费电影| 99国产精品99久久久久久| 日本一区二区久久| 成人一道本在线| 国产精品视频九色porn| 福利一区二区在线观看| 国产精品人成在线观看免费 | 亚洲va国产va欧美va观看| 欧美性感一类影片在线播放| 亚洲尤物在线视频观看| 欧美日韩一级二级三级| 日本va欧美va瓶| 欧美电影免费观看高清完整版| 免费高清成人在线| 精品国产精品网麻豆系列| 久热成人在线视频| 久久人人爽人人爽| 成人免费av资源| 自拍偷拍国产精品| 色噜噜夜夜夜综合网| 亚洲福利视频导航| 制服丝袜亚洲色图| 精品亚洲成a人在线观看| 国产情人综合久久777777| 成人av片在线观看| 亚洲国产视频在线| 欧美一级日韩一级| 国产高清精品久久久久| 亚洲日本在线看| 欧美精品tushy高清| 国产美女久久久久| 中文字幕亚洲精品在线观看| 欧美午夜精品电影| 久久爱www久久做| 中文字幕欧美三区| 欧洲色大大久久| 久久福利资源站| 国产精品福利电影一区二区三区四区 | 国产精品看片你懂得| 在线观看网站黄不卡| 天堂蜜桃91精品| 国产午夜亚洲精品羞羞网站| 欧美中文字幕亚洲一区二区va在线| 日韩国产精品久久久久久亚洲| 久久精品亚洲麻豆av一区二区 | 亚洲精品成人天堂一二三| 欧美一区二区大片| 成人综合婷婷国产精品久久蜜臀 | 欧美色精品天天在线观看视频| 韩国三级电影一区二区| 亚洲欧洲国产日韩| 欧美猛男男办公室激情| 国产精品99久久久久久宅男| 亚洲一区二区三区小说| 国产香蕉久久精品综合网| 欧美专区日韩专区| 成人污视频在线观看| 日韩精品欧美精品| 1024精品合集| 精品国产乱码久久久久久影片| 欧美午夜免费电影| 成人激情文学综合网| 裸体一区二区三区| 一区二区三区精品在线| 国产精品女人毛片| 日韩三级中文字幕| 欧美午夜一区二区| 97精品电影院|