diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-03-25 13:43:26 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-04-10 18:08:07 +0100 |
commit | 299b0338d0811192dc4f8eae5d79453e9882c5d1 (patch) | |
tree | a2e5a6ecd99933db07d66cc1ee02bef4bd82ad65 /uxa/uxa-accel.c | |
parent | 80f52482c7cde000a76b91fe3d8b6c16baf2141f (diff) |
uxa: Add fallback warnings for PutImage.
Diffstat (limited to 'uxa/uxa-accel.c')
-rw-r--r-- | uxa/uxa-accel.c | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c index cd3e477b..7fb4bf98 100644 --- a/uxa/uxa-accel.c +++ b/uxa/uxa-accel.c @@ -130,17 +130,37 @@ uxa_do_put_image(DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y, int bpp = pDrawable->bitsPerPixel; /* Don't bother with under 8bpp, XYPixmaps. */ - if (format != ZPixmap || bpp < 8) + if (format != ZPixmap || bpp < 8) { + ScrnInfoPtr scrn = xf86Screens[pDrawable->pScreen->myNum]; + xf86DrvMsg(scrn->scrnIndex, X_WARNING, + "%s %p: format=%d, bpp=%d\n", __FUNCTION__, pDrawable, + format, bpp); return FALSE; + } /* Only accelerate copies: no rop or planemask. */ - if (!UXA_PM_IS_SOLID(pDrawable, pGC->planemask) || pGC->alu != GXcopy) + if (!UXA_PM_IS_SOLID(pDrawable, pGC->planemask) || pGC->alu != GXcopy) { + ScrnInfoPtr scrn = xf86Screens[pDrawable->pScreen->myNum]; + xf86DrvMsg(scrn->scrnIndex, X_WARNING, + "%s %p: solid=%d, alu=%d\n", __FUNCTION__, pDrawable, + UXA_PM_IS_SOLID(pDrawable, pGC->planemask), pGC->alu); return FALSE; + } - if (uxa_screen->swappedOut) + if (uxa_screen->swappedOut) { + ScrnInfoPtr scrn = xf86Screens[pDrawable->pScreen->myNum]; + xf86DrvMsg(scrn->scrnIndex, X_WARNING, + "%s %p: swapped out\n", __FUNCTION__, pDrawable); return FALSE; + } pPix = uxa_get_offscreen_pixmap(pDrawable, &xoff, &yoff); + if (!pPix) { + ScrnInfoPtr scrn = xf86Screens[pDrawable->pScreen->myNum]; + xf86DrvMsg(scrn->scrnIndex, X_WARNING, + "%s %p: not offscreen pixmap\n", __FUNCTION__, pDrawable); + return FALSE; + } if (!pPix || !uxa_screen->info->put_image) return FALSE; |