Lines Matching defs:pDRIPriv
304 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
306 xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify);
308 pDRIPriv->xf86_crtc_notify = xf86_wrap_crtc_notify(pScreen, dri_crtc_notify);
314 DRIScreenPrivPtr pDRIPriv;
363 pDRIPriv = (DRIScreenPrivPtr) calloc(1, sizeof(DRIScreenPrivRec));
364 if (!pDRIPriv) {
369 dixSetPrivate(&pScreen->devPrivates, DRIScreenPrivKey, pDRIPriv);
370 pDRIPriv->drmFD = pDRIEntPriv->drmFD;
371 pDRIPriv->directRenderingSupport = TRUE;
372 pDRIPriv->pDriverInfo = pDRIInfo;
373 pDRIPriv->nrWindows = 0;
374 pDRIPriv->nrWindowsVisible = 0;
375 pDRIPriv->fullscreen = NULL;
377 pDRIPriv->createDummyCtx = pDRIInfo->createDummyCtx;
378 pDRIPriv->createDummyCtxPriv = pDRIInfo->createDummyCtxPriv;
380 pDRIPriv->grabbedDRILock = FALSE;
381 pDRIPriv->drmSIGIOHandlerInstalled = FALSE;
382 *pDRMFD = pDRIPriv->drmFD;
386 if (drmAddMap( pDRIPriv->drmFD,
388 pDRIPriv->pDriverInfo->SAREASize,
391 &pDRIPriv->hSAREA) < 0)
393 pDRIPriv->directRenderingSupport = FALSE;
395 drmClose(pDRIPriv->drmFD);
402 pDRIPriv->pDriverInfo->SAREASize, pDRIPriv->hSAREA);
405 if (drmMap( pDRIPriv->drmFD,
406 pDRIPriv->hSAREA,
407 pDRIPriv->pDriverInfo->SAREASize,
408 (drmAddressPtr)(&pDRIPriv->pSAREA)) < 0)
410 pDRIPriv->directRenderingSupport = FALSE;
412 drmClose(pDRIPriv->drmFD);
418 pDRIPriv->hSAREA, pDRIPriv->pSAREA);
419 memset(pDRIPriv->pSAREA, 0, pDRIPriv->pDriverInfo->SAREASize);
423 pDRIPriv->hSAREA = pDRIEntPriv->hLSAREA;
424 pDRIPriv->pSAREA = (XF86DRISAREAPtr) pDRIEntPriv->pLSAREA;
428 pDRIPriv->hLSAREA = pDRIEntPriv->hLSAREA;
429 pDRIPriv->pLSAREA = pDRIEntPriv->pLSAREA;
431 if (!pDRIPriv->pDriverInfo->dontMapFrameBuffer)
433 if (drmAddMap( pDRIPriv->drmFD,
434 (uintptr_t)pDRIPriv->pDriverInfo->frameBufferPhysicalAddress,
435 pDRIPriv->pDriverInfo->frameBufferSize,
438 &pDRIPriv->pDriverInfo->hFrameBuffer) < 0)
440 pDRIPriv->directRenderingSupport = FALSE;
442 drmUnmap(pDRIPriv->pSAREA, pDRIPriv->pDriverInfo->SAREASize);
443 drmClose(pDRIPriv->drmFD);
449 pDRIPriv->pDriverInfo->hFrameBuffer);
459 if ((reserved = drmGetReservedContextList(pDRIPriv->drmFD,
468 drmAddContextTag(pDRIPriv->drmFD, reserved[i], tag);
478 if ((pDRIPriv->pDriverInfo->maxDrawableTableEntry <= 0) ||
479 (pDRIPriv->pDriverInfo->maxDrawableTableEntry > SAREA_MAX_DRAWABLES)) {
482 pDRIPriv->pDriverInfo->maxDrawableTableEntry);
486 for( i=0; i < pDRIPriv->pDriverInfo->maxDrawableTableEntry; i++) {
487 pDRIPriv->DRIDrawables[i] = NULL;
488 pDRIPriv->pSAREA->drawableTable[i].stamp = 0;
489 pDRIPriv->pSAREA->drawableTable[i].flags = 0;
492 pDRIPriv->pLockRefCount = &pDRIEntPriv->lockRefCount;
493 pDRIPriv->pLockingContext = &pDRIEntPriv->lockingContext;
511 &pDRIPriv->myContext,
517 pDRIPriv->myContextPriv = pDRIContextPriv;
520 "X context handle = %p\n", pDRIPriv->myContext);
526 pDRIPriv->grabbedDRILock = TRUE;
529 pDRIPriv->hiddenContextStore = NULL;
530 pDRIPriv->partial3DContextStore = NULL;
539 pDRIPriv->hiddenContextStore
541 if (!pDRIPriv->hiddenContextStore) {
549 pDRIPriv->partial3DContextStore
551 if (!pDRIPriv->partial3DContextStore) {
554 free(pDRIPriv->hiddenContextStore);
565 pDRIPriv->hiddenContextStore,
575 if (!(pDRIPriv->drmSIGIOHandlerInstalled =
576 drmInstallSIGIOHandler(pDRIPriv->drmFD, DRISwapContext))) {
579 free(pDRIPriv->hiddenContextStore);
580 free(pDRIPriv->partial3DContextStore);
598 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
599 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
603 pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
607 pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
611 pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
615 pDRIPriv->DestroyWindow = pScreen->DestroyWindow;
618 pDRIPriv->xf86_crtc_notify = xf86_wrap_crtc_notify(pScreen,
622 pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
626 pDRIPriv->wrap.ClipNotify = pScreen->ClipNotify;
631 pDRIPriv->wrap.AdjustFrame = pScrn->AdjustFrame;
634 pDRIPriv->wrapped = TRUE;
644 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
652 if (pDRIPriv) {
654 pDRIInfo = pDRIPriv->pDriverInfo;
656 if (pDRIPriv->wrapped) {
659 pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
660 pDRIPriv->wrap.ValidateTree = NULL;
663 pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
664 pDRIPriv->wrap.PostValidateTree = NULL;
667 pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
668 pDRIPriv->wrap.WindowExposures = NULL;
670 if (pDRIPriv->DestroyWindow) {
671 pScreen->DestroyWindow = pDRIPriv->DestroyWindow;
672 pDRIPriv->DestroyWindow = NULL;
675 xf86_unwrap_crtc_notify(pScreen, pDRIPriv->xf86_crtc_notify);
678 pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow;
679 pDRIPriv->wrap.CopyWindow = NULL;
682 pScreen->ClipNotify = pDRIPriv->wrap.ClipNotify;
683 pDRIPriv->wrap.ClipNotify = NULL;
687 pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
688 pDRIPriv->wrap.AdjustFrame = NULL;
691 pDRIPriv->wrapped = FALSE;
694 if (pDRIPriv->drmSIGIOHandlerInstalled) {
695 if (!drmRemoveSIGIOHandler(pDRIPriv->drmFD)) {
701 if (pDRIPriv->dummyCtxPriv && pDRIPriv->createDummyCtx) {
702 DRIDestroyDummyContext(pScreen, pDRIPriv->createDummyCtxPriv);
705 if (!DRIDestroyContextPriv(pDRIPriv->myContextPriv)) {
714 if ((reserved = drmGetReservedContextList(pDRIPriv->drmFD,
719 DRIDestroyContextPriv(drmGetContextTag(pDRIPriv->drmFD,
730 drmUnlock(pDRIPriv->drmFD, pDRIPriv->myContext);
731 pDRIPriv->pLockRefCount = NULL;
734 if (closeMaster || pDRIPriv->hSAREA != pDRIEntPriv->hLSAREA) {
738 pDRIPriv->hSAREA,
739 pDRIPriv->pSAREA);
740 if (drmUnmap(pDRIPriv->pSAREA, pDRIInfo->SAREASize)) {
745 pDRIPriv->hSAREA,
746 pDRIPriv->pSAREA);
752 if (closeMaster || (pDRIEntPriv->drmFD != pDRIPriv->drmFD)) {
753 drmClose(pDRIPriv->drmFD);
754 if (pDRIEntPriv->drmFD == pDRIPriv->drmFD) {
761 free(pDRIPriv);
821 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
823 if (pDRIPriv)
824 *isCapable = pDRIPriv->directRenderingSupport;
834 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
836 *hSAREA = pDRIPriv->hSAREA;
837 *busIdString = pDRIPriv->pDriverInfo->busIdString;
845 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
847 if (drmAuthMagic(pDRIPriv->drmFD, magic)) return FALSE;
864 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
866 *ddxDriverMajorVersion = pDRIPriv->pDriverInfo->ddxDriverMajorVersion;
867 *ddxDriverMinorVersion = pDRIPriv->pDriverInfo->ddxDriverMinorVersion;
868 *ddxDriverPatchVersion = pDRIPriv->pDriverInfo->ddxDriverPatchVersion;
869 *clientDriverName = pDRIPriv->pDriverInfo->clientDriverName;
891 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
893 if (drmCreateContext(pDRIPriv->drmFD, pHWContext)) {
905 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
910 pDRIPriv->pDriverInfo->contextSize;
916 drmAddContextTag(pDRIPriv->drmFD, hHWContext, pDRIContextPriv);
924 if (drmSetContextFlags(pDRIPriv->drmFD,
934 if (drmSetContextFlags(pDRIPriv->drmFD,
949 DRIScreenPrivPtr pDRIPriv;
953 pDRIPriv = DRI_SCREEN_PRIV(pDRIContextPriv->pScreen);
959 if (drmDestroyContext(pDRIPriv->drmFD, pDRIContextPriv->hwContext))
968 drmDelContextTag(pDRIPriv->drmFD, pDRIContextPriv->hwContext);
976 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
982 &pDRIPriv->pSAREA->dummy_context, 0))) {
987 if (pDRIPriv->pDriverInfo->CreateContext && needCtxPriv) {
988 if (!pDRIPriv->pDriverInfo->CreateContext(pScreen, NULL,
989 pDRIPriv->pSAREA->dummy_context,
997 pDRIPriv->dummyCtxPriv = pDRIContextPriv;
1004 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1005 DRIContextPrivPtr pDRIContextPriv = pDRIPriv->dummyCtxPriv;
1009 if (pDRIPriv->pDriverInfo->DestroyContext && hasCtxPriv) {
1011 pDRIPriv->pDriverInfo->DestroyContext(pDRIContextPriv->pScreen,
1016 DRIDestroyContextPriv(pDRIPriv->dummyCtxPriv);
1017 pDRIPriv->dummyCtxPriv = NULL;
1024 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1028 if (pDRIPriv->createDummyCtx && !pDRIPriv->dummyCtxPriv) {
1029 if (!DRICreateDummyContext(pScreen, pDRIPriv->createDummyCtxPriv)) {
1041 if (pDRIPriv->pDriverInfo->CreateContext) {
1042 if (!((*pDRIPriv->pDriverInfo->CreateContext)(pScreen, NULL,
1069 DRIScreenPrivPtr pDRIPriv;
1072 pDRIPriv = DRI_SCREEN_PRIV(pDRIContextPriv->pScreen);
1073 if (pDRIPriv->pDriverInfo->DestroyContext) {
1075 pDRIPriv->pDriverInfo->DestroyContext(pDRIContextPriv->pScreen,
1093 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1095 for( i=0; i < pDRIPriv->pDriverInfo->maxDrawableTableEntry; i++) {
1096 pDRIPriv->pSAREA->drawableTable[i].stamp = DRIDrawableValidationStamp++;
1104 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1105 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1117 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1118 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1130 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1131 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1142 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1143 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1159 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1170 pDRIPriv->nrWalked++;
1173 if (pDRIPriv->nrWindows == pDRIPriv->nrWalked)
1183 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1185 if (pDRIPriv->pDriverInfo->ClipNotify) {
1186 WindowPtr *pDRIWindows = calloc(sizeof(WindowPtr), pDRIPriv->nrWindows);
1187 DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
1189 if (pDRIPriv->nrWindows > 0) {
1190 pDRIPriv->nrWalked = 0;
1195 pDRIInfo->ClipNotify(pScreen, pDRIWindows, pDRIPriv->nrWindows);
1204 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1206 switch (++pDRIPriv->nrWindowsVisible) {
1223 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1225 switch (--pDRIPriv->nrWindowsVisible) {
1243 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1253 drmCreateDrawable(pDRIPriv->drmFD, &pDRIDrawablePriv->hwDrawable);
1263 if (drmCreateDrawable(pDRIPriv->drmFD,
1278 pDRIPriv->nrWindows++;
1289 drmUpdateDrawableInfo(pDRIPriv->drmFD,
1310 DRIScreenPrivPtr pDRIPriv;
1316 pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1320 pDRIPriv->pSAREA->drawableTable[pDRIDrawablePriv->drawableIndex].stamp
1324 pDRIPriv->DRIDrawables[pDRIDrawablePriv->drawableIndex] = NULL;
1327 pDRIPriv->nrWindows--;
1332 drmDestroyDrawable(pDRIPriv->drmFD, pDRIDrawablePriv->hwDrawable);
1411 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1417 printf("maxDrawableTableEntry = %d\n", pDRIPriv->pDriverInfo->maxDrawableTableEntry);
1429 while (i < pDRIPriv->pDriverInfo->maxDrawableTableEntry) {
1430 if (!(pDRIPriv->DRIDrawables[i])) {
1431 pDRIPriv->DRIDrawables[i] = pDrawable;
1433 pDRIPriv->pSAREA->drawableTable[i].stamp =
1441 if (i == pDRIPriv->pDriverInfo->maxDrawableTableEntry) {
1444 i = pDRIPriv->pDriverInfo->maxDrawableTableEntry;
1446 if (pDRIPriv->pSAREA->drawableTable[i].stamp <
1450 pDRIPriv->pSAREA->drawableTable[i].stamp;
1456 pOldWin = (WindowPtr)pDRIPriv->DRIDrawables[oldestIndex];
1461 pDRIPriv->DRIDrawables[oldestIndex] = pDrawable;
1464 pDRIPriv->pSAREA->drawableTable[oldestIndex].stamp =
1472 i < pDRIPriv->pDriverInfo->maxDrawableTableEntry;
1474 pDRIPriv->pSAREA->drawableTable[i].stamp =
1483 if (pDRIPriv->pDriverInfo->SetDrawableIndex)
1484 pDRIPriv->pDriverInfo->SetDrawableIndex(pWin,
1489 (pDRIPriv->pDriverInfo->bufferRequests != DRI_NO_WINDOWS))
1491 (*pDRIPriv->pDriverInfo->InitBuffers)(pWin,
1497 *stamp = pDRIPriv->pSAREA->drawableTable[*index].stamp;
1509 if (!*numClipRects && pDRIPriv->fullscreen) {
1511 pDRIPriv->fullscreen_rect.x1 = *X;
1512 pDRIPriv->fullscreen_rect.y1 = *Y;
1513 pDRIPriv->fullscreen_rect.x2 = *X + *W;
1514 pDRIPriv->fullscreen_rect.y2 = *Y + *H;
1517 *pClipRects = &pDRIPriv->fullscreen_rect;
1523 if (pDRIPriv->nrWindowsVisible == 1 && *numClipRects) {
1540 pDRIPriv->private_buffer_rect.x1 = x0;
1541 pDRIPriv->private_buffer_rect.y1 = y0;
1542 pDRIPriv->private_buffer_rect.x2 = x1;
1543 pDRIPriv->private_buffer_rect.y2 = y1;
1546 *pBackClipRects = &(pDRIPriv->private_buffer_rect);
1576 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1578 *hFrameBuffer = pDRIPriv->pDriverInfo->hFrameBuffer;
1580 *fbSize = pDRIPriv->pDriverInfo->frameBufferSize;
1581 *fbStride = pDRIPriv->pDriverInfo->frameBufferStride;
1582 *devPrivateSize = pDRIPriv->pDriverInfo->devPrivateSize;
1583 *pDevPrivate = pDRIPriv->pDriverInfo->devPrivate;
1629 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1631 if (pDRIPriv &&
1632 pDRIPriv->pDriverInfo->wrap.WakeupHandler)
1633 (*pDRIPriv->pDriverInfo->wrap.WakeupHandler)(i, wakeupData,
1645 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1647 if (pDRIPriv &&
1648 pDRIPriv->pDriverInfo->wrap.BlockHandler)
1649 (*pDRIPriv->pDriverInfo->wrap.BlockHandler)(i, blockData,
1659 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1662 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1664 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
1667 pDRIPriv->partial3DContextStore,
1669 pDRIPriv->hiddenContextStore);
1678 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1680 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1682 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
1687 pDRIPriv->partial3DContextStore);
1690 if (pDRIPriv->windowsTouched)
1691 DRM_SPINUNLOCK(&pDRIPriv->pSAREA->drawable_lock, 1);
1692 pDRIPriv->windowsTouched = FALSE;
1703 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1737 if (!pDRIPriv->pDriverInfo->SwapContext) {
1743 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
1755 (newContext->hwContext != pDRIPriv->myContext)) {
1776 pDRIPriv->lastPartial3DContext = oldContext;
1779 if (pDRIPriv->lastPartial3DContext == newContext) {
1795 DRIGetContextStore(pDRIPriv->lastPartial3DContext);
1796 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
1809 (newContext->hwContext != pDRIPriv->myContext)) {
1825 (newContext->hwContext != pDRIPriv->myContext)) {
1836 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
1854 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1858 (*pDRIPriv->pDriverInfo->InitBuffers)(pWin, prgn,
1863 if (pDRIPriv && pDRIPriv->wrap.WindowExposures) {
1866 pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
1872 pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
1885 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1891 pDRIPriv->nrWalked++;
1894 if(pDRIPriv->nrWindows == pDRIPriv->nrWalked)
1904 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1910 if(pDRIPriv->DestroyWindow) {
1912 pScreen->DestroyWindow = pDRIPriv->DestroyWindow;
1918 pDRIPriv->DestroyWindow = pScreen->DestroyWindow;
1929 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
1931 if(!pDRIPriv) return;
1933 if(pDRIPriv->nrWindowsVisible > 0) {
1937 pDRIPriv->nrWalked = 0;
1946 (*pDRIPriv->pDriverInfo->MoveBuffers)(pWin, ptOldOrg, ®,
1947 pDRIPriv->pDriverInfo->ddxDrawableTableEntry);
1954 if(pDRIPriv->wrap.CopyWindow) {
1956 pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow;
1962 pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow;
2026 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2028 if(!pDRIPriv) return;
2031 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
2032 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
2037 pDRIPriv->partial3DContextStore);
2047 DRISpinLockTimeout(&pDRIPriv->pSAREA->drawable_lock, 1, 10000); /*10 secs*/
2053 if (pDRIPriv->pDriverInfo->driverSwapMethod == DRI_HIDE_X_CONTEXT) {
2055 (*pDRIPriv->pDriverInfo->SwapContext)(pScreen,
2058 pDRIPriv->partial3DContextStore,
2060 pDRIPriv->hiddenContextStore);
2068 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2072 if(!pDRIPriv) return returnValue;
2075 if(pDRIPriv->wrap.ValidateTree) {
2077 pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
2083 pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
2094 DRIScreenPrivPtr pDRIPriv;
2101 if(!(pDRIPriv = DRI_SCREEN_PRIV(pScreen))) return;
2103 if (pDRIPriv->wrap.PostValidateTree) {
2105 pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
2111 pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
2120 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2123 if(!pDRIPriv) return;
2128 if(!pDRIPriv->windowsTouched) {
2130 pDRIPriv->windowsTouched = TRUE;
2142 pDRIPriv->pSAREA->drawableTable[pDRIDrawablePriv->drawableIndex].stamp
2145 drmUpdateDrawableInfo(pDRIPriv->drmFD, pDRIDrawablePriv->hwDrawable,
2151 if(pDRIPriv->wrap.ClipNotify) {
2154 pScreen->ClipNotify = pDRIPriv->wrap.ClipNotify;
2160 pDRIPriv->wrap.ClipNotify = pScreen->ClipNotify;
2169 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2177 index = pDRIPriv->pDriverInfo->ddxDrawableTableEntry;
2186 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2187 return pDRIPriv->pSAREA->drawableTable[drawable_index].stamp;
2194 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2196 ErrorF("%s: %d\n", msg, pDRIPriv->pSAREA->drawable_lock.lock);
2202 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2204 if(!pDRIPriv || !pDRIPriv->pLockRefCount) return;
2206 if (!*pDRIPriv->pLockRefCount) {
2207 DRM_LOCK(pDRIPriv->drmFD, pDRIPriv->pLSAREA, pDRIPriv->myContext, flags);
2208 *pDRIPriv->pLockingContext = pDRIPriv->myContext;
2209 } else if (*pDRIPriv->pLockingContext != pDRIPriv->myContext) {
2214 pDRIPriv->pLockingContext,
2215 pDRIPriv->myContext);
2217 (*pDRIPriv->pLockRefCount)++;
2223 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2225 if(!pDRIPriv || !pDRIPriv->pLockRefCount) return;
2227 if (*pDRIPriv->pLockRefCount > 0) {
2228 if (pDRIPriv->myContext != *pDRIPriv->pLockingContext) {
2232 pDRIPriv->pLockingContext,
2233 pDRIPriv->myContext);
2235 (*pDRIPriv->pLockRefCount)--;
2241 if (! *pDRIPriv->pLockRefCount)
2242 DRM_UNLOCK(pDRIPriv->drmFD, pDRIPriv->pLSAREA, pDRIPriv->myContext);
2248 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2249 if (!pDRIPriv) return 0;
2251 return (void *)(((char*)pDRIPriv->pSAREA)+sizeof(XF86DRISAREARec));
2257 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2258 if (!pDRIPriv) return 0;
2260 return pDRIPriv->myContext;
2268 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2270 if (!pDRIPriv) return;
2272 *texOffsetStartFunc = pDRIPriv->pDriverInfo->texOffsetStart;
2273 *texOffsetFinishFunc = pDRIPriv->pDriverInfo->texOffsetFinish;
2298 _DRIAdjustFrame(ScrnInfoPtr pScrn, DRIScreenPrivPtr pDRIPriv, int x, int y)
2300 pDRIPriv->pSAREA->frame.x = x;
2301 pDRIPriv->pSAREA->frame.y = y;
2302 pDRIPriv->pSAREA->frame.width = pScrn->frameX1 - x + 1;
2303 pDRIPriv->pSAREA->frame.height = pScrn->frameY1 - y + 1;
2310 DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
2314 if (!pDRIPriv || !pDRIPriv->pSAREA) {
2316 pDRIPriv, pDRIPriv ? pDRIPriv->pSAREA : NULL);
2320 if (pDRIPriv->fullscreen) {
2322 pScrn->frameX0 = pDRIPriv->pSAREA->frame.x;
2323 pScrn->frameY0 = pDRIPriv->pSAREA->frame.y;
2324 pScrn->frameX1 = pScrn->frameX0 + pDRIPriv->pSAREA->frame.width - 1;
2325 pScrn->frameY1 = pScrn->frameY0 + pDRIPriv->pSAREA->frame.height - 1;
2337 if (pDRIPriv->wrap.AdjustFrame) {
2339 pScrn->AdjustFrame = pDRIPriv->wrap.AdjustFrame;
2343 pDRIPriv->wrap.AdjustFrame = pScrn->AdjustFrame;
2347 _DRIAdjustFrame(pScrn, pDRIPriv, x, y);