Lines Matching defs:pDRIPriv

284     DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
287 xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify);
289 pDRIPriv->xf86_crtc_notify =
358 DRIScreenPrivPtr pDRIPriv;
411 pDRIPriv = (DRIScreenPrivPtr) calloc(1, sizeof(DRIScreenPrivRec));
412 if (!pDRIPriv) {
417 dixSetPrivate(&pScreen->devPrivates, DRIScreenPrivKey, pDRIPriv);
418 pDRIPriv->drmFD = pDRIEntPriv->drmFD;
419 pDRIPriv->directRenderingSupport = TRUE;
420 pDRIPriv->pDriverInfo = pDRIInfo;
421 pDRIPriv->nrWindows = 0;
422 pDRIPriv->nrWindowsVisible = 0;
423 pDRIPriv->fullscreen = NULL;
425 pDRIPriv->createDummyCtx = pDRIInfo->createDummyCtx;
426 pDRIPriv->createDummyCtxPriv = pDRIInfo->createDummyCtxPriv;
428 pDRIPriv->grabbedDRILock = FALSE;
429 pDRIPriv->drmSIGIOHandlerInstalled = FALSE;
430 *pDRMFD = pDRIPriv->drmFD;
434 if (drmAddMap(pDRIPriv->drmFD,
436 pDRIPriv->pDriverInfo->SAREASize,
437 DRM_SHM, 0, &pDRIPriv->hSAREA) < 0) {
438 pDRIPriv->directRenderingSupport = FALSE;
440 drmClose(pDRIPriv->drmFD);
446 (int) pDRIPriv->pDriverInfo->SAREASize, (void *) (uintptr_t) pDRIPriv->hSAREA);
449 if (drmMap(pDRIPriv->drmFD,
450 pDRIPriv->hSAREA,
451 pDRIPriv->pDriverInfo->SAREASize,
452 (drmAddressPtr) (&pDRIPriv->pSAREA)) < 0) {
453 pDRIPriv->directRenderingSupport = FALSE;
455 drmClose(pDRIPriv->drmFD);
460 (void *) (uintptr_t) pDRIPriv->hSAREA, pDRIPriv->pSAREA);
461 memset(pDRIPriv->pSAREA, 0, pDRIPriv->pDriverInfo->SAREASize);
466 pDRIPriv->hSAREA = pDRIEntPriv->hLSAREA;
467 pDRIPriv->pSAREA = (XF86DRISAREAPtr) pDRIEntPriv->pLSAREA;
471 pDRIPriv->hLSAREA = pDRIEntPriv->hLSAREA;
472 pDRIPriv->pLSAREA = pDRIEntPriv->pLSAREA;
474 if (!pDRIPriv->pDriverInfo->dontMapFrameBuffer) {
475 if (drmAddMap(pDRIPriv->drmFD,
476 (uintptr_t) pDRIPriv->pDriverInfo->
478 pDRIPriv->pDriverInfo->frameBufferSize, DRM_FRAME_BUFFER,
479 0, &pDRIPriv->pDriverInfo->hFrameBuffer) < 0) {
480 pDRIPriv->directRenderingSupport = FALSE;
482 drmUnmap(pDRIPriv->pSAREA, pDRIPriv->pDriverInfo->SAREASize);
483 drmClose(pDRIPriv->drmFD);
488 (void *) (uintptr_t) pDRIPriv->pDriverInfo->hFrameBuffer);
499 if ((reserved = drmGetReservedContextList(pDRIPriv->drmFD,
508 drmAddContextTag(pDRIPriv->drmFD, reserved[r], tag);
518 if ((pDRIPriv->pDriverInfo->maxDrawableTableEntry <= 0) ||
519 (pDRIPriv->pDriverInfo->maxDrawableTableEntry > SAREA_MAX_DRAWABLES)) {
522 pDRIPriv->pDriverInfo->maxDrawableTableEntry);
526 for (i = 0; i < pDRIPriv->pDriverInfo->maxDrawableTableEntry; i++) {
527 pDRIPriv->DRIDrawables[i] = NULL;
528 pDRIPriv->pSAREA->drawableTable[i].stamp = 0;
529 pDRIPriv->pSAREA->drawableTable[i].flags = 0;
532 pDRIPriv->pLockRefCount = &pDRIEntPriv->lockRefCount;
533 pDRIPriv->pLockingContext = &pDRIEntPriv->lockingContext;
551 &pDRIPriv->myContext,
556 pDRIPriv->myContextPriv = pDRIContextPriv;
559 "X context handle = %p\n", (void *) (uintptr_t) pDRIPriv->myContext);
565 pDRIPriv->grabbedDRILock = TRUE;
568 pDRIPriv->hiddenContextStore = NULL;
569 pDRIPriv->partial3DContextStore = NULL;
578 pDRIPriv->hiddenContextStore
580 if (!pDRIPriv->hiddenContextStore) {
588 pDRIPriv->partial3DContextStore
590 if (!pDRIPriv->partial3DContextStore) {
593 free(pDRIPriv->hiddenContextStore);
603 pDRIPriv->hiddenContextStore,
612 if (!(pDRIPriv->drmSIGIOHandlerInstalled =
613 drmInstallSIGIOHandler(pDRIPriv->drmFD, DRISwapContext))) {
616 free(pDRIPriv->hiddenContextStore);
617 free(pDRIPriv->partial3DContextStore);
636 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
637 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
641 pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
645 pDRIPriv->DestroyWindow = pScreen->DestroyWindow;
648 pDRIPriv->xf86_crtc_notify = xf86_wrap_crtc_notify(pScreen,
652 pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
656 pDRIPriv->wrap.ClipNotify = pScreen->ClipNotify;
662 pDRIPriv->wrap.AdjustFrame = pScrn->AdjustFrame;
665 pDRIPriv->wrapped = TRUE;
675 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
683 if (pDRIPriv) {
685 pDRIInfo = pDRIPriv->pDriverInfo;
687 if (pDRIPriv->wrapped) {
690 pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
691 pDRIPriv->wrap.WindowExposures = NULL;
693 if (pDRIPriv->DestroyWindow) {
694 pScreen->DestroyWindow = pDRIPriv->DestroyWindow;
695 pDRIPriv->DestroyWindow = NULL;
698 xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify);
701 pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow;
702 pDRIPriv->wrap.CopyWindow = NULL;
705 pScreen->ClipNotify = pDRIPriv->wrap.ClipNotify;
706 pDRIPriv->wrap.ClipNotify = NULL;
711 scrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
712 pDRIPriv->wrap.AdjustFrame = NULL;
715 pDRIPriv->wrapped = FALSE;
718 if (pDRIPriv->drmSIGIOHandlerInstalled) {
719 if (!drmRemoveSIGIOHandler(pDRIPriv->drmFD)) {
725 if (pDRIPriv->dummyCtxPriv && pDRIPriv->createDummyCtx) {
726 DRIDestroyDummyContext(pScreen, pDRIPriv->createDummyCtxPriv);
729 if (!DRIDestroyContextPriv(pDRIPriv->myContextPriv)) {
738 if ((reserved = drmGetReservedContextList(pDRIPriv->drmFD,
743 DRIDestroyContextPriv(drmGetContextTag(pDRIPriv->drmFD,
754 drmUnlock(pDRIPriv->drmFD, pDRIPriv->myContext);
755 pDRIPriv->pLockRefCount = NULL;
758 if (closeMaster || pDRIPriv->hSAREA != pDRIEntPriv->hLSAREA) {
761 (int) pDRIInfo->SAREASize, (void *) (uintptr_t) pDRIPriv->hSAREA, pDRIPriv->pSAREA);
762 if (drmUnmap(pDRIPriv->pSAREA, pDRIInfo->SAREASize)) {
767 (void *) (uintptr_t) pDRIPriv->hSAREA, pDRIPriv->pSAREA);
774 if (closeMaster || (pDRIEntPriv->drmFD != pDRIPriv->drmFD)) {
775 drmClose(pDRIPriv->drmFD);
776 if (pDRIEntPriv->drmFD == pDRIPriv->drmFD) {
782 free(pDRIPriv);
848 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
850 if (pDRIPriv)
851 *isCapable = pDRIPriv->directRenderingSupport;
861 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
863 *hSAREA = pDRIPriv->hSAREA;
864 *busIdString = pDRIPriv->pDriverInfo->busIdString;
872 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
874 if (drmAuthMagic(pDRIPriv->drmFD, magic))
891 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
893 *ddxDriverMajorVersion = pDRIPriv->pDriverInfo->ddxDriverMajorVersion;
894 *ddxDriverMinorVersion = pDRIPriv->pDriverInfo->ddxDriverMinorVersion;
895 *ddxDriverPatchVersion = pDRIPriv->pDriverInfo->ddxDriverPatchVersion;
896 *clientDriverName = pDRIPriv->pDriverInfo->clientDriverName;
917 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
919 if (drmCreateContext(pDRIPriv->drmFD, pHWContext)) {
930 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
935 pDRIPriv->pDriverInfo->contextSize;
941 drmAddContextTag(pDRIPriv->drmFD, hHWContext, pDRIContextPriv);
949 if (drmSetContextFlags(pDRIPriv->drmFD, hHWContext, DRM_CONTEXT_2DONLY)) {
957 if (drmSetContextFlags(pDRIPriv->drmFD,
971 DRIScreenPrivPtr pDRIPriv;
976 pDRIPriv = DRI_SCREEN_PRIV(pDRIContextPriv->pScreen);
982 if (drmDestroyContext(pDRIPriv->drmFD, pDRIContextPriv->hwContext))
991 drmDelContextTag(pDRIPriv->drmFD, pDRIContextPriv->hwContext);
999 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1004 DRICreateContextPriv(pScreen, &pDRIPriv->pSAREA->dummy_context, 0))) {
1009 if (pDRIPriv->pDriverInfo->CreateContext && needCtxPriv) {
1010 if (!pDRIPriv->pDriverInfo->CreateContext(pScreen, NULL,
1011 pDRIPriv->pSAREA->
1020 pDRIPriv->dummyCtxPriv = pDRIContextPriv;
1027 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1028 DRIContextPrivPtr pDRIContextPriv = pDRIPriv->dummyCtxPriv;
1033 if (pDRIPriv->pDriverInfo->DestroyContext && hasCtxPriv) {
1035 pDRIPriv->pDriverInfo->DestroyContext(pDRIContextPriv->pScreen,
1041 DRIDestroyContextPriv(pDRIPriv->dummyCtxPriv);
1042 pDRIPriv->dummyCtxPriv = NULL;
1049 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1053 if (pDRIPriv->createDummyCtx && !pDRIPriv->dummyCtxPriv) {
1054 if (!DRICreateDummyContext(pScreen, pDRIPriv->createDummyCtxPriv)) {
1066 if (pDRIPriv->pDriverInfo->CreateContext) {
1067 if (!((*pDRIPriv->pDriverInfo->CreateContext) (pScreen, NULL,
1096 DRIScreenPrivPtr pDRIPriv;
1099 pDRIPriv = DRI_SCREEN_PRIV(pDRIContextPriv->pScreen);
1100 if (pDRIPriv->pDriverInfo->DestroyContext) {
1102 pDRIPriv->pDriverInfo->DestroyContext(pDRIContextPriv->pScreen,
1120 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1122 for (i = 0; i < pDRIPriv->pDriverInfo->maxDrawableTableEntry; i++) {
1123 pDRIPriv->pSAREA->drawableTable[i].stamp = DRIDrawableValidationStamp++;
1130 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1131 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1142 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1143 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1154 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1155 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1166 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1167 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1182 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1193 pDRIPriv->nrWalked++;
1196 if (pDRIPriv->nrWindows == pDRIPriv->nrWalked)
1206 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1208 if (pDRIPriv->pDriverInfo->ClipNotify) {
1209 WindowPtr *pDRIWindows = calloc(sizeof(WindowPtr), pDRIPriv->nrWindows);
1210 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1212 if (pDRIPriv->nrWindows > 0) {
1213 pDRIPriv->nrWalked = 0;
1218 pDRIInfo->ClipNotify(pScreen, pDRIWindows, pDRIPriv->nrWindows);
1227 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1229 switch (++pDRIPriv->nrWindowsVisible) {
1246 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1248 switch (--pDRIPriv->nrWindowsVisible) {
1266 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1276 drmCreateDrawable(pDRIPriv->drmFD,
1287 if (drmCreateDrawable(pDRIPriv->drmFD,
1302 pDRIPriv->nrWindows++;
1314 drmUpdateDrawableInfo(pDRIPriv->drmFD,
1335 DRIScreenPrivPtr pDRIPriv;
1341 pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1345 pDRIPriv->pSAREA->drawableTable[pDRIDrawablePriv->drawableIndex].stamp
1349 pDRIPriv->DRIDrawables[pDRIDrawablePriv->drawableIndex] = NULL;
1352 pDRIPriv->nrWindows--;
1357 drmDestroyDrawable(pDRIPriv->drmFD, pDRIDrawablePriv->hwDrawable);
1435 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1442 pDRIPriv->pDriverInfo->maxDrawableTableEntry);
1454 while (i < pDRIPriv->pDriverInfo->maxDrawableTableEntry) {
1455 if (!(pDRIPriv->DRIDrawables[i])) {
1456 pDRIPriv->DRIDrawables[i] = pDrawable;
1458 pDRIPriv->pSAREA->drawableTable[i].stamp =
1466 if (i == pDRIPriv->pDriverInfo->maxDrawableTableEntry) {
1470 i = pDRIPriv->pDriverInfo->maxDrawableTableEntry;
1472 if (pDRIPriv->pSAREA->drawableTable[i].stamp <
1476 pDRIPriv->pSAREA->drawableTable[i].stamp;
1482 pOldWin = (WindowPtr) pDRIPriv->DRIDrawables[oldestIndex];
1487 pDRIPriv->DRIDrawables[oldestIndex] = pDrawable;
1490 pDRIPriv->pSAREA->drawableTable[oldestIndex].stamp =
1498 i < pDRIPriv->pDriverInfo->maxDrawableTableEntry;
1500 pDRIPriv->pSAREA->drawableTable[i].stamp =
1509 if (pDRIPriv->pDriverInfo->SetDrawableIndex)
1510 pDRIPriv->pDriverInfo->SetDrawableIndex(pWin,
1516 (pDRIPriv->pDriverInfo->bufferRequests != DRI_NO_WINDOWS)) {
1517 (*pDRIPriv->pDriverInfo->InitBuffers) (pWin,
1525 *stamp = pDRIPriv->pSAREA->drawableTable[*index].stamp;
1533 if (!*numClipRects && pDRIPriv->fullscreen) {
1535 pDRIPriv->fullscreen_rect.x1 = *X;
1536 pDRIPriv->fullscreen_rect.y1 = *Y;
1537 pDRIPriv->fullscreen_rect.x2 = *X + *W;
1538 pDRIPriv->fullscreen_rect.y2 = *Y + *H;
1541 *pClipRects = &pDRIPriv->fullscreen_rect;
1547 if (pDRIPriv->nrWindowsVisible == 1 && *numClipRects) {
1569 pDRIPriv->private_buffer_rect.x1 = x0;
1570 pDRIPriv->private_buffer_rect.y1 = y0;
1571 pDRIPriv->private_buffer_rect.x2 = x1;
1572 pDRIPriv->private_buffer_rect.y2 = y1;
1575 *pBackClipRects = &(pDRIPriv->private_buffer_rect);
1604 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1606 *hFrameBuffer = pDRIPriv->pDriverInfo->hFrameBuffer;
1608 *fbSize = pDRIPriv->pDriverInfo->frameBufferSize;
1609 *fbStride = pDRIPriv->pDriverInfo->frameBufferStride;
1610 *devPrivateSize = pDRIPriv->pDriverInfo->devPrivateSize;
1611 *pDevPrivate = pDRIPriv->pDriverInfo->devPrivate;
1656 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1658 if (pDRIPriv && pDRIPriv->pDriverInfo->wrap.WakeupHandler)
1659 (*pDRIPriv->pDriverInfo->wrap.WakeupHandler) (pScreen, result);
1670 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1672 if (pDRIPriv && pDRIPriv->pDriverInfo->wrap.BlockHandler)
1673 (*pDRIPriv->pDriverInfo->wrap.BlockHandler) (pScreen, pTimeout);
1680 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1683 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1685 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
1688 pDRIPriv->partial3DContextStore,
1690 pDRIPriv->hiddenContextStore);
1697 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1699 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1701 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
1706 pDRIPriv->partial3DContextStore);
1709 if (pDRIPriv->windowsTouched)
1710 DRM_SPINUNLOCK(&pDRIPriv->pSAREA->drawable_lock, 1);
1711 pDRIPriv->windowsTouched = FALSE;
1722 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1757 if (!pDRIPriv->pDriverInfo->SwapContext) {
1763 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1776 (newContext->hwContext != pDRIPriv->myContext)) {
1797 pDRIPriv->lastPartial3DContext = oldContext;
1800 if (pDRIPriv->lastPartial3DContext == newContext) {
1816 DRIGetContextStore(pDRIPriv->lastPartial3DContext);
1817 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
1830 (newContext->hwContext != pDRIPriv->myContext)) {
1846 (newContext->hwContext != pDRIPriv->myContext)) {
1857 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
1874 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1878 (*pDRIPriv->pDriverInfo->InitBuffers) (pWin, prgn,
1883 if (pDRIPriv && pDRIPriv->wrap.WindowExposures) {
1886 pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
1892 pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
1904 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1910 pDRIPriv->nrWalked++;
1913 if (pDRIPriv->nrWindows == pDRIPriv->nrWalked)
1923 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1929 if (pDRIPriv->DestroyWindow) {
1931 pScreen->DestroyWindow = pDRIPriv->DestroyWindow;
1937 pDRIPriv->DestroyWindow = pScreen->DestroyWindow;
1948 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1950 if (!pDRIPriv)
1953 if (pDRIPriv->nrWindowsVisible > 0) {
1957 pDRIPriv->nrWalked = 0;
1966 (*pDRIPriv->pDriverInfo->MoveBuffers) (pWin, ptOldOrg, &reg,
1967 pDRIPriv->pDriverInfo->
1975 if (pDRIPriv->wrap.CopyWindow) {
1977 pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow;
1983 pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
2050 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2052 if (!pDRIPriv)
2056 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
2057 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
2062 pDRIPriv->partial3DContextStore);
2072 DRISpinLockTimeout(&pDRIPriv->pSAREA->drawable_lock, 1, 10000); /*10 secs */
2078 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
2080 (*pDRIPriv->pDriverInfo->SwapContext) (pScreen,
2083 pDRIPriv->partial3DContextStore,
2085 pDRIPriv->hiddenContextStore);
2093 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2096 if (!pDRIPriv)
2102 if (!pDRIPriv->windowsTouched) {
2104 pDRIPriv->windowsTouched = TRUE;
2116 pDRIPriv->pSAREA->drawableTable[pDRIDrawablePriv->drawableIndex].stamp
2119 drmUpdateDrawableInfo(pDRIPriv->drmFD, pDRIDrawablePriv->hwDrawable,
2125 if (pDRIPriv->wrap.ClipNotify) {
2128 pScreen->ClipNotify = pDRIPriv->wrap.ClipNotify;
2134 pDRIPriv->wrap.ClipNotify = pScreen->ClipNotify;
2143 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2151 index = pDRIPriv->pDriverInfo->ddxDrawableTableEntry;
2160 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2162 return pDRIPriv->pSAREA->drawableTable[drawable_index].stamp;
2168 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2170 ErrorF("%s: %d\n", msg, pDRIPriv->pSAREA->drawable_lock.lock);
2176 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2178 if (!pDRIPriv || !pDRIPriv->pLockRefCount)
2181 if (!*pDRIPriv->pLockRefCount) {
2182 DRM_LOCK(pDRIPriv->drmFD, pDRIPriv->pLSAREA, pDRIPriv->myContext,
2184 *pDRIPriv->pLockingContext = pDRIPriv->myContext;
2186 else if (*pDRIPriv->pLockingContext != pDRIPriv->myContext) {
2191 pDRIPriv->pLockingContext, (void *) (uintptr_t) pDRIPriv->myContext);
2193 (*pDRIPriv->pLockRefCount)++;
2199 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2201 if (!pDRIPriv || !pDRIPriv->pLockRefCount)
2204 if (*pDRIPriv->pLockRefCount > 0) {
2205 if (pDRIPriv->myContext != *pDRIPriv->pLockingContext) {
2209 pDRIPriv->pLockingContext, (void *) (uintptr_t) pDRIPriv->myContext);
2211 (*pDRIPriv->pLockRefCount)--;
2218 if (!*pDRIPriv->pLockRefCount)
2219 DRM_UNLOCK(pDRIPriv->drmFD, pDRIPriv->pLSAREA, pDRIPriv->myContext);
2225 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2227 if (!pDRIPriv)
2230 return (void *) (((char *) pDRIPriv->pSAREA) + sizeof(XF86DRISAREARec));
2236 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2238 if (!pDRIPriv)
2241 return pDRIPriv->myContext;
2249 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2251 if (!pDRIPriv)
2254 *texOffsetStartFunc = pDRIPriv->pDriverInfo->texOffsetStart;
2255 *texOffsetFinishFunc = pDRIPriv->pDriverInfo->texOffsetFinish;
2278 _DRIAdjustFrame(ScrnInfoPtr pScrn, DRIScreenPrivPtr pDRIPriv, int x, int y)
2280 pDRIPriv->pSAREA->frame.x = x;
2281 pDRIPriv->pSAREA->frame.y = y;
2282 pDRIPriv->pSAREA->frame.width = pScrn->frameX1 - x + 1;
2283 pDRIPriv->pSAREA->frame.height = pScrn->frameY1 - y + 1;
2290 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2293 if (!pDRIPriv || !pDRIPriv->pSAREA) {
2295 pDRIPriv, pDRIPriv ? pDRIPriv->pSAREA : NULL);
2299 if (pDRIPriv->fullscreen) {
2301 pScrn->frameX0 = pDRIPriv->pSAREA->frame.x;
2302 pScrn->frameY0 = pDRIPriv->pSAREA->frame.y;
2303 pScrn->frameX1 = pScrn->frameX0 + pDRIPriv->pSAREA->frame.width - 1;
2304 pScrn->frameY1 = pScrn->frameY0 + pDRIPriv->pSAREA->frame.height - 1;
2322 if (pDRIPriv->wrap.AdjustFrame) {
2324 pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
2328 pDRIPriv->wrap.AdjustFrame = pScrn->AdjustFrame;
2332 _DRIAdjustFrame(pScrn, pDRIPriv, x, y);