summaryrefslogtreecommitdiff
path: root/uxa/uxa-render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-06-09 10:03:08 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-06-09 10:03:29 +0100
commit8c1a8d22978f143044cc3cd0ff2ade5736ee9d48 (patch)
treeda63b3fd81cd3fd00fcb758afa3f16feff4f54b1 /uxa/uxa-render.c
parent994aa1ef571ac2ab05f6588f9068d33b536c7a37 (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.c50
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 =