summaryrefslogtreecommitdiff
path: root/src/sna/sna_trapezoids.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-01-31 11:33:37 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-01-31 11:33:37 +0000
commite329e04b10c88afb40f2fd8fdad5b24b9f7dfc15 (patch)
tree6d9080a6df0a734154eb534c89c8677c5d553b23 /src/sna/sna_trapezoids.c
parent033f75e5bd94e226e719f87ed4e0091845384679 (diff)
sna/traps: Translate the extents for the rasterization threads
The single-threaded code used the pre-computed width/height and only required the origin from the bounds. However, the threads need to allocate memory for themselves based on the computed bounds, and so it helps if those bounds are then correct (rather than only the top-left being in local space with the bottom-right in global coordinates). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_trapezoids.c')
-rw-r--r--src/sna/sna_trapezoids.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sna/sna_trapezoids.c b/src/sna/sna_trapezoids.c
index 7f7492ad..7796650c 100644
--- a/src/sna/sna_trapezoids.c
+++ b/src/sna/sna_trapezoids.c
@@ -2526,7 +2526,7 @@ struct rasterize_traps_thread {
int stride;
BoxRec bounds;
pixman_format_code_t format;
- int ntrap, y1, y2;
+ int ntrap;
};
static void rasterize_traps_thread(void *arg)
@@ -2620,6 +2620,8 @@ trapezoids_fallback(CARD8 op, PicturePtr src, PicturePtr dst,
height = bounds.y2 - bounds.y1;
bounds.x1 -= dst->pDrawable->x;
bounds.y1 -= dst->pDrawable->y;
+ bounds.x2 -= dst->pDrawable->x;
+ bounds.y2 -= dst->pDrawable->y;
depth = maskFormat->depth;
if (depth == 1) {
format = PIXMAN_a1;