diff options
-rw-r--r-- | src/sna/sna_accel.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 53c8c8fb..6e71f7b0 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -77,6 +77,7 @@ #define ACCEL_FILL_SPANS 1 #define ACCEL_SET_SPANS 1 #define ACCEL_PUT_IMAGE 1 +#define ACCEL_GET_IMAGE 1 #define ACCEL_COPY_AREA 1 #define ACCEL_COPY_PLANE 1 #define ACCEL_COPY_WINDOW 1 @@ -14429,7 +14430,10 @@ sna_get_image(DrawablePtr drawable, if (!fbDrawableEnabled(drawable)) return; - DBG(("%s (%d, %d)x(%d, %d)\n", __FUNCTION__, x, y, w, h)); + DBG(("%s: pixmap=%ld (%d, %d)x(%d, %d), format=%d, mask=%lx, depth=%d\n", + __FUNCTION__, + (long)get_drawable_pixmap(drawable)->drawable.serialNumber, + x, y, w, h, format, mask, drawable->depth)); region.extents.x1 = x + drawable->x; region.extents.y1 = y + drawable->y; @@ -14437,9 +14441,11 @@ sna_get_image(DrawablePtr drawable, region.extents.y2 = region.extents.y1 + h; region.data = NULL; - can_blt = format == ZPixmap && - drawable->bitsPerPixel >= 8 && - PM_IS_SOLID(drawable, mask); + can_blt = (ACCEL_GET_IMAGE && + !FORCE_FALLBACK && + format == ZPixmap && + drawable->bitsPerPixel >= 8 && + PM_IS_SOLID(drawable, mask)); flags = MOVE_READ; if ((w | h) == 1) |