Bug 754872. Avoid using two passes to draw glyphs on mobile. r=joe

Chrome & Safari both use a single pass for overlapping glyphs. We shouldn't try
so hard when running on mobile.
This commit is contained in:
Jeff Muizelaar 2012-05-15 00:48:00 -04:00
parent 3b4a9cde72
commit 0502288506
4 changed files with 14 additions and 3 deletions

View File

@ -4031,7 +4031,13 @@ _cairo_image_surface_glyphs (void *abstract_surface,
composite_glyphs_info_t glyph_info;
cairo_clip_t local_clip;
cairo_bool_t have_clip = FALSE;
#ifdef MOZ_GFX_OPTIMIZE_MOBILE
// For performance reasons we don't want to use two passes for overlapping glyphs
// on mobile
cairo_bool_t overlap = FALSE;
#else
cairo_bool_t overlap;
#endif
cairo_status_t status;
cairo_rectangle_int_t rect;
@ -4045,7 +4051,12 @@ _cairo_image_surface_glyphs (void *abstract_surface,
scaled_font,
glyphs, num_glyphs,
clip,
#ifdef MOZ_GFX_OPTIMIZE_MOBILE
NULL);
#else
&overlap);
#endif
if (unlikely (status))
return status;

View File

@ -1,4 +1,4 @@
fails-if(Android) == bdi-element.html bdi-element-ref.html # sub-pixel AA
== bdi-element.html bdi-element-ref.html
== bidi-000.html bidi-000-ref.html
== bidi-001.html bidi-001-ref.html
== bidi-001-j.html bidi-001-ref.html

View File

@ -60,4 +60,4 @@
== text-boundaries-subpixel.html text-boundaries-subpixel-ref.html
== counter-hebrew-test.html counter-hebrew-reference.html
== counters-hebrew-test.html counters-hebrew-reference.html
fails-if(Android) == counter-reset-integer-range.html counter-reset-integer-range-ref.html
== counter-reset-integer-range.html counter-reset-integer-range-ref.html

View File

@ -1,4 +1,4 @@
fails-if(Android) == display-types-01.html display-types-01-ref.html
== display-types-01.html display-types-01-ref.html
== dynamic-attr-01.html dynamic-attr-01-ref.html
== dynamic-restyle-01.html dynamic-restyle-01-ref.html
== floated-01.html floated-01-ref.html