Lines Matching defs:psp

106     __DRIscreen *psp;
118 psp = pcp->driScreenPriv;
123 (*psp->DriverAPI.UnbindContext)(pcp);
149 pdp->driContextPriv = &psp->dummyContextPriv;
165 __DRIscreenPrivate *psp = pcp->driScreenPriv;
189 if (psp->dri2.enabled) {
194 DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
196 DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
200 DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
202 DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
207 (*psp->DriverAPI.MakeCurrent)(pcp, pdp, prp);
235 __DRIscreenPrivate *psp = pdp->driScreenPriv;
256 DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
258 if (! (*psp->getDrawableInfo->getDrawableInfo)(pdp,
277 pdp->pStamp = &(psp->pSAREA->drawableTable[pdp->index].stamp);
279 DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID);
286 __DRIscreenPrivate *psp = pdp->driScreenPriv;
294 if (pcp && psp->dri2.buffer->prealloc - pdp->dri2.tail > psp->dri2.buffer->size) {
298 DRM_UNLOCK(psp->fd, psp->lock, pcp->hHWContext);
299 (*psp->dri2.loader->reemitDrawableInfo)(pdp, &pdp->dri2.tail,
301 DRM_LIGHT_LOCK(psp->fd, psp->lock, pcp->hHWContext);
304 total = psp->dri2.buffer->head - pdp->dri2.tail;
305 mask = psp->dri2.buffer->size - 1;
306 end = psp->dri2.buffer->head;
307 data = psp->dri2.buffer->data;
316 if (size > total || (tail & mask) + size > psp->dri2.buffer->size) {
364 (*psp->DriverAPI.HandleDrawableConfig)(pdp, pcp, last_dc);
380 (*psp->DriverAPI.HandleBufferAttach)(pdp, pcp, last_ba);
406 (*psp->DriverAPI.HandleBufferAttach)(pdp, pcp, ba);
425 __DRIscreen *psp = pdp->driScreenPriv;
428 if (psp->dri2.enabled) {
429 (*psp->dri2.loader->postDamage)(pdp,
433 } else if (psp->damage) {
438 (*psp->damage->reportDamage)(pdp,
458 __DRIscreen *psp = dPriv->driScreenPriv;
463 if (psp->dri2.enabled)
466 psp->DriverAPI.SwapBuffers(dPriv);
550 driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config,
583 pdp->driScreenPriv = psp;
584 pdp->driContextPriv = &psp->dummyContextPriv;
586 if (!(*psp->DriverAPI.CreateBuffer)(psp, pdp, &config->modes,
625 __DRIscreenPrivate *psp;
628 psp = pdp->driScreenPriv;
629 (*psp->DriverAPI.DestroyBuffer)(pdp);
685 driCreateNewContext(__DRIscreen *psp, const __DRIconfig *config,
696 pcp->driScreenPriv = psp;
703 if (!psp->dri2.enabled && !psp->dummyContextPriv.driScreenPriv) {
704 psp->dummyContextPriv.hHWContext = psp->pSAREA->dummy_context;
705 psp->dummyContextPriv.driScreenPriv = psp;
706 psp->dummyContextPriv.driDrawablePriv = NULL;
707 psp->dummyContextPriv.driverPrivate = NULL;
713 if ( !(*psp->DriverAPI.CreateContext)(&config->modes, pcp, shareCtx) ) {
762 static void driDestroyScreen(__DRIscreen *psp)
764 if (psp) {
770 if (psp->DriverAPI.DestroyScreen)
771 (*psp->DriverAPI.DestroyScreen)(psp);
773 if (psp->dri2.enabled) {
775 drmBOUnmap(psp->fd, &psp->dri2.sareaBO);
776 drmBOUnreference(psp->fd, &psp->dri2.sareaBO);
779 (void)drmUnmap((drmAddress)psp->pSAREA, SAREA_MAX);
780 (void)drmUnmap((drmAddress)psp->pFB, psp->fbSize);
781 (void)drmCloseOnce(psp->fd);
784 _mesa_free(psp);
789 setupLoaderExtensions(__DRIscreen *psp,
796 psp->getDrawableInfo = (__DRIgetDrawableInfoExtension *) extensions[i];
798 psp->damage = (__DRIdamageExtension *) extensions[i];
800 psp->systemTime = (__DRIsystemTimeExtension *) extensions[i];
802 psp->dri2.loader = (__DRIloaderExtension *) extensions[i];
844 __DRIscreen *psp;
846 psp = _mesa_malloc(sizeof *psp);
847 if (!psp)
850 setupLoaderExtensions(psp, extensions);
857 psp->drawLockID = 1;
859 psp->drm_version = *drm_version;
860 psp->ddx_version = *ddx_version;
861 psp->dri_version = *dri_version;
863 psp->pSAREA = pSAREA;
864 psp->lock = (drmLock *) &psp->pSAREA->lock;
866 psp->pFB = frame_buffer->base;
867 psp->fbSize = frame_buffer->size;
868 psp->fbStride = frame_buffer->stride;
869 psp->fbWidth = frame_buffer->width;
870 psp->fbHeight = frame_buffer->height;
871 psp->devPrivSize = frame_buffer->dev_priv_size;
872 psp->pDevPriv = frame_buffer->dev_priv;
873 psp->fbBPP = psp->fbStride * 8 / frame_buffer->width;
875 psp->extensions = emptyExtensionList;
876 psp->fd = fd;
877 psp->myNum = scrn;
878 psp->dri2.enabled = GL_FALSE;
885 psp->dummyContextPriv.driScreenPriv = NULL;
887 psp->DriverAPI = driDriverAPI;
889 *driver_modes = driDriverAPI.InitScreen(psp);
891 _mesa_free(psp);
895 return psp;
909 __DRIscreen *psp;
916 psp = _mesa_malloc(sizeof(*psp));
917 if (!psp)
920 setupLoaderExtensions(psp, extensions);
924 psp->drm_version.major = version->version_major;
925 psp->drm_version.minor = version->version_minor;
926 psp->drm_version.patch = version->version_patchlevel;
930 psp->extensions = emptyExtensionList;
931 psp->fd = fd;
932 psp->myNum = scrn;
933 psp->dri2.enabled = GL_TRUE;
935 if (drmBOReference(psp->fd, sarea_handle, &psp->dri2.sareaBO)) {
937 _mesa_free(psp);
941 if (drmBOMap(psp->fd, &psp->dri2.sareaBO,
942 DRM_BO_FLAG_READ | DRM_BO_FLAG_WRITE, 0, &psp->dri2.sarea)) {
943 drmBOUnreference(psp->fd, &psp->dri2.sareaBO);
944 _mesa_free(psp);
948 p = psp->dri2.sarea;
952 psp->dri2.lock = (__DRILock *) p;
955 psp->dri2.buffer = (__DRIEventBuffer *) p;
961 psp->lock = (drmLock *) &psp->dri2.lock->lock;
963 psp->DriverAPI = driDriverAPI;
964 *driver_configs = driDriverAPI.InitScreen2(psp);
966 drmBOUnmap(psp->fd, &psp->dri2.sareaBO);
967 drmBOUnreference(psp->fd, &psp->dri2.sareaBO);
968 _mesa_free(psp);
972 psp->DriverAPI = driDriverAPI;
974 return psp;
980 static const __DRIextension **driGetExtensions(__DRIscreen *psp)
982 return psp->extensions;
1032 __DRIscreenPrivate *psp = dpriv->driScreenPriv;
1040 (*psp->systemTime->getUST)( & ust );
1089 __DRIscreenPrivate *psp = dPriv->driScreenPriv;
1091 if ( (*psp->systemTime->getMSCRate)(dPriv, &n, &d, dPriv->loaderPrivate) ) {