Commit Graph

596 Commits

Author SHA1 Message Date
Chris Peterson
33e4a145c6 Bug 1774522 - Make Skia C++20 compatible by replacing deprecated std::result_of_t. r=lsalzman
The C++ std library functions `std::result_of` and `std::result_of_t` were deprecated in C++17 and removed in C++20.

Upstream Skia removed use of `std::result_of_t` in 2021, so we can just copy upstream's new replacement code:

https://skia.googlesource.com/skia/+/7d8cdd5b7f277f3b661e1eea067cf45a467572c6%5E%21/
https://skia.googlesource.com/skia/+/dc976a96ea388ae49fd0ce18d5a07d8fc15779cf%5E%21/

Because we're just extracting code from upstream, our local changes here can be safely overwritten whenever we next vendor a new Skia version.

Differential Revision: https://phabricator.services.mozilla.com/D149490
2022-06-17 02:13:46 +00:00
Lee Salzman
5cf73489a8 Bug 1769082 - Avoid divide-by-zero in Skia's luminosity blend mode. r=jrmuizel,gfx-reviewers
This applies a fix that is present in Skia's HW luminosity blend mode to its
CPU pipeline so that the luminosity mode no longer divides by zero, thus avoiding
infs and nans.

Differential Revision: https://phabricator.services.mozilla.com/D149030
2022-06-16 03:39:41 +00:00
Butkovits Atila
297c111411 Backed out changeset f292760857f2 (bug 1769082) for causing build bustages at SkRasterPipeline_opts. CLOSED TREE 2022-06-16 06:18:27 +03:00
Lee Salzman
09080ca408 Bug 1769082 - Avoid divide-by-zero in Skia's luminosity blend mode. r=jrmuizel,gfx-reviewers
This applies a fix that is present in Skia's HW luminosity blend mode to its
CPU pipeline so that the luminosity mode no longer divides by zero, thus avoiding
infs and nans.

Differential Revision: https://phabricator.services.mozilla.com/D149030
2022-06-16 02:31:24 +00:00
Jonathan Kew
80ef7350dc Bug 1769279 - Disable FT_LOAD_COLOR when getting glyph metrics for fonts that include an SVG table. r=lsalzman
See https://gitlab.freedesktop.org/freetype/freetype/-/issues/1156
for the issue this is addressing.

Differential Revision: https://phabricator.services.mozilla.com/D146318
2022-05-14 06:36:43 +00:00
Jonathan Kew
f8aa71dcae Bug 1747272 - Apply current color when rasterizing glyphs from color fonts in Skia using Core Text. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D137567
2022-02-01 21:41:17 +00:00
Chris Peterson
f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Lee Salzman
73ad56c77f Bug 1739448 - Reduce Skia header pollution in Moz2D from sk_sp. r=gfx-reviewers,jgilbert
sk_sp requires its type to be defined at the point of sk_sp declaration.
Just use RefPtr instead which does not have this limitation so we can move
some Skia includes out of the Moz2D headers.

Differential Revision: https://phabricator.services.mozilla.com/D130387
2021-11-11 07:16:57 +00:00
Marian-Vasile Laza
748933bf4b Backed out 2 changesets (bug 1739448) for causing geckoview failures on 1246775-1.html. CLOSED TREE
Backed out changeset 7b82837e2f56 (bug 1739448)
Backed out changeset feac99f1dae3 (bug 1739448)
2021-11-11 07:39:10 +02:00
Lee Salzman
b54d5cc42c Bug 1739448 - Reduce Skia header pollution in Moz2D from sk_sp. r=gfx-reviewers,jgilbert
sk_sp requires its type to be defined at the point of sk_sp declaration.
Just use RefPtr instead which does not have this limitation so we can move
some Skia includes out of the Moz2D headers.

Differential Revision: https://phabricator.services.mozilla.com/D130387
2021-11-11 04:33:50 +00:00
Lee Salzman
b9f0d24c9c Bug 1734853 - Ensure unhinted fonts default to symmetric rendering in Skia. r=jfkthame
It would seem that the Microsoft implementation of GetRecommendedRenderingMode
is somewhat different from the WINE version and has further behavior of also
checking whether the font is hinted in the fallback case to determine if it
should truly default to natural rendering instead of natural symmetric. This
adds the hinting check to decide between natural or natural symmetric in that
fallback case.

