Граф коммитов

929 Коммитов

Автор SHA1 Сообщение Дата
Jonathan Kew 4c8c8fe9a7 bug 981627 - glyph surface with ARGB format might not be a true color glyph. r=jrmuizel 2014-03-24 14:35:43 +00:00
Ehsan Akhgari 020f3fd4d8 Bug 979118 - Add global MMX_FLAGS, SSE_FLAGS and SSE2_FLAGS variables; r=glandium 2014-03-19 21:55:00 -04:00
Chris Peterson 51f754f8d6 Bug 666656 - Suppress clang and gcc warnings in third-party gfx code: angle, cairo, and pixman. r=BenWa 2014-02-28 23:16:37 -08:00
Jeff Muizelaar 3b0419d87e Bug 979894. Add unwind information for pixman arm functions. r=jseward
This isn't technically correct because these functions will never call
functions that throw exceptions, however it lets the profiler unwind them.
The unwinding will also probably be wrong during prologue/epilogue. The right
solution is probably to use cfi.
2014-03-10 12:31:58 -04:00
Jonathan Kew a6dad90e47 bug 974575 - support color glyphs in cairo_image_surface's _composite_glyphs function. r=jrmuizel 2014-03-06 12:29:23 +00:00
Jonathan Kew 2b7b569692 bug 974575 - correction for bad commit (a0f556f37fb7016aa304b7cf0e811c0d38f0b969) ported from upstream. r=jrmuizel 2014-03-06 12:29:23 +00:00
Jonathan Kew d9227c7961 bug 974575 - backport Behdad's patches for color bitmap glyph support from current cairo trunk. r=jrmuizel
* * *
[ft] Fix resizing of bitmap fonts
From b94a519aad3d5b50aa6de47ee16ee6a099de9791 Mon Sep 17 00:00:00 2001
Say, you were asking cairo for a font at 200px.  For bitmap-only fonts,
cairo was finding the closes strike size and using it.  If the strike
was at 20px, well, that's what you were getting.  We now scale that 20px
strike by a factor of 10 to get the correct size rendering.

Note that by itself this patch doesn't change much on the Linux desktop.
The reason is that the size you are interested in (eg. 200px) is lost by
fontconfig.  When you request a font at 200px, fontconfig returns a font
pattern that says 20px, and so the next layers thing you want a font at
20px.  To address that, one also needs a piece of fontconfig config that
puts the 200 back into the pixelsize.  Something like this:

<match target="font">
  <test name="scalable" mode="eq">
    <bool>false</bool>
  </test>
  <edit name="pixelsize" mode="assign">
    <times>
      <name>size</name>
      <name>dpi</name>
      <double>0.0138888888888</double> <!--1/72.-->
    </times>
  </edit>
</match>

I'm going to try to upstream this config so it will be enabled by
default.  The config can be a bit smarter.  For example, if
metricshinting is enabled and the size difference is small, we may as
well not scale.

The nice thing about this is that the configuration of whether and when
to scale bitmaps will be done in fontconfig, not cairo / Qt / ... code.
---
* * *
[FT] Prefer downscaling bitmap glyphs to upscaling

From a8f1b456db744e33a10b2301df03528787e5b1ca Mon Sep 17 00:00:00 2001
Say, you have bitmap strikes for sizes 50ppem and 100ppem.
To render at 60ppem, it's much better to downscale the 100ppem
bitmap than upscale 50ppem one.  Prefer downscaling.
---
* * *
[ft] I meant fabs(), not abs()

From 13bd8d09b44e50649f6fc4d58d036bc32c1d5c5b Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix memory bug in copying bitmaps

From a0f556f37fb7016aa304b7cf0e811c0d38f0b969 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix wrong assumptions

From e738079302a968b7b1fb9101cd4d92a8887bedce Mon Sep 17 00:00:00 2001
If subpixel rendering is enabled, but FT returns a 8bit gray bitmap
(perhaps because the font has 8bit embedded bitmaps) we were hitting
the assertions because the assumptions made were wrong.  Fix up.
---
* * *
Towards support loading color glyphs from FreeType

From 2cc353c3dbe01b4d8f65d6de800f2b1d6004a1c2 Mon Sep 17 00:00:00 2001
See comments.
---
* * *
Support 2bit and 4bit embedded bitmaps

