diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-09 10:03:08 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-06-09 10:03:29 +0100 |
commit | 8c1a8d22978f143044cc3cd0ff2ade5736ee9d48 (patch) | |
tree | da63b3fd81cd3fd00fcb758afa3f16feff4f54b1 /uxa/uxa-render.c | |
parent | 994aa1ef571ac2ab05f6588f9068d33b536c7a37 (diff) |
Revert "xp:trapezoids"
This reverts commit f429fb9d872950705e11171d0e7407fb7673c786.
An experimental patch I forgot was on my main branch as I was bugfixing.
ARGH!
Diffstat (limited to 'uxa/uxa-render.c')
-rw-r--r-- | uxa/uxa-render.c | 50 |
1 files changed, 6 insertions, 44 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 = |