summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-10-31 15:18:21 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-10-31 15:18:21 +0000
commitdbc0d83f2a7a0e6658f3b97b5f9921c44ef6a11f (patch)
tree374bbf5a9bd7280f46f9a3a75de83993a6cd0cdb
parent9b7ed9b2cd6c9ee4dfab71aed9b7d97b720fceb0 (diff)
downloadcairo-dbc0d83f2a7a0e6658f3b97b5f9921c44ef6a11f.tar.gz
image: Add a couple of tracepoints for spans fallbacks
References: https://bugs.freedesktop.org/show_bug.cgi?id=56574 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-image-compositor.c3
-rw-r--r--src/cairo-spans-compositor.c13
2 files changed, 12 insertions, 4 deletions
diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c
index 768e3a507..728f4a13f 100644
--- a/src/cairo-image-compositor.c
+++ b/src/cairo-image-compositor.c
@@ -2716,7 +2716,8 @@ span_renderer_init (cairo_abstract_span_renderer_t *_r,
cairo_operator_t op = composite->op;
cairo_int_status_t status;
- TRACE ((stderr, "%s\n", __FUNCTION__));
+ TRACE ((stderr, "%s: antialias=%d, needs_clip=%d\n", __FUNCTION__,
+ antialias, needs_clip));
if (needs_clip)
return CAIRO_INT_STATUS_UNSUPPORTED;
diff --git a/src/cairo-spans-compositor.c b/src/cairo-spans-compositor.c
index ffbf56fc2..a2b88efe2 100644
--- a/src/cairo-spans-compositor.c
+++ b/src/cairo-spans-compositor.c
@@ -557,8 +557,10 @@ composite_aligned_boxes (const cairo_spans_compositor_t *compositor,
TRACE ((stderr, "%s: need_clip_mask=%d, is-bounded=%d\n",
__FUNCTION__, need_clip_mask, extents->is_bounded));
- if (need_clip_mask && ! extents->is_bounded)
+ if (need_clip_mask && ! extents->is_bounded) {
+ TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
return CAIRO_INT_STATUS_UNSUPPORTED;
+ }
no_mask = extents->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID &&
CAIRO_COLOR_IS_OPAQUE (&extents->mask_pattern.solid.color);
@@ -570,8 +572,10 @@ composite_aligned_boxes (const cairo_spans_compositor_t *compositor,
if (op == CAIRO_OPERATOR_SOURCE && (need_clip_mask || ! no_mask)) {
/* SOURCE with a mask is actually a LERP in cairo semantics */
- if ((compositor->flags & CAIRO_SPANS_COMPOSITOR_HAS_LERP) == 0)
+ if ((compositor->flags & CAIRO_SPANS_COMPOSITOR_HAS_LERP) == 0) {
+ TRACE ((stderr, "%s: unsupported lerp\n", __FUNCTION__));
return CAIRO_INT_STATUS_UNSUPPORTED;
+ }
}
/* Are we just copying a recording surface? */
@@ -700,8 +704,10 @@ composite_boxes (const cairo_spans_compositor_t *compositor,
TRACE ((stderr, "%s\n", __FUNCTION__));
_cairo_box_from_rectangle (&box, &extents->unbounded);
- if (composite_needs_clip (extents, &box))
+ if (composite_needs_clip (extents, &box)) {
+ TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
return CAIRO_INT_STATUS_UNSUPPORTED;
+ }
_cairo_rectangular_scan_converter_init (&converter, &extents->unbounded);
for (chunk = &boxes->chunks; chunk != NULL; chunk = chunk->next) {
@@ -742,6 +748,7 @@ composite_polygon (const cairo_spans_compositor_t *compositor,
(! _clip_is_region (extents->clip) || extents->clip->num_boxes > 1);
TRACE ((stderr, "%s - needs_clip=%d\n", __FUNCTION__, needs_clip));
if (needs_clip) {
+ TRACE ((stderr, "%s: unsupported clip\n", __FUNCTION__));
return CAIRO_INT_STATUS_UNSUPPORTED;
converter = _cairo_clip_tor_scan_converter_create (extents->clip,
polygon,