summaryrefslogtreecommitdiff
path: root/src/cairo-spans-compositor-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-01-24 08:55:54 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-01-26 16:10:47 +0000
commitc986a7310bb06582b7d8a566d5f007ba4e5e75bf (patch)
treeb1f01fb7896726f69beffd369bcaf936041c4668 /src/cairo-spans-compositor-private.h
parentcfe0e59663c71a6ecd0c976797ac32339e363af2 (diff)
downloadcairo-c986a7310bb06582b7d8a566d5f007ba4e5e75bf.tar.gz
image: Enable inplace compositing with opacities for general routines
On a SNB i5-2500: Speedups ======== firefox-chalkboard 34284.16 -> 19637.40: 1.74x speedup swfdec-giant-steps 778.35 -> 665.37: 1.17x speedup ocitysmap 485.64 -> 431.94: 1.12x speedup Slowdowns ========= firefox-fishbowl 46878.98 -> 54407.14: 1.16x slowdown That slow down is due to overhead of the increased number of calls to pixman_image_composite32() (pixman_transform_point for analyzing the source extents in particular) outweighing any advantage gained by performing the rasterisation in a single pass and eliding gaps. The solution that has been floated in the past is for an interface into pixman to only perform the analysis once and then to return a kernel to use for all spans. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-spans-compositor-private.h')
-rw-r--r--src/cairo-spans-compositor-private.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cairo-spans-compositor-private.h b/src/cairo-spans-compositor-private.h
index d8b94fba9..0babebd26 100644
--- a/src/cairo-spans-compositor-private.h
+++ b/src/cairo-spans-compositor-private.h
@@ -46,7 +46,7 @@ CAIRO_BEGIN_DECLS
typedef struct _cairo_abstract_span_renderer {
cairo_span_renderer_t base;
- char data[2048];
+ char data[4096];
} cairo_abstract_span_renderer_t;
struct cairo_spans_compositor {