summaryrefslogtreecommitdiff
path: root/src/cairoint.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-07-23 23:45:01 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-07-24 10:44:04 +0100
commit0466053099b7f27065267d49c84e9e24bff6c7a1 (patch)
treef128c7a4a334302c2d19abbbe6078d7fae1d8ab9 /src/cairoint.h
parent8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2 (diff)
[image] Discard redundant clears
On slow machines the call to pixman_fill_sse2() on similar surfaces that we know are already zeroed takes a significant amount of time [12.77% of the profile for a firefox trace, cf to just 3% of the profile is spent inside memset]. Rather than solve why the pixman_fill_sse2() is so slow, simply skip the redundant clears.
Diffstat (limited to 'src/cairoint.h')
-rw-r--r--src/cairoint.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairoint.h b/src/cairoint.h
index 3cd0cb37..6010e20f 100644
--- a/src/cairoint.h
+++ b/src/cairoint.h
@@ -857,6 +857,7 @@ struct _cairo_image_surface {
pixman_image_t *pixman_image;
cairo_region_t *clip_region;
+ unsigned is_clear : 1;
unsigned owns_data : 1;
unsigned transparency : 2;
};