Lines Matching refs:thread

1737 		DBG(("%s: damaged -> no thread support\n", __FUNCTION__));
1766 struct span_thread *thread = arg;
1772 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
1775 span_thread_boxes_init(&boxes, thread->op, thread->clip);
1777 y1 = thread->extents.y1 - thread->draw_y;
1778 y2 = thread->extents.y2 - thread->draw_y;
1779 for (n = thread->ntrap, t = thread->traps; n--; t++) {
1784 tor_add_trapezoid(&tor, t, thread->dx, thread->dy);
1787 tor_render(thread->sna, &tor,
1788 (struct sna_composite_spans_op *)&boxes, thread->clip,
1789 thread->span, thread->unbounded);
1796 thread->op->thread_boxes(thread->sna, thread->op,
2019 struct mask_thread *thread = arg;
2024 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
2027 y1 = thread->extents.y1 + thread->dst_y;
2028 y2 = thread->extents.y2 + thread->dst_y;
2029 for (n = thread->ntrap, t = thread->traps; n--; t++) {
2034 tor_add_trapezoid(&tor, t, thread->dx, thread->dy);
2037 if (thread->extents.x2 <= TOR_INPLACE_SIZE) {
2038 tor_inplace(&tor, thread->scratch);
2041 thread->scratch->devPrivate.ptr,
2042 (void *)(intptr_t)thread->scratch->devKind,
2489 struct inplace_x8r8g8b8_thread *thread = arg;
2496 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
2499 y1 = thread->extents.y1 - thread->dst->pDrawable->y;
2500 y2 = thread->extents.y2 - thread->dst->pDrawable->y;
2501 for (n = 0; n < thread->ntrap; n++) {
2502 if (pixman_fixed_to_int(thread->traps[n].top) >= y2 ||
2503 pixman_fixed_to_int(thread->traps[n].bottom) < y1)
2506 tor_add_trapezoid(&tor, &thread->traps[n], thread->dx, thread->dy);
2509 clip = thread->dst->pCompositeClip;
2510 if (thread->lerp) {
2515 pixmap = get_drawable_pixmap(thread->dst->pDrawable);
2518 if (get_drawable_deltas(thread->dst->pDrawable, pixmap, &dst_x, &dst_y))
2521 inplace.color = thread->color;
2528 } else if (thread->is_solid) {
2531 pi.image = image_from_pict(thread->dst, false, &pi.dx, &pi.dy);
2532 pi.op = thread->op;
2533 pi.color = thread->color;
2550 trapezoid_origin(&thread->traps[0].left, &x0, &y0);
2552 pi.image = image_from_pict(thread->dst, false, &pi.dx, &pi.dy);
2553 pi.source = image_from_pict(thread->src, false, &pi.sx, &pi.sy);
2554 pi.sx += thread->src_x - x0;
2555 pi.sy += thread->src_y - y0;
2559 pi.op = thread->op;
2815 sna_threads_kill(); /* leaks thread allocations */
2835 struct inplace_thread *thread = arg;
2839 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
2842 for (n = 0; n < thread->ntrap; n++) {
2843 if (pixman_fixed_to_int(thread->traps[n].top) >= thread->extents.y2 - thread->draw_y ||
2844 pixman_fixed_to_int(thread->traps[n].bottom) < thread->extents.y1 - thread->draw_y)
2847 tor_add_trapezoid(&tor, &thread->traps[n], thread->dx, thread->dy);
2851 (void*)&thread->inplace, (void*)&thread->clipped,
2852 thread->span, thread->unbounded);
3080 sna_threads_kill(); /* leaks thread allocations */
3266 struct tristrip_thread *thread = arg;
3271 if (!tor_init(&tor, &thread->extents, 2*thread->count))
3274 span_thread_boxes_init(&boxes, thread->op, thread->clip);
3278 &thread->points[ccw], &thread->points[cw],
3279 thread->dx, thread->dy);
3283 &thread->points[cw], &thread->points[n],
3284 thread->dx, thread->dy);
3286 if (++n == thread->count)
3290 &thread->points[n], &thread->points[ccw],
3291 thread->dx, thread->dy);
3293 if (++n == thread->count)
3297 &thread->points[cw], &thread->points[ccw],
3298 thread->dx, thread->dy);
3299 assert(tor.polygon->num_edges <= 2*thread->count);
3301 tor_render(thread->sna, &tor,
3302 (struct sna_composite_spans_op *)&boxes, thread->clip,
3303 thread->span, thread->unbounded);
3310 thread->op->thread_boxes(thread->sna, thread->op,