Differential Revision: https://phabricator.services.mozilla.com/D129360
2021-10-25 15:43:01 +00:00
Lee Salzman
b164800498 Bug 1711553 - Avoid use of GetRecommendedRenderingMode in Skia. r=jrmuizel
This attempts to emulate the behavior of GetRecommendedRenderingMode without
actually calling it. In addition, it allows some Gecko-specific behavior
like overriding the render mode explicitly that allows some simplification
of the decision-making.

Inside GetRecommendedRenderingMode, natural is only allowed if <= 20 size.
This allows us to thus decide mostly based on whether the size is > 20 or
if an explicit mode was specified. In the remaining case where we need
to check a GASP table if available, we defer to the symmetric flag. If
there is no GASP, we assume natural.

Differential Revision: https://phabricator.services.mozilla.com/D122025
2021-08-09 19:16:16 +00:00
Mike Hommey
03223f9ea4 Bug 1722653 - Remove MOZ_CAIRO_CFLAGS. r=firefox-build-system-reviewers,jgilbert,andi
Differential Revision: https://phabricator.services.mozilla.com/D121066
2021-07-29 23:38:31 +00:00
Jonathan Kew
5820669ad6 Bug 1716117 - Build SkiaPDF with harfbuzz subsetting, and eliminate use of sfntly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117586
2021-06-15 16:45:30 +00:00
Lee Salzman
caa9cd4f4d Bug 1684050 - choose appropriate stroke res scale for PathSkia::StrokeContainsPoint. r=bobowen
This uses SkDraw::ComputeResScaleForStroking to ensure we exactly match the resolution scale
that is chosen for drawing the stroked path inside the guts of Skia. This should ensure these
two don't get out of sync.

This also cleans out the old overscale code in ComputeResScaleForStroking that was necessary
during an ancient Skia porting effort but has now bitrotted into irrelevance.

Differential Revision: https://phabricator.services.mozilla.com/D101686
2021-01-14 09:01:54 +00:00
tobar2018
d7a64d8211 Bug 1673051 - Remove OnYosemiteOrLater(), OnElCapitanOrLater(), and OnSierraOrLater(). r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D95304
2020-11-02 16:25:18 +00:00
Jeff Muizelaar
938d2dffe9 Bug 1672899. Avoid CGFonts in ctfont_create_exact_copy when possible. r=jfkthame
We should be able to use CTFontCreateCopyWithAttributes for non-system fonts
because we don't need to worry about them changing. This avoids the leaks
caused by going through a CGFont.

Differential Revision: https://phabricator.services.mozilla.com/D94772
2020-10-28 14:16:41 +00:00
Lee Salzman
88e30d29c4 Bug 1669575 - experimental backout of macOS 11 CoreText crash workaround in bug 1657440. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D92666
2020-10-06 20:37:27 +00:00
Lee Salzman
2ede866d22 Bug 1642028 - cherry-pick Skia blitting cleanups. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D92476
2020-10-06 14:36:49 +00:00
Lee Salzman
811a48a03b Bug 1657440 - avoid letting Skia query style information for Mac fonts. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D86492
2020-08-17 06:48:00 +00:00
Lee Salzman
c50a68e57e Bug 1645123 - avoid trapping instructions on Skia debug asserts. r=jrmuizel
clang may potentially insert trapping instructions when __builtin_unreachable() is used.
We need to ensure we do not use this intrinsic when asserts are disabled. To work around
this, we add a condition that is checked before entering the body of SK_ABORT.

Differential Revision: https://phabricator.services.mozilla.com/D83841
2020-07-16 19:56:29 +00:00
Lee Salzman
0adb330468 Bug 1611467 - disable Skia typeface cache to prevent it from leaking fonts. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D68131

--HG--
extra : moz-landing-system : lando
2020-03-25 00:58:41 +00:00
Jonathan Kew
283ad921b7 Bug 1600470 - Reduce the emboldening strength used for synthetic-bold faces with FreeType. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D57246

