From e329e04b10c88afb40f2fd8fdad5b24b9f7dfc15 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 31 Jan 2013 11:33:37 +0000 Subject: [PATCH] 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 --- src/sna/sna_trapezoids.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;