diff options
Diffstat (limited to 'uxa')
-rw-r--r-- | uxa/uxa-render.c | 50 | ||||
-rw-r--r-- | uxa/uxa.c | 3 | ||||
-rw-r--r-- | uxa/uxa.h | 5 |
3 files changed, 6 insertions, 52 deletions
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c index 6783a213..abfef8ea 100644 --- a/uxa/uxa-render.c +++ b/uxa/uxa-render.c @@ -1759,7 +1759,6 @@ uxa_trapezoids(CARD8 op, PicturePtr src, PicturePtr dst, int ntrap, xTrapezoid * traps) { ScreenPtr screen = dst->pDrawable->pScreen; - uxa_screen_t *uxa_screen = uxa_get_screen(screen); BoxRec bounds; Bool direct; @@ -1784,19 +1783,12 @@ uxa_trapezoids(CARD8 op, PicturePtr src, PicturePtr dst, xoff += pDraw->x; yoff += pDraw->y; - if (!(uxa_pixmap_is_offscreen(pixmap) && - uxa_screen->info->check_trapezoids && - uxa_screen->info->check_trapezoids(pixmap->drawable.width, - pixmap->drawable.height, - pixmap->drawable.depth) && - uxa_screen->info->rasterize_trapezoids(pixmap, FALSE, ntrap, traps, xoff, yoff))) { - if (uxa_prepare_access(pDraw, UXA_ACCESS_RW)) { - PictureScreenPtr ps = GetPictureScreen(screen); - - for (; ntrap; ntrap--, traps++) - (*ps->RasterizeTrapezoid) (dst, traps, 0, 0); - uxa_finish_access(pDraw); - } + if (uxa_prepare_access(pDraw, UXA_ACCESS_RW)) { + PictureScreenPtr ps = GetPictureScreen(screen); + + for (; ntrap; ntrap--, traps++) + (*ps->RasterizeTrapezoid) (dst, traps, 0, 0); + uxa_finish_access(pDraw); } } else if (maskFormat) { PixmapPtr scratch = NULL; @@ -1813,36 +1805,6 @@ uxa_trapezoids(CARD8 op, PicturePtr src, PicturePtr dst, width = bounds.x2 - bounds.x1; height = bounds.y2 - bounds.y1; - if (uxa_drawable_is_offscreen(dst->pDrawable) && - uxa_screen->info->check_trapezoids && - uxa_screen->info->check_trapezoids(width, height, maskFormat->depth)) { - PixmapPtr pixmap; - - pixmap = screen->CreatePixmap(screen, width, height, maskFormat->depth, - CREATE_PIXMAP_USAGE_SCRATCH); - if (uxa_screen->info->rasterize_trapezoids(pixmap, TRUE, - ntrap, traps, - -bounds.x1, -bounds.y1)) { - int error; - - mask = CreatePicture(0, &pixmap->drawable, maskFormat, - 0, 0, serverClient, &error); - if (mask) { - CompositePicture(op, src, mask, dst, - bounds.x1 + xSrc - xDst, - bounds.y1 + ySrc - yDst, - 0, 0, - bounds.x1, bounds.y1, - width, height); - FreePicture(mask, 0); - screen->DestroyPixmap(pixmap); - return; - } - } - - screen->DestroyPixmap(pixmap); - } - format = maskFormat->format | (BitsPerPixel(maskFormat->depth) << 24); image = @@ -577,9 +577,6 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver) if (uxa_driver->get_image != NULL) { LogMessage(X_INFO, " get_image\n"); } - if (uxa_driver->rasterize_trapezoids != NULL) { - LogMessage(X_INFO, " trapezoids\n"); - } return TRUE; } @@ -402,11 +402,6 @@ typedef struct _UxaDriver { * This call is required if prepare_composite() ever succeeds. */ void (*done_composite) (PixmapPtr pDst); - - Bool(*check_trapezoids) (int width, int height, int depth); - Bool(*rasterize_trapezoids) (PixmapPtr pixmap, Bool clear, - int ntraps, xTrapezoid *traps, - int dst_x, int dst_y); /** @} */ /** |