From 9444ef09ccde2735258cc1bd2f1912119a32dd88 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix math

From 7d26341072b13a78d4b3fe58779057ac020be487 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Add missing include

From 0554d76402321b25cc952180e4d19436a9038d1a Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix alignment

From 34a747e7bdeba1cfe17318f80fbe6720d47bc023 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Ensure alignment of bitmaps received from FreeType

From 46d9db96d460fea72f0420102e8a90c6a7231f79 Mon Sep 17 00:00:00 2001
---
2014-03-06 12:29:22 +00:00
Ehsan Akhgari 2b37c097ed Bug 979816 - Backout bug 977701 because of a Talos regression
Landed on a CLOSED TREE
2014-03-05 15:18:09 -05:00
Ryan VanderMeulen 60176ce528 Backed out changesets 23ab61f4bba1, d0f6a0106f43, and 9b656ca5ec50 (bug 974575) for Linux crashtest asserts. 2014-03-05 15:23:26 -05:00
Jonathan Kew 108ae026f2 bug 974575 - support color glyphs in cairo_image_surface's _composite_glyphs function. r=jrmuizel 2014-03-05 18:33:21 +00:00
Jonathan Kew 543520fd62 bug 974575 - correction for bad commit (a0f556f37fb7016aa304b7cf0e811c0d38f0b969) ported from upstream. r=jrmuizel 2014-03-05 18:33:21 +00:00
Jonathan Kew 3d7e176399 bug 974575 - backport Behdad's patches for color bitmap glyph support from current cairo trunk. r=jrmuizel
* * *
[ft] Fix resizing of bitmap fonts
From b94a519aad3d5b50aa6de47ee16ee6a099de9791 Mon Sep 17 00:00:00 2001
Say, you were asking cairo for a font at 200px.  For bitmap-only fonts,
cairo was finding the closes strike size and using it.  If the strike
was at 20px, well, that's what you were getting.  We now scale that 20px
strike by a factor of 10 to get the correct size rendering.

Note that by itself this patch doesn't change much on the Linux desktop.
The reason is that the size you are interested in (eg. 200px) is lost by
fontconfig.  When you request a font at 200px, fontconfig returns a font
pattern that says 20px, and so the next layers thing you want a font at
20px.  To address that, one also needs a piece of fontconfig config that
puts the 200 back into the pixelsize.  Something like this:

<match target="font">
  <test name="scalable" mode="eq">
    <bool>false</bool>
  </test>
  <edit name="pixelsize" mode="assign">
    <times>
      <name>size</name>
      <name>dpi</name>
      <double>0.0138888888888</double> <!--1/72.-->
    </times>
  </edit>
</match>

I'm going to try to upstream this config so it will be enabled by
default.  The config can be a bit smarter.  For example, if
metricshinting is enabled and the size difference is small, we may as
well not scale.

The nice thing about this is that the configuration of whether and when
to scale bitmaps will be done in fontconfig, not cairo / Qt / ... code.
---
* * *
[FT] Prefer downscaling bitmap glyphs to upscaling

From a8f1b456db744e33a10b2301df03528787e5b1ca Mon Sep 17 00:00:00 2001
Say, you have bitmap strikes for sizes 50ppem and 100ppem.
To render at 60ppem, it's much better to downscale the 100ppem
bitmap than upscale 50ppem one.  Prefer downscaling.
---
* * *
[ft] I meant fabs(), not abs()

From 13bd8d09b44e50649f6fc4d58d036bc32c1d5c5b Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix memory bug in copying bitmaps

From a0f556f37fb7016aa304b7cf0e811c0d38f0b969 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix wrong assumptions

From e738079302a968b7b1fb9101cd4d92a8887bedce Mon Sep 17 00:00:00 2001
If subpixel rendering is enabled, but FT returns a 8bit gray bitmap
(perhaps because the font has 8bit embedded bitmaps) we were hitting
the assertions because the assumptions made were wrong.  Fix up.
---
* * *
Towards support loading color glyphs from FreeType

From 2cc353c3dbe01b4d8f65d6de800f2b1d6004a1c2 Mon Sep 17 00:00:00 2001
See comments.
---
* * *
Support 2bit and 4bit embedded bitmaps

From 9444ef09ccde2735258cc1bd2f1912119a32dd88 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix math

From 7d26341072b13a78d4b3fe58779057ac020be487 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Add missing include

