Commit Graph

1060 Commits

Author SHA1 Message Date
Lee Salzman
b50c5b4695 Bug 1179859 - Fix _cairo_box_intersects_line_segment early rejection tests. r=jrmuizel 2015-07-21 23:38:44 -04:00
Bas Schouten
2ce73b774c Bug 1187075: Implement cairo atomics for Win32. r=jrmuizel 2015-07-24 16:41:02 +00:00
Ehsan Akhgari
e1e6ebdf67 Bug 1180552 - Don't treat -Wuninitialized warnings as errors in Cairo; r=jrmuizel 2015-07-13 19:28:53 -04:00
Tom Klein
69ad936a10 Bug 853889 - Check single-box orientaton in _cairo_bentley_ottmann_tessellate_rectangular_traps and _cairo_bentley_ottmann_tessellate_boxes. r=jmuizelaar
The fix for _cairo_bentley_ottmann_tessellate_boxes is from cairo upstream
commit 11b6c49c103d53526e9805c8906fde5dbb2eb884.

--HG--
extra : rebase_source : f9a52a5c6d20e560946abc4fb61bfd4a71fafb6a
2015-06-18 13:15:00 -04:00
Ryan VanderMeulen
b290b7f37c Backed out changeset 264d12cfb073 (bug 853889) for Android 853889-1.html reftest failures.
CLOSED TREE
2015-06-17 11:43:23 -04:00
Tom Klein
5e589d88a4 Bug 853889 - Check orientation of single trapezoid in _cairo_bentley_ottmann_tessellate_rectangular_traps. r=jmuizelaar
--HG--
extra : rebase_source : 852a5923994f3d75f0ec68fe9d500f3cade5ba18
2015-06-15 16:57:00 +02:00
Ted Mielczarek
8cbf08bf4d bug 1171117 - Fix cairo to build on iOS. r=jrmuizel
Cherry-pick cairo upstream rev 70cc8f250b5669e757b4f044571ba0f71e3dea9e and add CoreText include for iOS

--HG--
extra : commitid : JgGU6cuhap3
extra : rebase_source : c3d45f452d5a7e04adfc0468cddb5e722778c9fb
2015-02-11 15:13:24 -05:00
Nathan Froyd
492600a381 Bug 1158871 - use new-style __atomic_* primitives in cairo; r=jrmuizel,ted.mielczarek
This patch is derived from upstream commit
5d150ee111c222f09e78f4f88540964476327844, without the build/ parts,
which we don't use.  In lieu of the build/ parts in the original patch,
we set the appropriate configuration bit manually in moz.build.
2015-06-05 11:05:34 -04:00
Tom Klein
21241a6bbf Bug 1063486 - Track current point in _cairo_path_bounder_curve_to r=jmuizelaar 2015-05-30 16:07:48 +01:00
Lee Salzman
c4fcd378b2 Bug 1159273 - Update Cairo/Pixman renaming to not leak the symbols we use and silence linker warnings. r=jrmuizel 2015-05-13 11:54:18 +09:00
David Major
ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Jonathan Kew
33944052e0 Bug 1149519 - Workaround for GDI's failure to return empty extents for blank glyphs. r=roc 2015-04-01 12:46:53 +01:00
Nathan Froyd
b3d7979acb Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal
Cairo has a number of nifty features predicated on support for atomic
operations on integer types.  Normally, such support would be determined
by cairo's configure script.  But since we don't run cairo's configure
script, we need to manually define HAVE_INTEL_ATOMIC_PRIMITIVES during
cairo's build.  That macro enables codepaths that depend on certain
SIZEOF_* variables being defined by autoconf, so we also need to add the
necessary code in moz.build to set those.