--HG--
extra : moz-landing-system : lando
2019-12-17 15:51:57 +00:00
Oana Pop Rus
c875c00ad0 Backed out changeset bf28a7e8a8a4 (bug 1600470) for wrench bustages on a CLOSED TREE 2019-12-16 22:52:07 +02:00
Jonathan Kew
863bbe2172 Bug 1600470 - Reduce the emboldening strength used for synthetic-bold faces with FreeType. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D57246

--HG--
extra : moz-landing-system : lando
2019-12-16 14:40:21 +00:00
Tom Ritter
37f89d5a1d Bug 1590624 - mingw-clang cannot use _xgetbv without -mavx, work around it r=lsalzman,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D54531

--HG--
extra : moz-landing-system : lando
2019-12-12 06:38:39 +00:00
Andreea Pavel
a533b175dd Backed out 4 changesets (bug 1590624) for breaking gecko decision task on a CLOSED TREE
Backed out changeset 2ac8dd1d709d (bug 1590624)
Backed out changeset 8432398c212a (bug 1590624)
Backed out changeset 2b28154aacdb (bug 1590624)
Backed out changeset d305e4160ee4 (bug 1590624)

--HG--
rename : build/build-clang/clang-9-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
2019-12-12 08:35:11 +02:00
Tom Ritter
d536ec53bb Bug 1590624 - mingw-clang cannot use _xgetbv without -mavx, work around it r=lsalzman,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D54531

--HG--
extra : moz-landing-system : lando
2019-12-10 18:41:41 +00:00
Tom Ritter
746eecb086 Bug 1589741 - 1585351 removed a MINGW32 conditional, but left the comment. Remove the comment. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D54631

--HG--
extra : moz-landing-system : lando
2019-12-05 17:07:46 +00:00
Lee Salzman
b53ad6f708 Bug 1593970 - scale subpixel contribution based on ClearType level setting. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D52441

--HG--
extra : moz-landing-system : lando
2019-11-09 13:03:47 +00:00
Lee Salzman
ba7cbe4ae5 Bug 1591432 - avoid creating paths for color fonts on macOS. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D52100

--HG--
extra : moz-landing-system : lando
2019-11-06 21:50:24 +00:00
Lee Salzman
655f204d2f Bug 1591996 - update Skia to m79. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50860

--HG--
rename : gfx/skia/skia/include/private/SkArenaAlloc.h => gfx/skia/skia/src/core/SkArenaAlloc.h
rename : gfx/skia/skia/include/private/SkLeanWindows.h => gfx/skia/skia/src/core/SkLeanWindows.h
rename : gfx/skia/skia/include/core/SkTLazy.h => gfx/skia/skia/src/core/SkTLazy.h
rename : gfx/skia/skia/include/private/SkTSearch.h => gfx/skia/skia/src/core/SkTSearch.h
rename : gfx/skia/skia/include/gpu/GrBlend.h => gfx/skia/skia/src/gpu/GrBlend.h
rename : gfx/skia/skia/include/private/GrColor.h => gfx/skia/skia/src/gpu/GrColor.h
rename : gfx/skia/skia/include/private/GrSkSLFPFactoryCache.h => gfx/skia/skia/src/gpu/GrSkSLFPFactoryCache.h
rename : gfx/skia/skia/src/gpu/GrPathUtils.cpp => gfx/skia/skia/src/gpu/geometry/GrPathUtils.cpp
rename : gfx/skia/skia/src/gpu/GrPathUtils.h => gfx/skia/skia/src/gpu/geometry/GrPathUtils.h
rename : gfx/skia/skia/src/gpu/GrShape.cpp => gfx/skia/skia/src/gpu/geometry/GrShape.cpp
rename : gfx/skia/skia/src/gpu/GrShape.h => gfx/skia/skia/src/gpu/geometry/GrShape.h
extra : moz-landing-system : lando
2019-10-28 22:06:48 +00:00
Lee Salzman
de81af2605 Bug 1591996 - remove unused Skia Vulkan compute API. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50859