From 0554d76402321b25cc952180e4d19436a9038d1a Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix alignment

From 34a747e7bdeba1cfe17318f80fbe6720d47bc023 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Ensure alignment of bitmaps received from FreeType

From 46d9db96d460fea72f0420102e8a90c6a7231f79 Mon Sep 17 00:00:00 2001
---
2014-03-05 18:33:21 +00:00
Ehsan Akhgari 667b4bc049 Bug 978594 - Part 3: Port some of the per-source flags to moz.build; r=glandium
--HG--
extra : rebase_source : fe4cd059eddda221af420e1517250772816d7ee8
2014-03-02 15:41:32 -05:00
Phil Ringnalda e17aa09c58 Back out bbd7b1da5d36:b0d1c4456b73 (bug 974575) and 6e8140ae4961 (bug 969814) for ASan bustage 2014-03-03 22:40:07 -08:00
Jonathan Kew 3a0e99a68b bug 974575 - support color glyphs in cairo_image_surface's _composite_glyphs function. r=jrmuizel 2014-03-04 05:37:40 +00:00
Jonathan Kew fa0a7c6033 bug 974575 - backport Behdad's patches for color bitmap glyph support from current cairo trunk. r=jrmuizel
* * *
[ft] Fix resizing of bitmap fonts
From b94a519aad3d5b50aa6de47ee16ee6a099de9791 Mon Sep 17 00:00:00 2001
Say, you were asking cairo for a font at 200px.  For bitmap-only fonts,
cairo was finding the closes strike size and using it.  If the strike
was at 20px, well, that's what you were getting.  We now scale that 20px
strike by a factor of 10 to get the correct size rendering.

Note that by itself this patch doesn't change much on the Linux desktop.
The reason is that the size you are interested in (eg. 200px) is lost by
fontconfig.  When you request a font at 200px, fontconfig returns a font
pattern that says 20px, and so the next layers thing you want a font at
20px.  To address that, one also needs a piece of fontconfig config that
puts the 200 back into the pixelsize.  Something like this:

<match target="font">
  <test name="scalable" mode="eq">
    <bool>false</bool>
  </test>
  <edit name="pixelsize" mode="assign">
    <times>
      <name>size</name>
      <name>dpi</name>
      <double>0.0138888888888</double> <!--1/72.-->
    </times>
  </edit>
</match>

I'm going to try to upstream this config so it will be enabled by
default.  The config can be a bit smarter.  For example, if
metricshinting is enabled and the size difference is small, we may as
well not scale.

The nice thing about this is that the configuration of whether and when
to scale bitmaps will be done in fontconfig, not cairo / Qt / ... code.
---
* * *
[FT] Prefer downscaling bitmap glyphs to upscaling

From a8f1b456db744e33a10b2301df03528787e5b1ca Mon Sep 17 00:00:00 2001
Say, you have bitmap strikes for sizes 50ppem and 100ppem.
To render at 60ppem, it's much better to downscale the 100ppem
bitmap than upscale 50ppem one.  Prefer downscaling.
---
* * *
[ft] I meant fabs(), not abs()

From 13bd8d09b44e50649f6fc4d58d036bc32c1d5c5b Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix memory bug in copying bitmaps

From a0f556f37fb7016aa304b7cf0e811c0d38f0b969 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix wrong assumptions

From e738079302a968b7b1fb9101cd4d92a8887bedce Mon Sep 17 00:00:00 2001
If subpixel rendering is enabled, but FT returns a 8bit gray bitmap
(perhaps because the font has 8bit embedded bitmaps) we were hitting
the assertions because the assumptions made were wrong.  Fix up.
---
* * *
Towards support loading color glyphs from FreeType

From 2cc353c3dbe01b4d8f65d6de800f2b1d6004a1c2 Mon Sep 17 00:00:00 2001
See comments.
---
* * *
Support 2bit and 4bit embedded bitmaps

From 9444ef09ccde2735258cc1bd2f1912119a32dd88 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix math

From 7d26341072b13a78d4b3fe58779057ac020be487 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Add missing include

From 0554d76402321b25cc952180e4d19436a9038d1a Mon Sep 17 00:00:00 2001
---
* * *
[ft] Fix alignment

From 34a747e7bdeba1cfe17318f80fbe6720d47bc023 Mon Sep 17 00:00:00 2001
---
* * *
[ft] Ensure alignment of bitmaps received from FreeType

