Lines Matching refs:thread
1709 DBG(("%s: damaged -> no thread support\n", __FUNCTION__));
1727 struct span_thread *thread = arg;
1733 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
1736 boxes.op = thread->op;
1739 y1 = thread->extents.y1 - thread->draw_y;
1740 y2 = thread->extents.y2 - thread->draw_y;
1741 for (n = thread->ntrap, t = thread->traps; n--; t++) {
1746 tor_add_trapezoid(&tor, t, thread->dx, thread->dy);
1749 tor_render(thread->sna, &tor,
1750 (struct sna_composite_spans_op *)&boxes, thread->clip,
1751 thread->span, thread->unbounded);
1758 thread->op->thread_boxes(thread->sna, thread->op,
1981 struct mask_thread *thread = arg;
1986 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
1989 y1 = thread->extents.y1 + thread->dst_y;
1990 y2 = thread->extents.y2 + thread->dst_y;
1991 for (n = thread->ntrap, t = thread->traps; n--; t++) {
1996 tor_add_trapezoid(&tor, t, thread->dx, thread->dy);
1999 if (thread->extents.x2 <= TOR_INPLACE_SIZE) {
2000 tor_inplace(&tor, thread->scratch);
2003 thread->scratch->devPrivate.ptr,
2004 (void *)(intptr_t)thread->scratch->devKind,
2516 struct inplace_x8r8g8b8_thread *thread = arg;
2522 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
2525 y1 = thread->extents.y1 - thread->dst->pDrawable->y;
2526 y2 = thread->extents.y2 - thread->dst->pDrawable->y;
2527 for (n = 0; n < thread->ntrap; n++) {
2528 if (pixman_fixed_to_int(thread->traps[n].top) >= y2 ||
2529 pixman_fixed_to_int(thread->traps[n].bottom) < y1)
2532 tor_add_trapezoid(&tor, &thread->traps[n], thread->dx, thread->dy);
2535 clip = thread->dst->pCompositeClip;
2536 if (thread->lerp) {
2541 pixmap = get_drawable_pixmap(thread->dst->pDrawable);
2544 if (get_drawable_deltas(thread->dst->pDrawable, pixmap, &dst_x, &dst_y))
2547 inplace.color = thread->color;
2555 } else if (thread->is_solid) {
2558 pi.image = image_from_pict(thread->dst, false, &pi.dx, &pi.dy);
2559 pi.op = thread->op;
2560 pi.color = thread->color;
2580 trapezoid_origin(&thread->traps[0].left, &x0, &y0);
2582 pi.image = image_from_pict(thread->dst, false, &pi.dx, &pi.dy);
2583 pi.source = image_from_pict(thread->src, false, &pi.sx, &pi.sy);
2584 pi.sx += thread->src_x - x0;
2585 pi.sy += thread->src_y - y0;
2589 pi.op = thread->op;
2856 sna_threads_kill(); /* leaks thread allocations */
2876 struct inplace_thread *thread = arg;
2880 if (!tor_init(&tor, &thread->extents, 2*thread->ntrap))
2883 for (n = 0; n < thread->ntrap; n++) {
2884 if (pixman_fixed_to_int(thread->traps[n].top) >= thread->extents.y2 - thread->draw_y ||
2885 pixman_fixed_to_int(thread->traps[n].bottom) < thread->extents.y1 - thread->draw_y)
2888 tor_add_trapezoid(&tor, &thread->traps[n], thread->dx, thread->dy);
2891 tor_render(NULL, &tor, (void*)&thread->inplace,
2892 thread->clip, thread->span, thread->unbounded);
3125 sna_threads_kill(); /* leaks thread allocations */
3311 struct tristrip_thread *thread = arg;
3316 if (!tor_init(&tor, &thread->extents, 2*thread->count))
3319 boxes.op = thread->op;
3324 &thread->points[ccw], &thread->points[cw],
3325 thread->dx, thread->dy);
3329 &thread->points[cw], &thread->points[n],
3330 thread->dx, thread->dy);
3332 if (++n == thread->count)
3336 &thread->points[n], &thread->points[ccw],
3337 thread->dx, thread->dy);
3339 if (++n == thread->count)
3343 &thread->points[cw], &thread->points[ccw],
3344 thread->dx, thread->dy);
3345 assert(tor.polygon->num_edges <= 2*thread->count);
3347 tor_render(thread->sna, &tor,
3348 (struct sna_composite_spans_op *)&boxes, thread->clip,
3349 thread->span, thread->unbounded);
3356 thread->op->thread_boxes(thread->sna, thread->op,