--HG--
extra : moz-landing-system : lando
2019-10-28 21:36:18 +00:00
Lee Salzman
f11e330118 Bug 1591996 - remove unused Skia OpenCL compute API. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50858

--HG--
extra : moz-landing-system : lando
2019-10-28 21:36:52 +00:00
Lee Salzman
d7ccbd0261 Bug 1591996 - miscellaneous Gecko fixes for Skia m79 update. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50825

--HG--
extra : moz-landing-system : lando
2019-10-28 21:42:48 +00:00
Tom Ritter
f19cbdfb39 Bug 1585351 - Bug 1460357 disabled AVX instructions for the mingw build; this is no longer needed r=lsalzman
Bug 1460357 disabled AVX because gcc was generating unaligned instructions. But clang doesn't seem
to do that.

Differential Revision: https://phabricator.services.mozilla.com/D48072

--HG--
extra : moz-landing-system : lando
2019-10-03 21:02:16 +00:00
Lee Salzman
7a498a5ff0 Bug 1585584 - clear SharedFTFace lock owner when it is destroyed. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D48078

--HG--
extra : moz-landing-system : lando
2019-10-03 20:30:03 +00:00
Lee Salzman
fd28aa44da Bug 1583707 - enable text subpixel positioning on Android and Linux. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D47035

--HG--
extra : moz-landing-system : lando
2019-10-02 14:04:45 +00:00
Lee Salzman
4e52e1c29b Bug 1547063 - Use SharedFTFace locking instead of Cairo locking. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44496

--HG--
extra : moz-landing-system : lando
2019-09-16 17:12:38 +00:00
Lee Salzman
264178a181 Bug 1547063 - Remove FcPattern usage from Skia. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44493

--HG--
extra : moz-landing-system : lando
2019-09-16 16:44:51 +00:00
Cosmin Sabou
8113720646 Backed out 8 changesets (bug 1547063) for causing bug 1581466. a=backout
Backed out changeset c969a93b0ca7 (bug 1547063)
Backed out changeset 003f5a79c6a7 (bug 1547063)
Backed out changeset 2c7032b4d022 (bug 1547063)
Backed out changeset 23892ecc6ef8 (bug 1547063)
Backed out changeset af6e6807ece7 (bug 1547063)
Backed out changeset ebc71e607938 (bug 1547063)
Backed out changeset 772c3427c791 (bug 1547063)
Backed out changeset e74a67e2afe3 (bug 1547063)
2019-09-16 10:44:20 +03:00
Lee Salzman
1ad0ba9769 Bug 1547063 - Use SharedFTFace locking instead of Cairo locking. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44496

--HG--
extra : moz-landing-system : lando
2019-09-15 03:01:02 +00:00
Lee Salzman
1e337c2560 Bug 1547063 - Remove FcPattern usage from Skia. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44493

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:14 +00:00
Mike Hommey
66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Lee Salzman
5169a21347 Bug 1553818 - use GDI ClearType contrast for GDI font gamma. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39101

--HG--
extra : moz-landing-system : lando
2019-07-24 18:51:28 +00:00
Lee Salzman
e4e9e844a0 Bug 1565158 - allow forcing DWrite symmetric rendering mode. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D38569

--HG--
extra : moz-landing-system : lando
2019-07-19 03:56:50 +00:00
Chris AtLee
a0d3d64841 Bug 1559975: Fix python2/3 compat in gfx/ r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35337

--HG--
extra : moz-landing-system : lando
2019-07-05 14:28:55 +00:00
Lee Salzman
f97c9e191d Bug 1562886 - Avoid noinline on GCC with skcms to work around compiler error. r=me 2019-07-03 15:52:39 -04:00
Lee Salzman
93c478a9ca Bug 1555838 - More polyutil fixes. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D33688

--HG--
extra : moz-landing-system : lando
2019-06-05 16:57:20 +00:00
Jonathan Kew
d88f8facc2 Bug 1558375 - Don't set the FT_LOAD_NO_AUTOHINT flag for fonts that have FT_FACE_FLAG_TRICKY, to avoid broken rendering. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35023

--HG--
extra : moz-landing-system : lando
2019-06-15 12:40:02 +00:00