Improve EXA fallback debugging output to include the locations of pixmaps.
This is being used in tracking down recent compositing performance regressions.
This commit is contained in:
parent
83b061776a
commit
8738bc295b
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
||||||
|
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
|
* exa/exa_accel.c: (exaCopyNtoN), (exaSolidBoxClipped),
|
||||||
|
(exaImageGlyphBlt), (exaFillRegionSolid), (exaFillRegionTiled):
|
||||||
|
* exa/exa_priv.h:
|
||||||
|
* exa/exa_render.c: (exaCompositeFallbackPictDesc):
|
||||||
|
* exa/exa_unaccel.c: (exaDrawableLocation), (ExaCheckFillSpans),
|
||||||
|
(ExaCheckSetSpans), (ExaCheckPutImage), (ExaCheckCopyArea),
|
||||||
|
(ExaCheckCopyPlane), (ExaCheckPolyPoint), (ExaCheckPolylines),
|
||||||
|
(ExaCheckPolySegment), (ExaCheckPolyArc), (ExaCheckPolyFillRect),
|
||||||
|
(ExaCheckImageGlyphBlt), (ExaCheckPolyGlyphBlt),
|
||||||
|
(ExaCheckPushPixels), (ExaCheckGetImage), (ExaCheckGetSpans),
|
||||||
|
(ExaCheckSaveAreas), (ExaCheckRestoreAreas), (ExaCheckPaintWindow),
|
||||||
|
(ExaCheckComposite):
|
||||||
|
Improve EXA fallback debugging output to include the locations of
|
||||||
|
pixmaps. This is being used in tracking down recent compositing
|
||||||
|
performance regressions.
|
||||||
|
|
||||||
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
2006-04-27 Eric Anholt <anholt@FreeBSD.org>
|
||||||
|
|
||||||
* exa/exa_accel.c: (exaPolySegment):
|
* exa/exa_accel.c: (exaPolySegment):
|
||||||
|
|
|
@ -432,8 +432,9 @@ exaCopyNtoN (DrawablePtr pSrcDrawable,
|
||||||
}
|
}
|
||||||
|
|
||||||
fallback:
|
fallback:
|
||||||
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pSrcDrawable,
|
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrcDrawable, pDstDrawable,
|
||||||
(long)pDstDrawable));
|
exaDrawableLocation(pSrcDrawable),
|
||||||
|
exaDrawableLocation(pDstDrawable)));
|
||||||
exaPrepareAccess (pDstDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDstDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccess (pSrcDrawable, EXA_PREPARE_SRC);
|
exaPrepareAccess (pSrcDrawable, EXA_PREPARE_SRC);
|
||||||
fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC,
|
fbCopyNtoN (pSrcDrawable, pDstDrawable, pGC,
|
||||||
|
@ -651,7 +652,6 @@ exaSolidBoxClipped (DrawablePtr pDrawable,
|
||||||
pDrawable->width > pExaScr->info->maxX ||
|
pDrawable->width > pExaScr->info->maxX ||
|
||||||
pDrawable->height > pExaScr->info->maxY)
|
pDrawable->height > pExaScr->info->maxY)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
|
||||||
exaDoMigration (pixmaps, 1, FALSE);
|
exaDoMigration (pixmaps, 1, FALSE);
|
||||||
goto fallback;
|
goto fallback;
|
||||||
} else {
|
} else {
|
||||||
|
@ -662,7 +662,8 @@ exaSolidBoxClipped (DrawablePtr pDrawable,
|
||||||
!(*pExaScr->info->PrepareSolid) (pPixmap, GXcopy, pm, fg))
|
!(*pExaScr->info->PrepareSolid) (pPixmap, GXcopy, pm, fg))
|
||||||
{
|
{
|
||||||
fallback:
|
fallback:
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable,
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
fg = fbReplicatePixel (fg, pDrawable->bitsPerPixel);
|
fg = fbReplicatePixel (fg, pDrawable->bitsPerPixel);
|
||||||
fbSolidBoxClipped (pDrawable, pClip, x1, y1, x2, y2,
|
fbSolidBoxClipped (pDrawable, pClip, x1, y1, x2, y2,
|
||||||
|
@ -788,7 +789,7 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
|
||||||
opaque = FALSE;
|
opaque = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
|
|
||||||
|
@ -938,7 +939,8 @@ exaFillRegionSolid (DrawablePtr pDrawable,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fallback:
|
fallback:
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable,
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
fbFillRegionSolid (pDrawable, pRegion, 0,
|
fbFillRegionSolid (pDrawable, pRegion, 0,
|
||||||
fbReplicatePixel (pixel, pDrawable->bitsPerPixel));
|
fbReplicatePixel (pixel, pDrawable->bitsPerPixel));
|
||||||
|
@ -1045,7 +1047,9 @@ exaFillRegionTiled (DrawablePtr pDrawable,
|
||||||
}
|
}
|
||||||
|
|
||||||
fallback:
|
fallback:
|
||||||
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pTile, (long)pDrawable));
|
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pTile, pDrawable,
|
||||||
|
exaDrawableLocation(&pTile->drawable),
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccess ((DrawablePtr)pTile, EXA_PREPARE_SRC);
|
exaPrepareAccess ((DrawablePtr)pTile, EXA_PREPARE_SRC);
|
||||||
fbFillRegionTiled (pDrawable, pRegion, pTile);
|
fbFillRegionTiled (pDrawable, pRegion, pTile);
|
||||||
|
|
|
@ -63,6 +63,9 @@ do { \
|
||||||
ErrorF("EXA fallback at %s: ", __FUNCTION__); \
|
ErrorF("EXA fallback at %s: ", __FUNCTION__); \
|
||||||
ErrorF x; \
|
ErrorF x; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
char
|
||||||
|
exaDrawableLocation(DrawablePtr pDrawable);
|
||||||
#else
|
#else
|
||||||
#define EXA_FALLBACK(x)
|
#define EXA_FALLBACK(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -74,7 +74,7 @@ static void exaCompositeFallbackPictDesc(PicturePtr pict, char *string, int n)
|
||||||
pict->pDrawable->height, pict->repeat ?
|
pict->pDrawable->height, pict->repeat ?
|
||||||
" R" : "");
|
" R" : "");
|
||||||
|
|
||||||
snprintf(string, n, "0x%lx:%c fmt %s (%s)", (long)pict->pDrawable, loc, format, size);
|
snprintf(string, n, "%p:%c fmt %s (%s)", pict->pDrawable, loc, format, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -53,11 +53,19 @@ exaFinishAccessGC(GCPtr pGC)
|
||||||
exaFinishAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
|
exaFinishAccess(&pGC->tile.pixmap->drawable, EXA_PREPARE_SRC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if DEBUG_TRACE_FALL
|
||||||
|
char
|
||||||
|
exaDrawableLocation(DrawablePtr pDrawable)
|
||||||
|
{
|
||||||
|
return exaDrawableIsOffscreen(pDrawable) ? 's' : 'm';
|
||||||
|
}
|
||||||
|
#endif /* DEBUG_TRACE_FALL */
|
||||||
|
|
||||||
void
|
void
|
||||||
ExaCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans,
|
ExaCheckFillSpans (DrawablePtr pDrawable, GCPtr pGC, int nspans,
|
||||||
DDXPointPtr ppt, int *pwidth, int fSorted)
|
DDXPointPtr ppt, int *pwidth, int fSorted)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
fbFillSpans (pDrawable, pGC, nspans, ppt, pwidth, fSorted);
|
fbFillSpans (pDrawable, pGC, nspans, ppt, pwidth, fSorted);
|
||||||
|
@ -69,7 +77,7 @@ void
|
||||||
ExaCheckSetSpans (DrawablePtr pDrawable, GCPtr pGC, char *psrc,
|
ExaCheckSetSpans (DrawablePtr pDrawable, GCPtr pGC, char *psrc,
|
||||||
DDXPointPtr ppt, int *pwidth, int nspans, int fSorted)
|
DDXPointPtr ppt, int *pwidth, int nspans, int fSorted)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
fbSetSpans (pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted);
|
fbSetSpans (pDrawable, pGC, psrc, ppt, pwidth, nspans, fSorted);
|
||||||
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
|
@ -80,7 +88,7 @@ ExaCheckPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth,
|
||||||
int x, int y, int w, int h, int leftPad, int format,
|
int x, int y, int w, int h, int leftPad, int format,
|
||||||
char *bits)
|
char *bits)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits);
|
fbPutImage (pDrawable, pGC, depth, x, y, w, h, leftPad, format, bits);
|
||||||
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
|
@ -92,7 +100,8 @@ ExaCheckCopyArea (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
|
||||||
{
|
{
|
||||||
RegionPtr ret;
|
RegionPtr ret;
|
||||||
|
|
||||||
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pSrc, (long)pDst));
|
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrc, pDst,
|
||||||
|
exaDrawableLocation(pSrc), exaDrawableLocation(pDst)));
|
||||||
exaPrepareAccess (pDst, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDst, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccess (pSrc, EXA_PREPARE_SRC);
|
exaPrepareAccess (pSrc, EXA_PREPARE_SRC);
|
||||||
ret = fbCopyArea (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
|
ret = fbCopyArea (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty);
|
||||||
|
@ -109,7 +118,8 @@ ExaCheckCopyPlane (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
|
||||||
{
|
{
|
||||||
RegionPtr ret;
|
RegionPtr ret;
|
||||||
|
|
||||||
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pSrc, (long)pDst));
|
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrc, pDst,
|
||||||
|
exaDrawableLocation(pSrc), exaDrawableLocation(pDst)));
|
||||||
exaPrepareAccess (pDst, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDst, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccess (pSrc, EXA_PREPARE_SRC);
|
exaPrepareAccess (pSrc, EXA_PREPARE_SRC);
|
||||||
ret = fbCopyPlane (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty,
|
ret = fbCopyPlane (pSrc, pDst, pGC, srcx, srcy, w, h, dstx, dsty,
|
||||||
|
@ -124,7 +134,7 @@ void
|
||||||
ExaCheckPolyPoint (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt,
|
ExaCheckPolyPoint (DrawablePtr pDrawable, GCPtr pGC, int mode, int npt,
|
||||||
DDXPointPtr pptInit)
|
DDXPointPtr pptInit)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
fbPolyPoint (pDrawable, pGC, mode, npt, pptInit);
|
fbPolyPoint (pDrawable, pGC, mode, npt, pptInit);
|
||||||
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
exaFinishAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
|
@ -134,7 +144,8 @@ void
|
||||||
ExaCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
|
ExaCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int mode, int npt, DDXPointPtr ppt)
|
int mode, int npt, DDXPointPtr ppt)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx, width %d, mode %d, count %d\n", (long)pDrawable,
|
EXA_FALLBACK(("to %p (%c), width %d, mode %d, count %d\n",
|
||||||
|
pDrawable, exaDrawableLocation(pDrawable),
|
||||||
pGC->lineWidth, mode, npt));
|
pGC->lineWidth, mode, npt));
|
||||||
|
|
||||||
if (pGC->lineWidth == 0) {
|
if (pGC->lineWidth == 0) {
|
||||||
|
@ -153,8 +164,8 @@ void
|
||||||
ExaCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
|
ExaCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int nsegInit, xSegment *pSegInit)
|
int nsegInit, xSegment *pSegInit)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx width %d, count %d\n", (long)pDrawable,
|
EXA_FALLBACK(("to %p (%c) width %d, count %d\n", pDrawable,
|
||||||
pGC->lineWidth, nsegInit));
|
exaDrawableLocation(pDrawable), pGC->lineWidth, nsegInit));
|
||||||
if (pGC->lineWidth == 0) {
|
if (pGC->lineWidth == 0) {
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
|
@ -171,7 +182,7 @@ void
|
||||||
ExaCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,
|
ExaCheckPolyArc (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int narcs, xArc *pArcs)
|
int narcs, xArc *pArcs)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
if (pGC->lineWidth == 0)
|
if (pGC->lineWidth == 0)
|
||||||
{
|
{
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
|
@ -188,7 +199,7 @@ void
|
||||||
ExaCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC,
|
ExaCheckPolyFillRect (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int nrect, xRectangle *prect)
|
int nrect, xRectangle *prect)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
fbPolyFillRect (pDrawable, pGC, nrect, prect);
|
fbPolyFillRect (pDrawable, pGC, nrect, prect);
|
||||||
|
@ -201,7 +212,8 @@ ExaCheckImageGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int x, int y, unsigned int nglyph,
|
int x, int y, unsigned int nglyph,
|
||||||
CharInfoPtr *ppci, pointer pglyphBase)
|
CharInfoPtr *ppci, pointer pglyphBase)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("to %p (%c)\n", pDrawable,
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
fbImageGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
|
fbImageGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
|
||||||
|
@ -214,8 +226,8 @@ ExaCheckPolyGlyphBlt (DrawablePtr pDrawable, GCPtr pGC,
|
||||||
int x, int y, unsigned int nglyph,
|
int x, int y, unsigned int nglyph,
|
||||||
CharInfoPtr *ppci, pointer pglyphBase)
|
CharInfoPtr *ppci, pointer pglyphBase)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx, style %d alu %d\n", (long)pDrawable,
|
EXA_FALLBACK(("to %p (%c), style %d alu %d\n", pDrawable,
|
||||||
pGC->fillStyle, pGC->alu));
|
exaDrawableLocation(pDrawable), pGC->fillStyle, pGC->alu));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
fbPolyGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
|
fbPolyGlyphBlt (pDrawable, pGC, x, y, nglyph, ppci, pglyphBase);
|
||||||
|
@ -228,7 +240,9 @@ ExaCheckPushPixels (GCPtr pGC, PixmapPtr pBitmap,
|
||||||
DrawablePtr pDrawable,
|
DrawablePtr pDrawable,
|
||||||
int w, int h, int x, int y)
|
int w, int h, int x, int y)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from 0x%lx to 0x%lx\n", (long)pBitmap, (long)pDrawable));
|
EXA_FALLBACK(("from %p to %p (%c,%c)\n", pBitmap, pDrawable,
|
||||||
|
exaDrawableLocation(&pBitmap->drawable),
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
|
||||||
exaPrepareAccessGC (pGC);
|
exaPrepareAccessGC (pGC);
|
||||||
fbPushPixels (pGC, pBitmap, pDrawable, w, h, x, y);
|
fbPushPixels (pGC, pBitmap, pDrawable, w, h, x, y);
|
||||||
|
@ -242,7 +256,8 @@ ExaCheckGetImage (DrawablePtr pDrawable,
|
||||||
unsigned int format, unsigned long planeMask,
|
unsigned int format, unsigned long planeMask,
|
||||||
char *d)
|
char *d)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("from %p (%c)\n", pDrawable,
|
||||||
|
exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_SRC);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_SRC);
|
||||||
fbGetImage (pDrawable, x, y, w, h, format, planeMask, d);
|
fbGetImage (pDrawable, x, y, w, h, format, planeMask, d);
|
||||||
exaFinishAccess (pDrawable, EXA_PREPARE_SRC);
|
exaFinishAccess (pDrawable, EXA_PREPARE_SRC);
|
||||||
|
@ -256,7 +271,7 @@ ExaCheckGetSpans (DrawablePtr pDrawable,
|
||||||
int nspans,
|
int nspans,
|
||||||
char *pdstStart)
|
char *pdstStart)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from 0x%lx\n", (long)pDrawable));
|
EXA_FALLBACK(("from %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable)));
|
||||||
exaPrepareAccess (pDrawable, EXA_PREPARE_SRC);
|
exaPrepareAccess (pDrawable, EXA_PREPARE_SRC);
|
||||||
fbGetSpans (pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
|
fbGetSpans (pDrawable, wMax, ppt, pwidth, nspans, pdstStart);
|
||||||
exaFinishAccess (pDrawable, EXA_PREPARE_SRC);
|
exaFinishAccess (pDrawable, EXA_PREPARE_SRC);
|
||||||
|
@ -269,7 +284,8 @@ ExaCheckSaveAreas (PixmapPtr pPixmap,
|
||||||
int yorg,
|
int yorg,
|
||||||
WindowPtr pWin)
|
WindowPtr pWin)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from 0x%lx\n", (long)&pPixmap->drawable));
|
EXA_FALLBACK(("from %p (%c)\n", &pPixmap->drawable,
|
||||||
|
exaDrawableLocation(&pPixmap->drawable)));
|
||||||
exaPrepareAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
exaPrepareAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
||||||
fbSaveAreas (pPixmap, prgnSave, xorg, yorg, pWin);
|
fbSaveAreas (pPixmap, prgnSave, xorg, yorg, pWin);
|
||||||
exaFinishAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
exaFinishAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
||||||
|
@ -282,7 +298,8 @@ ExaCheckRestoreAreas (PixmapPtr pPixmap,
|
||||||
int yorg,
|
int yorg,
|
||||||
WindowPtr pWin)
|
WindowPtr pWin)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("to 0x%lx\n", (long)&pPixmap->drawable));
|
EXA_FALLBACK(("to %p (%c)\n", &pPixmap->drawable,
|
||||||
|
exaDrawableLocation(&pPixmap->drawable)));
|
||||||
exaPrepareAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
exaPrepareAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
||||||
fbRestoreAreas (pPixmap, prgnSave, xorg, yorg, pWin);
|
fbRestoreAreas (pPixmap, prgnSave, xorg, yorg, pWin);
|
||||||
exaFinishAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
exaFinishAccess ((DrawablePtr)pPixmap, EXA_PREPARE_DEST);
|
||||||
|
@ -296,7 +313,8 @@ ExaCheckRestoreAreas (PixmapPtr pPixmap,
|
||||||
void
|
void
|
||||||
ExaCheckPaintWindow (WindowPtr pWin, RegionPtr pRegion, int what)
|
ExaCheckPaintWindow (WindowPtr pWin, RegionPtr pRegion, int what)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from 0x%lx\n", (long)pWin));
|
EXA_FALLBACK(("from %p (%c)\n", pWin,
|
||||||
|
exaDrawableLocation(&pWin->drawable)));
|
||||||
exaPrepareAccess (&pWin->drawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (&pWin->drawable, EXA_PREPARE_DEST);
|
||||||
fbPaintWindow (pWin, pRegion, what);
|
fbPaintWindow (pWin, pRegion, what);
|
||||||
exaFinishAccess (&pWin->drawable, EXA_PREPARE_DEST);
|
exaFinishAccess (&pWin->drawable, EXA_PREPARE_DEST);
|
||||||
|
@ -316,8 +334,8 @@ ExaCheckComposite (CARD8 op,
|
||||||
CARD16 width,
|
CARD16 width,
|
||||||
CARD16 height)
|
CARD16 height)
|
||||||
{
|
{
|
||||||
EXA_FALLBACK(("from picts 0x%lx/0x%lx to pict 0x%lx\n",
|
EXA_FALLBACK(("from picts %p/%p to pict %p\n",
|
||||||
(long)pSrc, (long)pMask, (long)pDst));
|
pSrc, pMask, pDst));
|
||||||
exaPrepareAccess (pDst->pDrawable, EXA_PREPARE_DEST);
|
exaPrepareAccess (pDst->pDrawable, EXA_PREPARE_DEST);
|
||||||
if (pSrc->pDrawable != NULL)
|
if (pSrc->pDrawable != NULL)
|
||||||
exaPrepareAccess (pSrc->pDrawable, EXA_PREPARE_SRC);
|
exaPrepareAccess (pSrc->pDrawable, EXA_PREPARE_SRC);
|
||||||
|
|
Loading…
Reference in New Issue