summaryrefslogtreecommitdiff
path: root/src/cairo-debug.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-07-19 11:29:49 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-07-20 13:19:38 +0100
commitd5d4a0f24031580db93d3b7909482687458718e2 (patch)
tree2b3b4082648f83d03baa073d91d832a3c4eb322a /src/cairo-debug.c
parentb419fdcacd636dc2274695f922f758a8b521ca01 (diff)
downloadcairo-d5d4a0f24031580db93d3b7909482687458718e2.tar.gz
xcb: Take advantage of clip-boxes
A demonstration of step 2, improves performance for selected benchmarks on selected GPUs by up to 30%. firefox-fishbowl on snb {i5-2520m): 42s -> 29s. firefox-talos-gfx on snb: 7.6 -> 5.2s. firefox-fishbowl on pnv (n450): 380 -> 360s. Whist this looks like it is getting close to as good as we can achieve, we are constrained by both our API and Xrender and fishbowl is about 50% slower than peak performance (on snb). And it fixes the older performance regression in firefox-planet-gnome. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-debug.c')
-rw-r--r--src/cairo-debug.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cairo-debug.c b/src/cairo-debug.c
index 99289e3f8..9e6874828 100644
--- a/src/cairo-debug.c
+++ b/src/cairo-debug.c
@@ -269,6 +269,16 @@ _cairo_debug_print_polygon (FILE *stream, cairo_polygon_t *polygon)
_cairo_fixed_to_double (polygon->extents.p1.y),
_cairo_fixed_to_double (polygon->extents.p2.x),
_cairo_fixed_to_double (polygon->extents.p2.y));
+ if (polygon->num_limits) {
+ fprintf (stream,
+ " : limit=(%f, %f), (%f, %f) x %d\n",
+ _cairo_fixed_to_double (polygon->limit.p1.x),
+ _cairo_fixed_to_double (polygon->limit.p1.y),
+ _cairo_fixed_to_double (polygon->limit.p2.x),
+ _cairo_fixed_to_double (polygon->limit.p2.y),
+ polygon->num_limits);
+ }
+
for (n = 0; n < polygon->num_edges; n++) {
cairo_edge_t *edge = &polygon->edges[n];