EXA: Set pixmap->accel_blocked on the screen pixmap, too.
This commit is contained in:
parent
26c1801a27
commit
3f081b4de5
32
exa/exa.c
32
exa/exa.c
|
@ -699,6 +699,34 @@ exaBitmapToRegion(PixmapPtr pPix)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
exaCreateScreenResources(ScreenPtr pScreen)
|
||||||
|
{
|
||||||
|
ExaScreenPriv(pScreen);
|
||||||
|
PixmapPtr pScreenPixmap;
|
||||||
|
Bool b;
|
||||||
|
|
||||||
|
pScreen->CreateScreenResources = pExaScr->SavedCreateScreenResources;
|
||||||
|
b = pScreen->CreateScreenResources(pScreen);
|
||||||
|
pScreen->CreateScreenResources = exaCreateScreenResources;
|
||||||
|
|
||||||
|
if (!b)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
pScreenPixmap = pScreen->GetScreenPixmap(pScreen);
|
||||||
|
|
||||||
|
if (pScreenPixmap) {
|
||||||
|
ExaPixmapPriv(pScreenPixmap);
|
||||||
|
|
||||||
|
exaSetAccelBlock(pExaScr, pExaPixmap,
|
||||||
|
pScreenPixmap->drawable.width,
|
||||||
|
pScreenPixmap->drawable.height,
|
||||||
|
pScreenPixmap->drawable.bitsPerPixel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* exaCloseScreen() unwraps its wrapped screen functions and tears down EXA's
|
* exaCloseScreen() unwraps its wrapped screen functions and tears down EXA's
|
||||||
* screen private, before calling down to the next CloseSccreen.
|
* screen private, before calling down to the next CloseSccreen.
|
||||||
|
@ -720,6 +748,7 @@ exaCloseScreen(int i, ScreenPtr pScreen)
|
||||||
pScreen->CopyWindow = pExaScr->SavedCopyWindow;
|
pScreen->CopyWindow = pExaScr->SavedCopyWindow;
|
||||||
pScreen->ChangeWindowAttributes = pExaScr->SavedChangeWindowAttributes;
|
pScreen->ChangeWindowAttributes = pExaScr->SavedChangeWindowAttributes;
|
||||||
pScreen->BitmapToRegion = pExaScr->SavedBitmapToRegion;
|
pScreen->BitmapToRegion = pExaScr->SavedBitmapToRegion;
|
||||||
|
pScreen->CreateScreenResources = pExaScr->SavedCreateScreenResources;
|
||||||
#ifdef RENDER
|
#ifdef RENDER
|
||||||
if (ps) {
|
if (ps) {
|
||||||
ps->Composite = pExaScr->SavedComposite;
|
ps->Composite = pExaScr->SavedComposite;
|
||||||
|
@ -877,6 +906,9 @@ exaDriverInit (ScreenPtr pScreen,
|
||||||
pExaScr->SavedBitmapToRegion = pScreen->BitmapToRegion;
|
pExaScr->SavedBitmapToRegion = pScreen->BitmapToRegion;
|
||||||
pScreen->BitmapToRegion = exaBitmapToRegion;
|
pScreen->BitmapToRegion = exaBitmapToRegion;
|
||||||
|
|
||||||
|
pExaScr->SavedCreateScreenResources = pScreen->CreateScreenResources;
|
||||||
|
pScreen->CreateScreenResources = exaCreateScreenResources;
|
||||||
|
|
||||||
#ifdef RENDER
|
#ifdef RENDER
|
||||||
if (ps) {
|
if (ps) {
|
||||||
pExaScr->SavedComposite = ps->Composite;
|
pExaScr->SavedComposite = ps->Composite;
|
||||||
|
|
|
@ -107,6 +107,7 @@ typedef struct {
|
||||||
CopyWindowProcPtr SavedCopyWindow;
|
CopyWindowProcPtr SavedCopyWindow;
|
||||||
ChangeWindowAttributesProcPtr SavedChangeWindowAttributes;
|
ChangeWindowAttributesProcPtr SavedChangeWindowAttributes;
|
||||||
BitmapToRegionProcPtr SavedBitmapToRegion;
|
BitmapToRegionProcPtr SavedBitmapToRegion;
|
||||||
|
CreateScreenResourcesProcPtr SavedCreateScreenResources;
|
||||||
ModifyPixmapHeaderProcPtr SavedModifyPixmapHeader;
|
ModifyPixmapHeaderProcPtr SavedModifyPixmapHeader;
|
||||||
#ifdef RENDER
|
#ifdef RENDER
|
||||||
CompositeProcPtr SavedComposite;
|
CompositeProcPtr SavedComposite;
|
||||||
|
|
Loading…
Reference in New Issue