exa: Accept scratch pixmaps with offscreen memory as such.

This commit is contained in:
Maarten Maathuis 2009-03-19 19:07:59 +01:00
parent a635bb5357
commit 12aeddf5ad

View File

@ -427,11 +427,19 @@ exaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth,
if (devKind > 0) if (devKind > 0)
pExaPixmap->sys_pitch = devKind; pExaPixmap->sys_pitch = devKind;
/* Is this the framebuffer (for classic exa)? */ /* Classic EXA:
if (pPixData && pPixData == pExaScr->info->memoryBase) { * - Framebuffer.
pExaPixmap->fb_ptr = pPixData; * - Scratch pixmap with offscreen memory.
pExaPixmap->fb_pitch = devKind; */
pExaPixmap->offscreen = TRUE; if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) &&
pExaScr->info->memoryBase && pPixData) {
if ((CARD8 *)pPixData >= pExaScr->info->memoryBase &&
((CARD8 *)pPixData - pExaScr->info->memoryBase) <
pExaScr->info->memorySize) {
pExaPixmap->fb_ptr = pPixData;
pExaPixmap->fb_pitch = devKind;
pExaPixmap->offscreen = TRUE;
}
} }
if (width > 0 && height > 0 && bitsPerPixel > 0) { if (width > 0 && height > 0 && bitsPerPixel > 0) {