diff options
Diffstat (limited to 'src/i830_uxa.c')
-rw-r--r-- | src/i830_uxa.c | 33 |
1 files changed, 2 insertions, 31 deletions
diff --git a/src/i830_uxa.c b/src/i830_uxa.c index 5e8cc116..fccfa55c 100644 --- a/src/i830_uxa.c +++ b/src/i830_uxa.c @@ -678,35 +678,7 @@ static Bool i830_bo_put_image(PixmapPtr pixmap, dri_bo *bo, char *src, int src_p { int stride = i830_pixmap_pitch(pixmap); - /* fill alpha channel */ - if (pixmap->drawable.depth == 24) { - pixman_image_t *src_image, *dst_image; - - src_image = pixman_image_create_bits (PIXMAN_x8r8g8b8, - w, h, - (uint32_t *) src, src_pitch); - - dst_image = pixman_image_create_bits (PIXMAN_a8r8g8b8, - w, h, - (uint32_t *) bo->virtual, stride); - - if (src_image && dst_image) - pixman_image_composite (PictOpSrc, - src_image, NULL, dst_image, - 0, 0, - 0, 0, - 0, 0, - w, h); - - if (src_image) - pixman_image_unref (src_image); - - if (dst_image) - pixman_image_unref (dst_image); - - if (src_image == NULL || dst_image == NULL) - return FALSE; - } else if (src_pitch == stride) { + if (src_pitch == stride) { memcpy (bo->virtual, src, stride * h); } else { char *dst = bo->virtual; @@ -800,8 +772,7 @@ static Bool i830_uxa_put_image(PixmapPtr pixmap, priv = i830_get_pixmap_intel(pixmap); if (priv->batch_read_domains || - drm_intel_bo_busy(priv->bo) || - pixmap->drawable.depth == 24) { + drm_intel_bo_busy(priv->bo)) { dri_bo *bo; /* Partial replacement, copy incoming image to a bo and blit. */ |