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
Родитель 3b4a9cde72
Коммит 0502288506
4 изменённых файлов: 14 добавлений и 3 удалений

Просмотреть файл

@ -4031,7 +4031,13 @@ _cairo_image_surface_glyphs (void *abstract_surface,
composite_glyphs_info_t glyph_info; composite_glyphs_info_t glyph_info;
cairo_clip_t local_clip; cairo_clip_t local_clip;
cairo_bool_t have_clip = FALSE; 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; cairo_bool_t overlap;
#endif
cairo_status_t status; cairo_status_t status;
cairo_rectangle_int_t rect; cairo_rectangle_int_t rect;
@ -4045,7 +4051,12 @@ _cairo_image_surface_glyphs (void *abstract_surface,
scaled_font, scaled_font,
glyphs, num_glyphs, glyphs, num_glyphs,
clip, clip,
#ifdef MOZ_GFX_OPTIMIZE_MOBILE
NULL);
#else
&overlap); &overlap);
#endif
if (unlikely (status)) if (unlikely (status))
return status; return status;

Просмотреть файл

@ -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-000.html bidi-000-ref.html
== bidi-001.html bidi-001-ref.html == bidi-001.html bidi-001-ref.html
== bidi-001-j.html bidi-001-ref.html == bidi-001-j.html bidi-001-ref.html

Просмотреть файл

@ -60,4 +60,4 @@
== text-boundaries-subpixel.html text-boundaries-subpixel-ref.html == text-boundaries-subpixel.html text-boundaries-subpixel-ref.html
== counter-hebrew-test.html counter-hebrew-reference.html == counter-hebrew-test.html counter-hebrew-reference.html
== counters-hebrew-test.html counters-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

Просмотреть файл

@ -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-attr-01.html dynamic-attr-01-ref.html
== dynamic-restyle-01.html dynamic-restyle-01-ref.html == dynamic-restyle-01.html dynamic-restyle-01-ref.html
== floated-01.html floated-01-ref.html == floated-01.html floated-01-ref.html