diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-23 23:45:01 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-24 10:44:04 +0100 |
commit | 0466053099b7f27065267d49c84e9e24bff6c7a1 (patch) | |
tree | f128c7a4a334302c2d19abbbe6078d7fae1d8ab9 /src/cairoint.h | |
parent | 8b8e03503d7a4fdacfc48e0b35c9b02d7a08c1e2 (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.h | 1 |
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; }; |