From 46d9db96d460fea72f0420102e8a90c6a7231f79 Mon Sep 17 00:00:00 2001
---
2014-03-04 05:37:40 +00:00
Ehsan Akhgari 137fa8efb9 Bug 978594 - Part 1: Remove the old code to support MSVC 2005 and 2008 from gfx/cairo/libpixman/src/Makefile.in; r=glandium 2014-03-03 22:47:56 -05:00
Ehsan Akhgari 079e0583e9 Bug 977701 - Move skia, cairo and pixman to libxul; r=jrmuizel 2014-02-27 21:14:54 -05:00
Oleg Romashin 5b8bccef6f Bug 974335 - Refactor Qt Widget Backend implementation. Qt Only changes NPDB. r=romaxa
--HG--
rename : dom/system/unix/Makefile.in => dom/system/qt/Makefile.in
rename : dom/system/unix/QTMLocationProvider.cpp => dom/system/qt/QTMLocationProvider.cpp
rename : dom/system/unix/QTMLocationProvider.h => dom/system/qt/QTMLocationProvider.h
rename : dom/system/unix/nsHapticFeedback.cpp => dom/system/qt/QtHapticFeedback.cpp
rename : dom/system/unix/nsHapticFeedback.h => dom/system/qt/QtHapticFeedback.h
rename : dom/system/unix/moz.build => dom/system/qt/moz.build
2014-02-20 18:09:02 -08:00
Ehsan Akhgari 1d8f77d18b Bug 973143 - Move some variables to moz.build; r=glandium
--HG--
extra : rebase_source : b767d6cb044efa50844129df80864b9e802b51bd
2014-02-18 02:02:00 -05:00
Ehsan Akhgari ff64067a04 Backed out changeset 5ecd0339a087 (bug 973143) because of a possible Talos regression 2014-02-18 14:27:51 -05:00
Ehsan Akhgari e613d30a2c Bug 973143 - Move some variables to moz.build; r=glandium 2014-02-18 02:02:00 -05:00
Ehsan Akhgari d91d200572 Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Jonathan Kew a3001e2597 bug 966021 - fix load_truetype_table in the cairo dwrite font backend. r=bas 2014-02-01 09:24:58 +00:00
Karl Tomlinson 24b56226a8 b=929451 don't use subpixel aa for ft fonts on surfaces that don't support it r=roc
Also:
* Prefer subpixel order provided by the surface over that from the font face.
* Allow font face options to turn off subpixel aa.

--HG--
extra : transplant_source : %02bD%22G%CE%95%C9%8D%86%8A%B9u%23_nHA%C4%11
2014-01-28 18:14:23 +13:00
Brian Smith 6677116ee0 Bug 958906: Remove reliance on implicit conversion from enum types to integers to fix VS2013 build bustage, r=bjacob
--HG--
extra : rebase_source : 2e197e5f74cf20eae6f9b1801056d0438e527696
2014-01-11 22:26:20 -08:00
Benoit Jacob f447d87c57 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:17 -05:00
Jeff Muizelaar 1846cdb9ce Bug 953334. Clear the clip on the surface when we get a new DC. r=BenWa
Currently we can think that we have a clip set on the DC when we actually
don't. Calling _cairo_win32_surface_set_clip_region(NULL) clears this so that
when we call it with the a region we will set it properly on the new DC that
doesn't have the clip set on it.

--HG--
extra : rebase_source : c9ca3d57bbd99aacdee5c0b3f581376792cd1893
2014-01-08 16:02:22 -05:00
Martin Stransky 8832b57f9d Bug 941595 - Build with system-cairo is broken. r=glandium 2013-12-10 10:37:03 -05:00
Ms2ger 4c502efb62 Bug 937224 - Part a: Move LOCAL_INCLUDES to moz.build in gfx/; r=mshal 2013-11-28 15:10:38 +01:00
Mike Hommey 8fd06cf41b Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-27 22:55:07 +09:00
Mike Hommey b32a4ed166 Backout changeset 3fd4b546eed4 (bug 874266) and changeset a35d2e3a872f (bug 942043) for ASAN build bustage and Windows test bustage
--HG--
extra : amend_source : f20d09aeff1c8b5cbd0f1d24c7ce04e86f3aed1d
2013-11-28 14:24:05 +09:00
Mike Hommey 682364d535 Bug 874266 - Move all DEFINES that can be moved to moz.build. r=mshal 2013-11-28 13:08:16 +09:00
Benoit Girard b184a82fcb Bug 940178 - Build cairo in unified mode. r=ehsan
--HG--
extra : rebase_source : b24a1e1f1384c78f0d09d84c573d11e57024b43a
2013-11-19 10:55:02 -05:00
Jeff Muizelaar 0471905a26 Bug 845874. Switch to Y-X banded regions. r=roc
Previously our region code was just a simple y,x sorted list of
non-intersecting rectangles. This can cause us to have simple regions
represented in a complex unoptimizable way.

