/* * xprSetupScreen * Setup the screen for rootless access. */ static Bool xprSetupScreen(int index, ScreenPtr pScreen) { // Add alpha protecting replacements for fb screen functions pScreen->PaintWindowBackground = SafeAlphaPaintWindow; pScreen->PaintWindowBorder = SafeAlphaPaintWindow; #ifdef RENDER { PictureScreenPtr ps = GetPictureScreen(pScreen); ps->Composite = SafeAlphaComposite; } #endif /* RENDER */ // Initialize accelerated rootless drawing // Note that this must be done before DamageSetup(). RootlessAccelInit(pScreen); #ifdef DAMAGE // The Damage extension needs to wrap underneath the // generic rootless layer, so do it now. if (!DamageSetup(pScreen)) return FALSE; #endif // Initialize generic rootless code if (!xprInit(pScreen)) return FALSE; return DRIFinishScreenInit(pScreen); }
/* * xprSetupScreen * Setup the screen for rootless access. */ static Bool xprSetupScreen(int index, ScreenPtr pScreen) { #ifdef DAMAGE // The Damage extension needs to wrap underneath the // generic rootless layer, so do it now. if (!DamageSetup(pScreen)) return FALSE; #endif // Initialize generic rootless code if (!xprInit(pScreen)) return FALSE; return DRIFinishScreenInit(pScreen); }
Bool I810DRIFinishScreenInit(ScreenPtr pScreen) { I810SAREARec *sPriv = (I810SAREARec *) DRIGetSAREAPrivate(pScreen); ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); I810Ptr info = I810PTR(pScrn); memset(sPriv, 0, sizeof(*sPriv)); /* Have shadow run only while there is 3d active. */ if (info->allowPageFlip && info->drmMinor >= 3) { ShadowFBInit( pScreen, I810DRIRefreshArea ); } else info->allowPageFlip = 0; return DRIFinishScreenInit(pScreen); }