diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-19 11:29:49 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-07-20 13:19:38 +0100 |
commit | d5d4a0f24031580db93d3b7909482687458718e2 (patch) | |
tree | 2b3b4082648f83d03baa073d91d832a3c4eb322a /src/cairo-boxes-intersect.c | |
parent | b419fdcacd636dc2274695f922f758a8b521ca01 (diff) |
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-boxes-intersect.c')
-rw-r--r-- | src/cairo-boxes-intersect.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/cairo-boxes-intersect.c b/src/cairo-boxes-intersect.c index 831abc10..230c6f01 100644 --- a/src/cairo-boxes-intersect.c +++ b/src/cairo-boxes-intersect.c @@ -572,14 +572,13 @@ _cairo_boxes_intersect (const cairo_boxes_t *a, return CAIRO_STATUS_SUCCESS; } - if (unlikely (a->num_boxes == 1)) { + if (a->num_boxes == 1) { cairo_box_t box = a->chunks.base[0]; return _cairo_boxes_intersect_with_box (b, &box, out); } - if (unlikely (b->num_boxes == 1)) { + if (b->num_boxes == 1) { cairo_box_t box = b->chunks.base[0]; return _cairo_boxes_intersect_with_box (a, &box, out); - /* XXX */ } rectangles = stack_rectangles; |