diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-31 11:33:37 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-01-31 11:33:37 +0000 |
commit | e329e04b10c88afb40f2fd8fdad5b24b9f7dfc15 (patch) | |
tree | 6d9080a6df0a734154eb534c89c8677c5d553b23 /src/sna/sna_trapezoids.c | |
parent | 033f75e5bd94e226e719f87ed4e0091845384679 (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.c | 4 |
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; |