--HG--
extra : rebase_source : 2f00c4e48145b9f72839c57a619058a7bdec8efd
2015-01-15 15:53:28 -05:00
Joel Maher
a3b1a49f37 Bug 1125509 - [backout 70aa258394bf] 10% tsvgx linux* regression on inbound (Jan 22) from push c6ece3462afd. r=froydnj 2015-02-10 11:13:34 -05:00
Nathan Froyd
cd204fb2d9 Bug 1122235 - set HAVE_UINT64_T for cairo compilation to improve codegen; r=mshal 2015-01-15 16:17:55 -05:00
Nathan Froyd
edbf8bb57d Bug 967300 - enable cairo's atomic support on gcc-esque compilers; r=mshal
Cairo has a number of nifty features predicated on support for atomic
operations on integer types.  Normally, such support would be determined
by cairo's configure script.  But since we don't run cairo's configure
script, we need to manually define HAVE_INTEL_ATOMIC_PRIMITIVES during
cairo's build.  That macro enables codepaths that depend on certain
SIZEOF_* variables being defined by autoconf, so we also need to add the
necessary code in moz.build to set those.
2015-01-15 15:53:28 -05:00
Jacek Caban
1fb284960f Bug 1092130 - Fixed build errors found by mingw after bug 1076698 landed (-Werror=missing-braces errors). r=cpearce 2014-11-03 10:28:52 +01:00
Markus Stange
db1eb67770 Bug 1073230 - Address Jeff's review comments from bug 1011166 comment 60. r=jrmuizel 2014-09-30 13:51:09 +02:00
Nathan Froyd
1f0c37c5a5 Bug 1061791 - move CFLAGS usages in gfx/cairo/* to moz.build; r=mshal 2014-07-28 15:03:06 -04:00
Matt Woodrow
e82d0de68d Bug 1050788 - Fix a bug where cairo's region clipping code incorrectly handled empty clips. r=jrmuizel
--HG--
extra : rebase_source : 653c04da802a5e6598638baaaab05c059b46709d
2014-08-27 10:22:38 +12:00
Markus Stange
09238cf9a6 Bug 1011166 - Improve the workarounds cairo does when rendering large gradients with pixman. rubber-stamp=roc, pending r?jrmuizel 2014-08-21 13:57:55 +02:00
Gian-Carlo Pascutto
e95941b7a3 Bug 1047548 - Fix missing CXXFLAGS for no-X builds. r=glandium 2014-08-04 08:24:03 +02:00
Nathan Froyd
12c76f15f7 Bug 1042878 - part 2 - move MOZ_CAIRO_CFLAGS et al additions to C*FLAGS into moz.build; r=glandium 2014-07-24 11:55:33 -04:00
Nicolas Silva
65e4f664f6 Bug 1034593 - Backout the cairo clip optimization because it produces incorrect clipping in certain cases. r=jrmuizel 2014-07-10 20:11:01 +02:00
Jonathan Kew
469fa1b788 bug 1034230 - handle bad 'seac' in type1 charstring. r=jrmuizel 2014-07-10 10:11:26 +01:00
Ehsan Akhgari
2e7ad6a2aa Bug 1034927 - Mention the size of the pointer explicitly in order to work around a clang-cl bug; r=jrmuizel
This works around http://llvm.org/PR20216.
2014-07-07 22:45:37 -04:00
Bas Schouten
3002add78f Bug 1029919: Properly do the required composite for unbounded operators even when the fill doesn't intersect the extents. r=jrmuizel 2014-07-07 17:35:26 +02:00
Nicolas Silva
d0a4b176b1 Bug 1034593 - Teach cairo to not fail at creating oversized masks in case of huge clips. r=jrmuizel 2014-07-07 16:13:16 +02:00
Jeff Muizelaar
5169f5253e Bug 1032328. cairo: Don't use __FUNCTION__ as a string literal.
This was upstreamed as 550385fb004e6064305518cf265adc03bd2d0c0b
2014-06-30 14:26:03 -04:00
Jeff Muizelaar
305174a3aa Bug 1026461. #include intrin.h in pixman-x86.c for __cpuid.
This is required to build with clang-cl because it wraps the msvc
intrinsics in intrin.h

--HG--
extra : rebase_source : db1945bfceec5e9657f7bc93de0256b20bab70a1
2014-06-17 14:09:35 -04:00
Ehsan Akhgari
ce33c1b657 Bug 1024713 - Fix a compilation error in cairo with clang-cl; r=jrmuizel 2014-06-13 11:34:07 -04:00
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
Benoit Girard
f488d3c533 Bug 907544 - Pass the D3DSurface9 down into Cairo for LockRect. r=jrmuizel
--HG--
extra : rebase_source : 71c0f776360435d242987ffd3e2cbab8a3535c67
2013-09-04 16:53:54 -04:00
Gregory Szorc
63350a4987 Bug 896797 - Part 2: Don't list autogenerated files in EXPORTS; r=glandium 2013-09-03 20:28:05 -07:00
Phil Ringnalda
d0f16d5486 Back out ce03cc2994aa:ae9f95fc1136 (bug 896797) for SpiderMonkey shell build bustage
CLOSED TREE
2013-09-03 23:21:30 -07:00
Gregory Szorc
9df929a380 Bug 896797 - Part 2: Don't list autogenerated files in EXPORTS; r=glandium 2013-09-03 20:28:05 -07:00
Phil Ringnalda
891e62de26 Back out cc6f66e761d8 (bug 896797) for Windows build bustage
CLOSED TREE
2013-09-03 21:55:21 -07:00
Gregory Szorc
3e38679ec7 Bug 896797 - Part 2: Don't list autogenerated files in EXPORTS; r=glandium 2013-09-03 20:28:05 -07:00
Brian O'Keefe
d118b95a0d Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Ms2ger
04a948975a Bug 906619 - Part a: Move unconditional CSRCS to moz.build; r=mshal 2013-08-22 08:56:02 +02:00
Ms2ger
bdfaa84f5b Bug 904831 - Part b: Move unconditional MSVC_ENABLE_PGO definitions into moz.build; r=gps 2013-08-22 08:56:01 +02:00
Ms2ger
1c4d224f0e Bug 883284 - Part d: Move LIBXUL_LIBRARY into moz.build (f-j); r=bsmedberg 2013-08-22 08:56:00 +02:00
Ms2ger
af2c13c793 Bug 906412 - Cleanup some random parts of the build system; r=mshal 2013-08-22 08:55:59 +02:00
Joey Armstrong
bfc9abde85 bug 880773: Cleanup/final patch - remove DISABLED_SSRCS. r=mshal 2013-07-16 08:47:40 -04:00
Mike Hommey
b97d1767fc Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Trevor Saunders
f33ade0d68 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Joey Armstrong
b1d5c9aba5 bug 880773: move SSRCS to mozbuild (file batch #1). r=mshal 2013-07-01 17:09:48 -04:00
Benoit Girard
1018ec14d9 Bug 705691 - Build cairo with the MUTEX option. r=mattwoodrow 2011-11-29 14:39:07 -05:00
Phil Ringnalda
638f256ddf Back out 5495c78f77ea (bug 705691) on suspicion of causing linux32 Cipc timeouts 2013-06-26 21:19:08 -07:00
Benoit Girard
b3422100d6 Bug 705691 - Build cairo with the MUTEX option. r=mattwoodrow 2011-11-29 14:39:07 -05:00
Cameron McCormack
2afd9cd200 Bug 885585 - Work around Quartz issue where a stroke with a dasharray whose gaps add up to zero does not render. r=vlad,longsonr 2013-06-23 15:10:44 +10:00
Phil Ringnalda
19ee230192 Back out fd367ec484cf (bug 885585) for Windows reftest orange 2013-06-22 20:43:13 -07:00
Cameron McCormack
c9e47758b7 Bug 885585 - Work around Quartz issue where a stroke with a dasharray whose gaps add up to zero does not render. r=vlad,longsonr 2013-06-23 12:36:23 +10:00
Brian O'Keefe
11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Joe Drew
3e25d39d17 Bug 882173 - Build pixman with TLS support. r=jrmuizel 2013-06-12 16:05:39 -04:00
Martin Stransky
b3b0827162 Bug 877626 - Port GTK2 to GTK3 - build config, gfx dir. r=karlt 2013-06-11 13:40:27 -04:00
Bas Schouten
7093bf520b Bug 843555 - Part 2: Optimize paint with operator source when there's no clip. r=jrmuizel 2013-05-28 14:12:30 +02:00
Mike Shal
5169c0a913 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Gregory Szorc
cda3054fe8 Bug 863069 - Part 4: Reorder lists to be alphabetical; r=ted
--HG--
extra : rebase_source : 87ed9d862bc32824d518438b0be74b47a77c198a
2013-05-16 15:37:18 -07:00
Ryan VanderMeulen
995052ce79 Backed out changeset 94978dab7186 (bug 863069) for build bustage.
CLOSED TREE
2013-05-16 13:22:02 -04:00
Gregory Szorc
4b45bf9e76 Bug 863069 - Part 4: More sorting of existing lists; r=ted 2013-05-16 09:53:27 -07:00
Ted Mielczarek
3cfd62c3d2 bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Gregory Szorc
522764dec4 Bug 863069 - Part 1: Sort lists in moz.build files; r=mshal 2013-05-03 09:54:45 -07:00
Mike Shal
df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Cameron McCormack
212e180404 Bug 839745 - Flush glyphs when needed. r=jmuizelaar 2013-03-26 09:12:09 +11:00
Brian R. Bondy
495f0fc034 Bug 614772 - crash with taskbar preview [@ gfxContext::NewPath() ]. r=jmuizelaar 2013-03-22 09:40:52 -04:00
Milan Sreckovic
643024a806 Bug 825721 - Clamp negative box starts and disallow negative sizes. r=jmuizelaar 2013-03-07 10:13:28 -05:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
7d09ff18e0 Bug 844635 - Part 3: Remove empty Makefile.in files; r=glandium 2013-03-17 18:01:25 -07:00
Ali Juma
9adde3bcfe Bug 691661 - Add missing break statement in cairo-ft-font.c from upstream. r=jmuizelaar 2013-03-05 12:13:30 -05:00
Ms2ger
aea301eee3 Merge m-c to b-s. 2013-02-26 19:09:25 +01:00
Gregory Szorc
6145f28e00 Bug 784841 - Part 18o: Convert /gfx; r=jrmuizel f=Ms2ger 2013-02-25 12:47:21 -08:00
Jeff Muizelaar
b1ba094168 Bug 809821. Update pixman to 0.29.2
Ben Avison (7):
      Tweaks to lowlevel-blt-bench
      ARMv6: Lay the groundwork for later patches in the series
      ARMv6: New fill routines
      ARMv6: New blit routines
      ARMv6: New conversion routines
      ARMv6: Replacement add_8_8, over_8888_8888, over_8888_n_8888 and over_n_8_8888 routines
      Improve L1 and L2 benchmark tests for caches that don't use allocate-on-write

Benjamin Gilbert (1):
      Fix thread safety on mingw-w64 and clang

Chris Wilson (6):
      sse2: Add a fast path for add_n_8888
      sse2: Add a fast path for add_n_8_8888
      sse2: Add fast paths for bilinear source with a solid mask
      Always return a valid function from lookup_composite()
      Always return a valid function from lookup_combiner()
      Eliminate duplicate copies of channel flags for pixman_image_composite32()

Jeff Muizelaar (1):
      Add a version of bilinear_interpolation for precision <=4

Joshua Root (1):
      Fix undeclared variable use and sysctlbyname error handling on ppc

Marko Lindqvist (1):
      Fix build with automake-1.13

Matt Turner (2):
      Add new demos and tests to .gitignore
      Convert INCLUDES to AM_CPPFLAGS

Nemanja Lukic (5):
      MIPS: DSPr2: Added more fast-paths for SRC operation:
      MIPS: DSPr2: Added more fast-paths for OVER operation:
      MIPS: DSPr2: Added several nearest neighbor fast paths with a8 mask:
      MIPS: DSPr2: Added more fast-paths for REVERSE operation:      - out_reverse_8_0565      - out_reverse_8_8888
      MIPS: DSPr2: Added more fast-paths:      - over_reverse_n_8888      - in_n_8_8

Siarhei Siamashka (21):
      test: Change is_little_endian() into inline function
      test: Added a better PRNG (pseudorandom number generator)
      test: Search/replace 'lcg_*' -> 'prng_*'
      test: Switch to the new PRNG instead of old LCG
      test: Get rid of the obsolete 'prng_rand_N' and 'prng_rand_u32'
      Improve performance of combine_over_u
      test: Workaround unaligned MOVDQA bug (http://gcc.gnu.org/PR55614)
      test: add "src_0565_8888" to lowlevel-blt-bench
      Change CONVERT_XXXX_TO_YYYY macros into inline functions
      Faster conversion from a8r8g8b8 to r5g6b5 in C code
      ARM: make use of UQADD8 instruction even in generic C code paths
      Rename 'xor' variable to 'filler' (because 'xor' is a C++ keyword)
      Define SIZE_MAX if it is not provided by the standard C headers
      Use more appropriate types and remove a magic constant
      Added C variants of r5g6b5 fetch/write-back iterators
      Faster write-back for the C variant of r5g6b5 dest iterator
      Faster fetch for the C variant of r5g6b5 src/dest iterator
      Add higher precision "pixman_transform_point_*" functions
      configure.ac: Added detection for __float128 support
      test: Added matrix-test for testing projective transform accuracy
      Use pixman_transform_point_31_16() from pixman_transform_point()

Stefan Weil (3):
      Always use xmmintrin.h for 64 bit Windows
      pixman: Use uintptr_t in type casts from pointer to integral value
      test: Fix compiler warnings caused by unused code

Søren Sandmann Pedersen (37):
      Post-release version bump to 0.27.5
      Pre-release version bump to 0.28.0
      Post-release version bump to 0.29.1
      pixman_image_composite: Reduce opaque masks to NULL
      pixman.h: Add typedefs for pixman_f_transform and pixman_f_vector
      Allow src and dst to be identical in pixman_f_transform_invert()
      Round fixed-point multiplication
      Convolution filter: round color values instead of truncating
      Add text file rounding.txt describing how rounding works
      Add new filter PIXMAN_FILTER_SEPARABLE_CONVOLUTION
      rounding.txt: Describe how SEPARABLE_CONVOLUTION filter works
      Add new pixman_filter_create_separable_convolution() API
      demos/gtk-utils.[ch]: Add pixman_image_from_file()
      demos: Add new demo program, "scale"
      Add demos/zone_plate.png
      Add demo program for conical gradients
      Add fast paths for separable convolution
      demos/radial-test: Add zero-radius circles to demonstrate rendering bugs
      radial: When comparing t to mindr, use >= rather than >
      test/utils.[ch]: Add utility function to draw a checkerboard
      demos/conical-test: Use the draw_checkerboard() utility function
      demos/radial-test: Add checkerboard to display the alpha channel
      Add testing of trapezoids to stress-test
      pixman_composite_trapezoids: Return early if mask_format is not of TYPE_ALPHA
      pixman_composite_trapezoids(): Check for NULL return from create_bits()
      float-combiner.c: Change tests for x == 0.0 tests to - FLT_MIN < x < FLT_MIN
      Handle solid images in the noop iterator
      pixman-filter.c: Cope with NULL returns from malloc()
      README: Add guidelines on how to contribute patches
      test/utils.[ch]: Add new function operator_name()
      utils.[ch]: Add new format_name() function
      test: Use operator_name() and format_name() in composite.c
      demo/scale: Add a spin button to set the number of subsample bits
      pixman-combine-float.c: Use IS_ZERO() in clip_color() and set_sat()
      Change default GPGKEY to 3892336E, which is soren.sandmann@gmail.com
      stresstest: Ensure that the rasterizer is only given alpha formats
      Pre-release version bump to 0.29.2
2013-02-18 10:17:08 -05:00
Tatiana Meshkova
147bf694f6 Bug 842805 - Use of API deprecated in Qt5. r=romaxa, r=glandium 2013-02-25 12:25:16 -08:00
Jonathan Kew
4151979abe bug 838617 - don't assert equality with the key's hash unless it was actually initialized. r=roc 2013-02-07 00:24:52 +00:00
Jeff Muizelaar
9142ba12cb Bug 836171. Update pixman to 0.27.4
Andrea Canciani (2):
      mmx: Fix x86 build on MSVC
      build: Improve win32 build system

Benny Siegert (1):
      configure.ac: PIXMAN_LINK_WITH_ENV fix

Matt Turner (3):
      build: Remove useless DEP_CFLAGS/DEP_LIBS variables
      sse2: mark pack_565_2x128_128 as static force_inline
      iwmmxt: Don't define dummy _mm_empty for >=gcc-4.8

Nemanja Lukic (7):
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_8888 - over_8888_8_8888
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_8888_n_0565 - over_8888_8_0565
      MIPS: DSPr2: Added fast-paths for OVER operation: - over_0565_n_0565 - over_0565_8_0565
      MIPS: DSPr2: Added OVER combiner and two new fast paths: - over_8888_8888 - over_8888_8888_8888
      MIPS: DSPr2: Added fast-paths for ADD operation: - add_n_8_8 - add_n_8_8888 - add_8_8_8
      MIPS: DSPr2: Added more fast-paths for ADD operation: - add_0565_8_0565 - add_8888_8_8888 - add_8888_n_8888
      MIPS: DSPr2: Added more fast-paths for ADD operation: - add_8888_8888_8888 - add_8_8 - add_8888_8888

Siarhei Siamashka (4):
      Add scaled nearest repeat fast paths
      MIPS: skip runtime detection for DSPr2 if -mdspr2 option is in CFLAGS
      Add missing force_inline to in() function used for C fast paths
      Workaround for FTBFS with gcc 4.6 (http://gcc.gnu.org/PR54965)

Søren Sandmann Pedersen (44):
      Post-release version bump to 0.27.3
      Define TIMER_BEGIN and TIMER_END even when timers are not enabled
      Make show_image() cope with more formats
      demos: Add srgb_trap_test.c
      Remove pointless declaration of _pixman_image_get_scanline_generic_64()
      Remove obsolete TODO file
      pixel_checker: Move sRGB conversion into get_limits()
      test/utils.c: Use pow(), not powf() in sRGB conversion routines
      implementation: Write lookup_combiner() in a less convoluted way.
      Move blt delegation into pixman-implementation.c
      Move fill delegation into pixman-implementation.c
      Move delegation of src/dest iter init into pixman-implementation.c
      Rename _pixman_lookup_composite_function() to _pixman_implementation_lookup_composite()
      _pixman_implementation_create(): Initialize implementation with memset()
      implementation: Rename delegate to fallback
      Add PIXMAN_x8b8g8r8 and PIXMAN_a8b8g8r8 formats to scaling-test
      Fix bug in fast_composite_scaled_nearest()
      Fix bugs in component alpha combiners for separable PDF operators
      Add rotate-test.c test program
      Fix bugs in pixman-image.c
      pixman-combine.c.template: Formatting clean-ups
      affine-test: Print out the transformation matrix when verbose
      test: Add inifinite-loop test
      Fix for infinite-loop test
      rotate-test: Call image_endian_swap() in make_image()
      Make pixman.h more const-correct
      glyph-test: Prepare for floating point
      blitters-test: Prepare for floating point
      Add pixman-combine-float.c
      Add combiner test
      pixman-utils.c, pixman-private.h: Add floating point conversion routines
      pixman-access.c: Add floating point accessor functions
      Switch the wide pipeline over to using floating point
      Remove 64 bit pipeline
      Don't auto-generate pixman-combine32.[ch] anymore
      Speed up pixman_expand_to_float()
      Remove BUILT_SOURCES
      Only regard images as pixbufs if they have identity transformations
      region: Formatting fix
      region: Remove overlap argument from pixman_op()
      Add new pixman_image_create_bits_no_clear() API
      pixman_composite_trapezoids(): Factor out extents computation
      pixman_composite_trapezoids(): don't clip to extents for some operators
      Pre-release version bump to 0.27.4

--HG--
extra : rebase_source : ed5b5f0184dd19b2ae5caa43edee6effce14efaf
2013-02-04 15:16:01 -05:00
Jeff Muizelaar
24e7f9e214 Bug 829035. Reduce pixman bilinear precision to match upstream. 2013-02-03 16:47:01 -05:00
Anthony Jones
d19ecd5663 Bug 825987 - Backed out changesets 1b9a99a17afb and 74493ca34d5e (bug 691061) due to regression with saving PDFs. 2013-01-30 08:39:37 -05:00
Jeff Muizelaar
eb54374954 Bug 828789. Update to pixman 0.27.2.
Alan Coopersmith (2):
      Make mmx code compatible with Solaris Studio 12.3 compilers
      Just use xmmintrin.h when building with Solaris Studio compilers

Andrea Canciani (7):
      Remove useless checks for NULL before freeing
      test: Cleanup includes
      Use the ARRAY_LENGTH() macro when possible
      test: Reuse the ARRAY_LENGTH() macro
      demos: Consistently use G_N_ELEMENTS()
      test: Produce autotools-looking report in the win32 build system
      build: Fix compilation on win32

Antti S. Lankila (5):
      Faster unorm_to_unorm for wide processing.
      Remove unnecessary dst initialization
      Add support for sRGB surfaces
      Add sRGB blending demo program
      Add tests to validate new sRGB behavior

Bobby Salazar (2):
      Android Runtime Detection Support For ARM NEON
      iOS Runtime Detection Support For ARM NEON

Chun-wei Fan (1):
      Just include xmmintrin.h on MSVC as well

Colin Walters (1):
      autogen.sh: Support GNOME Build API

Ingmar Runge (1):
      Fix MSVC compilation

Jeremy Huddleston (7):
      configure.ac: Add an --enable-libpng option
      Revert "Disable MMX when Clang is being used."
      Silence a warning about unused pixman_have_mmx
      Disable MMX when incompatible clang is being used.
      Expand TLS support beyond __thread to __declspec(thread)
      Fix a false-negative in MMX check
      configure.ac: Fix a copy-paste-o in TLS detection

Matt Turner (60):
      Use AC_LANG_SOURCE for iwMMXt configure program
      Make sure to run AC_SUBST IWMMXT_CFLAGS
      Convert while (w) to if (w) when possible
      autoconf: use #error instead of error
      mmx: enable over_x888_8_8888 on ARM/iwMMXt
      mmx: Use _mm_mulhi_pu16
      mmx: Use _mm_shuffle_pi16
      mmx: fix typo in pix_add_mul on MSVC
      Update .gitignore with more demos and tests
      mmx: make store8888 take uint32_t *dest as argument
      mmx: make load8888 take a pointer to data instead of the data itself
      lowlevel-blt: add over_8888_8888
      lowlevel-blt: add over_x888_n_8888
      lowlevel-blt-bench: add in_8_8 and in_n_8_8
      Use AC_LANG_SOURCE for DSPr2 configure program
      mmx: enable over_n_0565 for b5g6r5
      mmx: Use force_inline instead of __inline__ (bug 46906)
      configure.ac: require >= gcc-4.5 for ARM iwMMXt
      mmx: fix _mm_shuffle_pi16 function when compiling without optimization
      configure.ac: fix iwMMXt/gcc version error message
      mmx: add store function and use it in add_8888_8888
      mmx: add load function and use it in add_8888_8888
      mmx: make ldq_u take __m64* directly
      mmx: compile on MIPS for Loongson MMI optimizations
      mmx: remove unnecessary uint64_t<->__m64 conversions
      mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
      mmx: introduce is_equal, is_opaque, and is_zero functions
      mmx: don't pack and unpack src unnecessarily
      mmx: Use Loongson pinsrh instruction in pack_565
      mmx: Use Loongson pextrh instruction in expand565
      mmx: add r5g6b5 fetcher
      mmx: add a8 fetcher
      mmx: add x8f8g8b8 fetcher
      mmx: add src_8888_0565
      mmx: Use wpackhus in src_x888_0565 on iwMMXt
      .gitignore: add demos/checkerboard and demos/quad2quad
      configure.ac: make -march=loongson2f come before CFLAGS
      mmx: add and use pack_4x565 function
      configure.ac: Fix loongson-mmi out-of-tree builds
      configure.ac: Rename loongson -> loongson-mmi
      configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
      mmx: add and use expand_4xpacked565 function
      mmx: implement expand_4x565 in terms of expand_4xpacked565
      fast: add add_0565_0565 function
      mmx: add add_0565_0565
      mmx: add over_reverse_n_8888
      mmx: add missing _mm_empty calls
      autotools: use custom build rule to build iwMMXt code
      configure.ac: add iwmmxt2 configure flag
      .gitignore: add test/glyph-test
      sse2: enable over_n_0565 for b5g6r5
      sse2: add src_x888_0565
      Fix distcheck due to custom iwMMXt rules
      mmx: Use expand_alpha instead of mask/shift
      mmx: add scaled bilinear src_8888_8888
      mmx: add scaled bilinear over_8888_8888
      mmx: add scaled bilinear over_8888_8_8888
      mmx: optimize bilinear function when using 7-bit precision
      loongson: optimize _mm_set_pi* functions with shuffle instructions
      sse2: add missing ABGR entires for bilinear src_8888_8888

Naohiro Aota (1):
      Don't use non-POSIX test

Nemanja Lukic (9):
      MIPS: DSPr2: Basic infrastructure for MIPS architecture
      MIPS: DSPr2: Added fast-paths for SRC operation.
      MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
      MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
      MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
      MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
      MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
      MIPS: DSPr2: Added several bilinear fast paths with a8 mask
      MIPS: DSPr2: Added more bilinear fast paths (without mask)

Sebastian Bauer (4):
      Qualify the static variables in pixman_f_transform_invert() with the const keyword.
      Changed the style of two function headers
      Added HAVE_CONFIG_H check before including config.h
      Use angle brackets form of including config.h

Siarhei Siamashka (8):
      test: OpenMP 2.5 requires signed loop iteration variables
      test: fix bisecting issue in fuzzer-find-diff.pl
      test: Fix for strict aliasing issue in 'get_random_seed'
      test: support nearest/bilinear scaling in lowlevel-blt-bench
      sse2: faster bilinear scaling (use _mm_loadl_epi64)
      Bilinear interpolation precision is now configurable at compile time
      sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
      Change default bilinear interpolation precision to 7 bits

Søren Sandmann Pedersen (81):
      Post-release version bump to 0.25.1
      region: Add pixman_region{,32}_clear() functions.
      Modify gradient-test to show a bug in NONE processing
      gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
      pixman-image.c: Fix typo in pixman_image_set_transform()
      Fix some signed overflow bugs
      Add missing cast in _pixman_edge_multi_init()
      Fix a bunch of signed overflow issues
      In MUL_UNc() cast to comp2_t
      Reject trapezoids where top (botttom) is above (below) the edges
      Fix rounding for DIV_UNc()
      test: In the alphamap test, also test that we get the right red value
      Fix bugs with alpha maps
      test/alphamap.c: Make dst and orig_dst more independent of each other
      Get rid of delegates for combiners
      Move the color_correct() function from composite.c to utils.c
      Rename color_correct() to round_color()
      test: Add a new "pixel_checker_t" object.
      test: Port composite test over to use new pixel_checker_t object.
      Revert "Reject trapezoids where top (botttom) is above (below) the edges"
      mmx: Enable over_x888_8_8888() for x86 as well
      mmx: Delete unused function in_over_full_src_alpha()
      Disable MMX when Clang is being used.
      Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
      Move fetching for solid bits images to pixman-noop.c
      pixman-accessors.h: Delete unused macros
      pixman-access.c: Remove some unused macros
      mmx: Squash a warning by making the argument to ldl_u() const
      Pre-release version bump to 0.25.2
      Post-release version bump to 0.25.3
      Use "=a" and "=d" constraints for rdtsc inline assembly
      demos: Add quad2quad program
      demos: Add checkerboard demo
      composite-test.c: Use similar gradient to the one in the PDF spec.
      composite-test.c: Add a parrot image
      Add the original parrot image.
      Rename fast_composite_add_1000_1000 to _add_1_1()
      gtk-utils.c: Don't include pixman-private.h
      test/utils.c: Rename and export the pngify_pixels() function.
      gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
      test/utils.c: Clip values to the [0, 255] interval
      bits_image_fetch_pixel_convolution(): Make sure channels are signed
      Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
      demos/Makefile.am: Add parrot.c to EXTRA_DIST
      Pre-release version bump to 0.25.6
      Post-release version bump to 0.25.7
      demos: Add parrot.jpg to EXTRA_DIST
      test: Composite with solid images instead of using pixman_image_fill_*
      Pre-release version bump to 0.26.0
      Post-release version bump to 0.27.1
      Pass the full image flags to iterators
      Make use of image flags in mmx and sse2 iterators
      Add doubly linked lists
      Add pixman_glyph_cache_t API
      Move CRC32 computation from blitters-test.c into utils.c
      Add support for alpha maps to compute_crc32_for_image().
      test: Add glyph-test
      Speed up pixman_composite_glyphs()
      Speed up _pixman_composite_glyphs_no_mask()
      Speed up _pixman_image_get_solid() in common cases
      bits-image: Turn all the fetchers into iterator getters
      test: Make glyph test pass on big endian
      test: Add missing break in stress-test.c
      test: Make stress-test more likely to actually composite something
      In fast_composite_tiled_repeat() don't clone images with a palette
      Use a compile-time constant for the "K" constraint in the MMX detection.
      pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
      Move x86 specific CPU detection to a new file pixman-x86.c
      Move ARM specific CPU detection to a new file pixman-arm.c
      Move PowerPC specific CPU detection to its own file pixman-ppc.c
      Move MIPS specific CPU detection to its own file, pixman-mips.c
      Move the remaining bits of pixman-cpu into pixman-implementation.c
      Simplify MIPS CPU detection
      Simplifications to ARM CPU detection
      Simplify CPU detection on PPC.
      Cleanups and simplifications in x86 CPU feature detection
      Make pixman-mmx.c compile on x86-32 without optimization
      Add make-srgb.pl to EXTRA_DIST
      stress-test: Avoid overflows in clip rectangles
      glyph-test: Avoid setting solid images as alpha maps.
      Pre-release version bump to 0.27.2
* * *

--HG--
extra : rebase_source : d5b871a3b10fe0123f6e50cf98c3621532e5d914
2013-01-08 14:09:48 -05:00
Justin Lebar
94af92dd8f Bug 832752 - On ARM, compile pixman without -mapcs-frame, even if that's specified in CFLAGS, since this calling convention appears to break the routines written in assembly. r=glandium,jrmuizel 2013-01-23 12:29:20 -05:00
Nicholas Nethercote
aac86acc69 Bug 394311 - Stop building with -pedantic. r=ted,dbaron.
--HG--
rename : content/svg/content/nsISVGPoint.cpp => content/svg/content/src/DOMSVGPoint.cpp
rename : docshell/test/browser/browser_bug234628-9.js => docshell/test/browser/browser_bug134911.js
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1-ref.html => layout/reftests/css-calc/background-image-gradient-1-ref.html
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1.html => layout/reftests/css-calc/background-image-gradient-1.html
rename : layout/reftests/w3c-css/submitted/values3/reftest.list => layout/reftests/css-calc/reftest.list
rename : layout/reftests/text/auto-hyphenation-10-ref.html => layout/reftests/text/auto-hyphenation-10.html
rename : layout/reftests/text/auto-hyphenation-8-ref.html => layout/reftests/text/auto-hyphenation-8.html
rename : layout/reftests/text/auto-hyphenation-9-ref.html => layout/reftests/text/auto-hyphenation-9.html
extra : rebase_source : 012df725d55b031ccc03d9bfcf785056d95a2ebe
2013-01-20 14:12:42 -08:00
Jeff Muizelaar
8e9c60c5a9 Backout bug 828789 (bb755890ec69) because of bug 829335
Backout pixman update.
CLOSED TREE

--HG--
extra : transplant_source : Q%C9%98%DD%A3%83%8CW%22%18k%7B%26VR%8C%5B%FF%91%3E
2013-01-10 18:50:12 -05:00
Jeff Muizelaar
5368f2819c Bug 828789. Update to pixman 0.26.2.
Alan Coopersmith (2):
      Make mmx code compatible with Solaris Studio 12.3 compilers
      Just use xmmintrin.h when building with Solaris Studio compilers

Andrea Canciani (7):
      Remove useless checks for NULL before freeing
      test: Cleanup includes
      Use the ARRAY_LENGTH() macro when possible
      test: Reuse the ARRAY_LENGTH() macro
      demos: Consistently use G_N_ELEMENTS()
      test: Produce autotools-looking report in the win32 build system
      build: Fix compilation on win32

Antti S. Lankila (5):
      Faster unorm_to_unorm for wide processing.
      Remove unnecessary dst initialization
      Add support for sRGB surfaces
      Add sRGB blending demo program
      Add tests to validate new sRGB behavior

Bobby Salazar (2):
      Android Runtime Detection Support For ARM NEON
      iOS Runtime Detection Support For ARM NEON

Chun-wei Fan (1):
      Just include xmmintrin.h on MSVC as well

Colin Walters (1):
      autogen.sh: Support GNOME Build API

Ingmar Runge (1):
      Fix MSVC compilation

Jeremy Huddleston (7):
      configure.ac: Add an --enable-libpng option
      Revert "Disable MMX when Clang is being used."
      Silence a warning about unused pixman_have_mmx
      Disable MMX when incompatible clang is being used.
      Expand TLS support beyond __thread to __declspec(thread)
      Fix a false-negative in MMX check
      configure.ac: Fix a copy-paste-o in TLS detection

Matt Turner (60):
      Use AC_LANG_SOURCE for iwMMXt configure program
      Make sure to run AC_SUBST IWMMXT_CFLAGS
      Convert while (w) to if (w) when possible
      autoconf: use #error instead of error
      mmx: enable over_x888_8_8888 on ARM/iwMMXt
      mmx: Use _mm_mulhi_pu16
      mmx: Use _mm_shuffle_pi16
      mmx: fix typo in pix_add_mul on MSVC
      Update .gitignore with more demos and tests
      mmx: make store8888 take uint32_t *dest as argument
      mmx: make load8888 take a pointer to data instead of the data itself
      lowlevel-blt: add over_8888_8888
      lowlevel-blt: add over_x888_n_8888
      lowlevel-blt-bench: add in_8_8 and in_n_8_8
      Use AC_LANG_SOURCE for DSPr2 configure program
      mmx: enable over_n_0565 for b5g6r5
      mmx: Use force_inline instead of __inline__ (bug 46906)
      configure.ac: require >= gcc-4.5 for ARM iwMMXt
      mmx: fix _mm_shuffle_pi16 function when compiling without optimization
      configure.ac: fix iwMMXt/gcc version error message
      mmx: add store function and use it in add_8888_8888
      mmx: add load function and use it in add_8888_8888
      mmx: make ldq_u take __m64* directly
      mmx: compile on MIPS for Loongson MMI optimizations
      mmx: remove unnecessary uint64_t<->__m64 conversions
      mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565
      mmx: introduce is_equal, is_opaque, and is_zero functions
      mmx: don't pack and unpack src unnecessarily
      mmx: Use Loongson pinsrh instruction in pack_565
      mmx: Use Loongson pextrh instruction in expand565
      mmx: add r5g6b5 fetcher
      mmx: add a8 fetcher
      mmx: add x8f8g8b8 fetcher
      mmx: add src_8888_0565
      mmx: Use wpackhus in src_x888_0565 on iwMMXt
      .gitignore: add demos/checkerboard and demos/quad2quad
      configure.ac: make -march=loongson2f come before CFLAGS
      mmx: add and use pack_4x565 function
      configure.ac: Fix loongson-mmi out-of-tree builds
      configure.ac: Rename loongson -> loongson-mmi
      configure.ac: Fail the ARM/iwMMXt test if not compiling with -march=iwmmxt
      mmx: add and use expand_4xpacked565 function
      mmx: implement expand_4x565 in terms of expand_4xpacked565
      fast: add add_0565_0565 function
      mmx: add add_0565_0565
      mmx: add over_reverse_n_8888
      mmx: add missing _mm_empty calls
      autotools: use custom build rule to build iwMMXt code
      configure.ac: add iwmmxt2 configure flag
      .gitignore: add test/glyph-test
      sse2: enable over_n_0565 for b5g6r5
      sse2: add src_x888_0565
      Fix distcheck due to custom iwMMXt rules
      mmx: Use expand_alpha instead of mask/shift
      mmx: add scaled bilinear src_8888_8888
      mmx: add scaled bilinear over_8888_8888
      mmx: add scaled bilinear over_8888_8_8888
      mmx: optimize bilinear function when using 7-bit precision
      loongson: optimize _mm_set_pi* functions with shuffle instructions
      sse2: add missing ABGR entires for bilinear src_8888_8888

Naohiro Aota (1):
      Don't use non-POSIX test

Nemanja Lukic (9):
      MIPS: DSPr2: Basic infrastructure for MIPS architecture
      MIPS: DSPr2: Added fast-paths for SRC operation.
      MIPS: DSPr2: Added mips_dspr2_blt and mips_dspr2_fill routines.
      MIPS: DSPr2: Added over_n_8888_8888_ca and over_n_8888_0565_ca fast paths.
      MIPS: DSPr2: Added over_n_8_8888 and over_n_8_0565 fast paths.
      MIPS: DSPr2: Fix bug in over_n_8888_8888_ca/over_n_8888_0565_ca routines
      MIPS: DSPr2: Added bilinear over_8888_8_8888 fast path.
      MIPS: DSPr2: Added several bilinear fast paths with a8 mask
      MIPS: DSPr2: Added more bilinear fast paths (without mask)

Sebastian Bauer (4):
      Qualify the static variables in pixman_f_transform_invert() with the const keyword.
      Changed the style of two function headers
      Added HAVE_CONFIG_H check before including config.h
      Use angle brackets form of including config.h

Siarhei Siamashka (8):
      test: OpenMP 2.5 requires signed loop iteration variables
      test: fix bisecting issue in fuzzer-find-diff.pl
      test: Fix for strict aliasing issue in 'get_random_seed'
      test: support nearest/bilinear scaling in lowlevel-blt-bench
      sse2: faster bilinear scaling (use _mm_loadl_epi64)
      Bilinear interpolation precision is now configurable at compile time
      sse2: _mm_madd_epi16 for faster bilinear scaling with 7-bit precision
      Change default bilinear interpolation precision to 7 bits

Søren Sandmann Pedersen (81):
      Post-release version bump to 0.25.1
      region: Add pixman_region{,32}_clear() functions.
      Modify gradient-test to show a bug in NONE processing
      gradient-walker: For NONE repeats, when x < 0 or x > 1, set both colors to 0
      pixman-image.c: Fix typo in pixman_image_set_transform()
      Fix some signed overflow bugs
      Add missing cast in _pixman_edge_multi_init()
      Fix a bunch of signed overflow issues
      In MUL_UNc() cast to comp2_t
      Reject trapezoids where top (botttom) is above (below) the edges
      Fix rounding for DIV_UNc()
      test: In the alphamap test, also test that we get the right red value
      Fix bugs with alpha maps
      test/alphamap.c: Make dst and orig_dst more independent of each other
      Get rid of delegates for combiners
      Move the color_correct() function from composite.c to utils.c
      Rename color_correct() to round_color()
      test: Add a new "pixel_checker_t" object.
      test: Port composite test over to use new pixel_checker_t object.
      Revert "Reject trapezoids where top (botttom) is above (below) the edges"
      mmx: Enable over_x888_8_8888() for x86 as well
      mmx: Delete unused function in_over_full_src_alpha()
      Disable MMX when Clang is being used.
      Disable implementations mentioned in the PIXMAN_DISABLE environment variable.
      Move fetching for solid bits images to pixman-noop.c
      pixman-accessors.h: Delete unused macros
      pixman-access.c: Remove some unused macros
      mmx: Squash a warning by making the argument to ldl_u() const
      Pre-release version bump to 0.25.2
      Post-release version bump to 0.25.3
      Use "=a" and "=d" constraints for rdtsc inline assembly
      demos: Add quad2quad program
      demos: Add checkerboard demo
      composite-test.c: Use similar gradient to the one in the PDF spec.
      composite-test.c: Add a parrot image
      Add the original parrot image.
      Rename fast_composite_add_1000_1000 to _add_1_1()
      gtk-utils.c: Don't include pixman-private.h
      test/utils.c: Rename and export the pngify_pixels() function.
      gtk-utils.c: In pixbuf_from_argb32() use a8r8g8b8_to_rgba_np()
      test/utils.c: Clip values to the [0, 255] interval
      bits_image_fetch_pixel_convolution(): Make sure channels are signed
      Add Makefile.win32 and Makefile.win32.common to EXTRA_DIST
      demos/Makefile.am: Add parrot.c to EXTRA_DIST
      Pre-release version bump to 0.25.6
      Post-release version bump to 0.25.7
      demos: Add parrot.jpg to EXTRA_DIST
      test: Composite with solid images instead of using pixman_image_fill_*
      Pre-release version bump to 0.26.0
      Post-release version bump to 0.27.1
      Pass the full image flags to iterators
      Make use of image flags in mmx and sse2 iterators
      Add doubly linked lists
      Add pixman_glyph_cache_t API
      Move CRC32 computation from blitters-test.c into utils.c
      Add support for alpha maps to compute_crc32_for_image().
      test: Add glyph-test
      Speed up pixman_composite_glyphs()
      Speed up _pixman_composite_glyphs_no_mask()
      Speed up _pixman_image_get_solid() in common cases
      bits-image: Turn all the fetchers into iterator getters
      test: Make glyph test pass on big endian
      test: Add missing break in stress-test.c
      test: Make stress-test more likely to actually composite something
      In fast_composite_tiled_repeat() don't clone images with a palette
      Use a compile-time constant for the "K" constraint in the MMX detection.
      pixman-cpu.c: Rename disabled to _pixman_disabled() and export it
      Move x86 specific CPU detection to a new file pixman-x86.c
      Move ARM specific CPU detection to a new file pixman-arm.c
      Move PowerPC specific CPU detection to its own file pixman-ppc.c
      Move MIPS specific CPU detection to its own file, pixman-mips.c
      Move the remaining bits of pixman-cpu into pixman-implementation.c
      Simplify MIPS CPU detection
      Simplifications to ARM CPU detection
      Simplify CPU detection on PPC.
      Cleanups and simplifications in x86 CPU feature detection
      Make pixman-mmx.c compile on x86-32 without optimization
      Add make-srgb.pl to EXTRA_DIST
      stress-test: Avoid overflows in clip rectangles
      glyph-test: Avoid setting solid images as alpha maps.
      Pre-release version bump to 0.27.2
* * *

--HG--
extra : rebase_source : 979841b7b315ca9ed7995ece39333dce541238fd
2013-01-08 14:09:48 -05:00
Robert O'Callahan
0970e2f92e Bug 717178. Part 3 alternative: don't put Win32 cairo_font_face_ts into the font-face cache if they were created with an explicit HFONT. r=jrmuizel
--HG--
extra : rebase_source : 8bbba7328f422807de458cb64e0e5ce4e8060b31
2013-01-02 19:18:53 +13:00
Adrian Johnson
9f7a8e7829 win32: fix font_face hashing
win32: Use a font_face hash table to provide unique font faces

win32-font: Improve static data reset function

Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======

From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).

This makes the function simpler and fixes the assertion

Assertion failed: predicate != NULL, file cairo-hash.c, line 373

hit by multiple tests (the first one being "clear").

See https://bugs.freedesktop.org/show_bug.cgi?id=38049

======

From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.

This fixes the multiple embedding of the same font in PDF.

https://bugs.freedesktop.org/show_bug.cgi?id=24849

======

From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
some bugs were discovered while testing with firefox

======

--HG--
extra : rebase_source : 6bbb299194f2296522e36bfeb68d1e8ebc2d1f17
2010-11-18 12:37:45 +00:00
Ms2ger
09400dc8df Backout bug 814718, bug 717178 for exceptions in test_text.html on Windows. 2013-01-01 13:34:34 +01:00
Robert O'Callahan
1abce7564f bug 717178. Part 2.5: Make cairo_win32_font_face_create_for_logfontw_hfont take ownership of the HFONT. r=jrmuizel 2013-01-01 17:53:32 +13:00
Andrea Canciani
f29ed4b405 win32-font: Improve static data reset function
Bug 717178. Part 2: Import changesets eb29a25d, 6e3e3291 and 101fab7c from upstream.
======

From 101fab7cd8a90f7cf3d8113c792b3f8c2a9afb7d Mon Sep 17 00:00:00 2001
The hashtable is guaranteed to only contain font faces which are
currently referenced, hence there is no need to remove any font face
when it is reset (just like for toy-font).

This makes the function simpler and fixes the assertion

Assertion failed: predicate != NULL, file cairo-hash.c, line 373

hit by multiple tests (the first one being "clear").

See https://bugs.freedesktop.org/show_bug.cgi?id=38049

======

From eb29a25dd6dddc511388bf883c9b95843ecdb823 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Tue, 16 Nov 2010 13:18:39 +0000
Subject: win32: Use a font_face hash table to provide unique font faces

Similar to the freetype and toy font backends, use a hash table
to map logfont,hfont to font faces.

This fixes the multiple embedding of the same font in PDF.

https://bugs.freedesktop.org/show_bug.cgi?id=24849

======

From 6e3e329170ab4b96bc0d587c8071e869e228e758 Mon Sep 17 00:00:00 2001
From: Adrian Johnson <ajohnson@redneon.com>
Date: Thu, 18 Nov 2010 12:37:45 +0000
Subject: win32: fix font_face hashing

some bugs were discovered while testing with firefox

======
2011-06-15 09:37:36 +00:00
George Wright
1984b6bdba Bug 815795 - Fix an integer overflow by casting unit_x to int64_t. From upstream commit de60e2e0e3eb6084f8f14b63f25b3cbfb r=jrmuizel 2012-12-19 18:10:07 -05:00
Justin Lebar
f59a238e0b Bug 820540 - Build more things with -funwind-tables when DMD is enabled on ARM. r=glandium
This allows our backtraces to trace into more files.

As part of this fix, fix typo in gfx/cairo/cairo/src/Makefile.in introduced in bug 785422.
2012-12-12 11:15:35 -05:00
Tobias Netzel
402385fd80 Bug 817045 - Note and patch in gfx/cairo. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Tobias Netzel
87abbd02db Bug 817045 - Enable libpixman VMX acceleration. r=jmuizelaar 2012-12-03 20:26:16 -05:00
Joe Drew
fe7f705923 Bug 813124 - Make Cairo's image surface correctly handle having multiple clip paths set on the context. r=jrmuizel,roc 2012-11-23 11:57:10 -05:00
Nicolas Silva
898bf5f30f b=811115 - remove MOZ_EGL_XRENDER_COMPOSITE dead code. r=jgilbert 2012-11-18 16:47:57 +01:00
Jonathan Kew
2452bcd15e bug 715798 pt 2.1 - add patch for huge emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:05:53 +01:00
Jonathan Kew
8cd04846fc bug 715798 pt 2 - fall back to show_text_glyphs even at huge sizes if scaled_font_glyph_path didn't work. r=jrmuizel 2012-10-23 10:04:32 +01:00
Jonathan Kew
172bbba808 bug 715798 pt 1.1 - add patch for Apple color emoji support to the gfx/cairo directory (NPOTB) 2012-10-23 10:03:12 +01:00
Jonathan Kew
883dd45a49 bug 715798 pt 1 - support Apple Color Emoji font in cairo-quartz backend. r=jrmuizel 2012-10-23 09:58:13 +01:00