Switching to pixman regions gives us a canonical region implementation.

There are some cases when this can cause performance regressions.

For example, with the old region code we end up with this region:
http://people.mozilla.org/~jmuizelaar/region-pre.html
which is represented like this:
http://people.mozilla.org/~jmuizelaar/region-post.html
with the new code.

We call SimplifyOutward(4) on this. With old regions we can't simplify it so we
end up taking the bounds and get 1 rect. With the new regions we have only 3
rects to start and so we do nothing. The difference between 3 rects and 1 rect
cause D2D to do a PushLayer() instead of a ClipRect() and that seems to be the
causes for the regression.

--HG--
extra : rebase_source : 65e0d29d67b51a3780448eaecfde33dbcb6b99b1
2013-11-18 13:01:54 -05:00
Mike Hommey 2812d11fce Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey 61b0bdbe18 Bug 939622 - Remove LIBXUL_LIBRARY for intermediate libs that end up in gkmedias. r=gps
What LIBXUL_LIBRARY does is:
  - Imply FORCE_STATIC_LIB
  - Build with -DIMPL_LIBXUL
  - Build with -DMOZILLA_INTERNAL_API

Those intermediate libs that end up in gkmedias and have LIBXUL_LIBRARY defined
in their moz.build are all third party code (or handled like third party code).
Besides FORCE_STATIC_LIB, none of the side effects of LIBXUL_LIBRARY should be
needed.
2013-11-19 11:47:49 +09:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Benoit Girard 42c54a6474 Bug 918671 - Fix cairo clipping bug when nesting clips. r=jrmuizel 2013-11-12 19:11:50 +00:00
Mike Hommey 84fe98b48f Bug 870406 part n - Move more CSRCS to moz.build. r=mshal 2013-11-01 10:30:45 +09:00
Bas Schouten b484047132 Bug 811002 - Part 1: Properly apply CTM when executing win32 printing surface paints. r=jrmuizel 2013-10-25 14:50:29 +00:00
Mike Hommey b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Mike Hommey 59a17d0f20 Bug 921492 - Make StrictOrderingOnAppendList use actual alphabetical sorting. r=mshal,r=gps 2013-10-24 08:05:43 +09:00
Jacek Caban 6fb25a94f8 Bug 919479 - cairo fails to compile on mingw r=BenWa 2013-09-24 10:39:58 +02:00
Bas Schouten 7f63a5d4a3 Bug 911393 - Do not fallback for EXTEND_PAD when not needed. r=jrmuizel 2013-09-19 17:23:30 +12:00
Wes Kocher c83409e3af Backed out 5 changesets (bug 907926, bug 911393, bug 917703) due to OSX reftest bustage during an unrelated CLOSED TREE
Backed out changeset 94a6733b01dc (bug 907926)
Backed out changeset 44108fb6f7cc (bug 917703)
Backed out changeset f2dd2a27af69 (bug 911393)
Backed out changeset fdb0d1053128 (bug 907926)
Backed out changeset b3616b786e8f (bug 907926)
2013-09-19 17:56:18 -07:00
Bas Schouten 56950c3443 Bug 911393 - Do not fallback for EXTEND_PAD when not needed. r=jrmuizel 2013-09-19 17:23:30 +12:00
Jeff Muizelaar 21df65f091 Bug 914195. Improve type safety in cairo_win32_surface_create_with_d3dsurface9. r=benwa
This avoids a crash by writing to d3d9surface member on surfaces
that are not win32

--HG--
extra : rebase_source : 0aa7a67151c8d30f0b57e50a1f8570abd18081ca
2013-09-13 13:39:38 -04:00
Mike Hommey f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00