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

964 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman a452602084 Bug 1202696 - check surface status in _cairo_surface_get_extents. r=jmuizelaar
--HG--
extra : rebase_source : bf9bf49cf9829370ab20567f10ce4c20fa5c9fca
2015-09-23 14:40:18 -04:00
Nicholas Nethercote f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Nathan Froyd cc763887fa Bug 1186444 - part 1 - move uses of MODULE_OPTIMIZE_FLAGS to moz.build's CFLAGS; r=mshal
Now that we have moz.build, we can be guaranteed that any flags we add
in moz.build will be added after everything else has been setup.  So any
uses of MODULE_OPTIMIZE_FLAGS can be moved to moz.build's
CFLAGS/CXXFLAGS without any unusual repercussions.  We do have to verify
that MOZ_OPTIMIZE is in effect, though.
2015-07-22 11:04:32 -04:00
Nathan Froyd 7894c2fd13 Bug 1191900 - remove superfluous check for GCC force_align_arg_pointer attribute; r=glandium
qcms and libav use __attribute__((force_align_arg_pointer))
unconditionally; the libav use case suggests that the attribute has been
around since GCC 4.2.  We're well past that point with GCC, and clang
supports it also.  So we can simply assume the compiler has it in the
appropriate places.

It is, however, x86 only (x86-64 appropriately aligns the stack at all
times), so we need to adjust the libpixman build code appropriately.
2015-08-06 21:07:57 -04:00
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