Commit Graph

2646 Commits

Author SHA1 Message Date
Cosmin Sabou
6da90eb0b7 Backed out 9 changesets (bug 1551088) for causing Bug 1583848. a=backout
Backed out changeset d0ab25c226a7 (bug 1551088)
Backed out changeset 9ef391e20fa6 (bug 1551088)
Backed out changeset 3e6f25b21f8c (bug 1551088)
Backed out changeset 5d72c8de4daf (bug 1551088)
Backed out changeset f77c43bcc75b (bug 1551088)
Backed out changeset 9e954d6765de (bug 1551088)
Backed out changeset d90a571e581f (bug 1551088)
Backed out changeset 25a5f5563e9d (bug 1551088)
Backed out changeset bed9c93eeb2d (bug 1551088)
2019-09-25 18:42:48 +03:00
Andrew Osmond
a8427d01de Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:42:43 +00:00
Andrew Osmond
817a4063d8 Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:42:41 +00:00
Andrew Osmond
413fb28670 Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 20:43:24 +00:00
Oana Pop Rus
4f9a3f24ba Backed out 8 changesets (bug 1551088) for causing reftest failures in SwizzleAVX2.cpp and SwizzleSSSE3.cpp on a CLOSED TREE
Backed out changeset b3760d42e3bf (bug 1551088)
Backed out changeset 222e856b5bc3 (bug 1551088)
Backed out changeset b259c9fb5ad6 (bug 1551088)
Backed out changeset 5fe283ceaa0b (bug 1551088)
Backed out changeset d4dadb6ef0bd (bug 1551088)
Backed out changeset 925e26e17abe (bug 1551088)
Backed out changeset a011360f5018 (bug 1551088)
Backed out changeset 229c3d631d2e (bug 1551088)
2019-09-24 18:12:39 +03:00
Andrew Osmond
d774b3ffc7 Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:26 +00:00
Andrew Osmond
8663f03103 Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:24 +00:00
Andrew Osmond
49b35ade84 Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 13:31:22 +00:00
Cosmin Sabou
69acba5002 Backed out 8 changesets (bug 1551088) for causing build bustages. CLOSED TREE
Backed out changeset 02d9dc4d39a5 (bug 1551088)
Backed out changeset d7684ca35c0d (bug 1551088)
Backed out changeset b061b1bf8281 (bug 1551088)
Backed out changeset 4760b8b22ffd (bug 1551088)
Backed out changeset 4685fc022257 (bug 1551088)
Backed out changeset 91300f9f99bb (bug 1551088)
Backed out changeset 6da767c8d55c (bug 1551088)
Backed out changeset ec69be661551 (bug 1551088)
2019-09-21 14:52:41 +03:00
Andrew Osmond
e6bac974fe Bug 1551088 - Part 3. Add SSSE3 and AVX2 implementations of unpacking. r=lsalzman
These variants perform significantly faster than the C implementations
according to local testing and that in treeherder. Image decoding is as
much as 40% faster in the most simple cases (solid green PNG image).

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:13:49 +00:00
Andrew Osmond
d29705ad1a Bug 1551088 - Part 2. Add unpack methods to convert from RGB to RGBX/BGRX. r=lsalzman
Some image decoders (e.g. PNG) may have a native representation of the
data as RGB, and do not have accelerated methods to transform from RGB
to RGBX/BGRX. Exposing this as part of the swizzle/premultiply methods
allows us to write accelerated versions ourselves in a later patch in
this series.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:15:04 +00:00
Andrew Osmond
83363c9bdc Bug 1551088 - Part 1. Expose SwizzleRow and PremultiplyRow variants. r=lsalzman
The image decoders produce surfaces row by row, so a variant to get a
function pointer to perform swizzle/premultiply operations makes more
ergonomic sense.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 19:16:40 +00:00
Lee Salzman
2770b6301a Bug 1582231 - remove Moz2D dependency on Cairo glyph extents. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D46332

--HG--
extra : moz-landing-system : lando
2019-09-20 16:30:21 +00:00
Lee Salzman
44eb8379af Bug 1547063 - Use FreeType metrics directly instead of querying Cairo. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44497

--HG--
extra : moz-landing-system : lando
2019-09-16 17:15:10 +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
4f2be9076e Bug 1547063 - implement recording instance data for ScaledFontMac. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44495

--HG--
extra : moz-landing-system : lando
2019-09-16 16:45:26 +00:00
Lee Salzman
2d38529fad Bug 1547063 - add SharedFTFace abstraction of FT_Face. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44491

--HG--
extra : moz-landing-system : lando
2019-09-16 17:03:04 +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
0d6ebe2503 Bug 1547063 - Use FreeType metrics directly instead of querying Cairo. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44497

--HG--
extra : moz-landing-system : lando
2019-09-15 03:01:19 +00: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
b8b94ba41a Bug 1547063 - implement recording instance data for ScaledFontMac. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44495

--HG--
extra : moz-landing-system : lando
2019-09-15 03:00:44 +00:00
Lee Salzman
d5010d11ca Bug 1547063 - add SharedFTFace abstraction of FT_Face. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44491

--HG--
extra : moz-landing-system : lando
2019-09-15 02:59:44 +00:00
Lee Salzman
b99493d327 Bug 1576077 - make ScaledFontDWrite remember if it needs synthetic bold. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D45721

--HG--
extra : moz-landing-system : lando
2019-09-13 15:47:32 +00:00
Bob Owen
f5e4873899 Bug 1575874: Create the CanvasTranslator on the Compositor thread to prevent race with WaitForSurfaceDescriptor. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43774

--HG--
extra : moz-landing-system : lando
2019-09-10 02:06:28 +00:00
Bob Owen
e2376fc330 Bug 1575796: Pass the begin and current point from the wrapped PathBuilder in PathBuilderRecording::Finish. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D43078

--HG--
extra : moz-landing-system : lando
2019-09-05 18:09:24 +00:00
Lee Salzman
b29a21235b Bug 1573049 - silence filter node type warnings. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44903

--HG--
extra : moz-landing-system : lando
2019-09-09 20:25:03 +00:00
Markus Stange
9cd785e1c4 Bug 1578045 - Correctly return zero vertices if clipping plane 0 or 2 clip away the entire polygon. r=kip
This fixes a bug that was introduced three years ago in bug 1268854.
What happened was that the final pass over the polygon assumed that the current
polygon was living in plane[0]. But due to the double buffering, the "current"
polygon alternates between plane[0] and plane[1]. And bug 1268854 had introduced
an early exit so that we could hit the final pass at a time where the current,
now empty, polygon was in plane[1]. So we would incorrectly treat all 32 points
in plane[0] as part of the final polygon.

This bug was responsible for intermittently unreasonable numbers in CompositorOGL's fill
rate / overdraw overlay, and, since changeset cc84a0e9d5ddde198422f4f11ab6bf85f631d5f0,
also caused CompositorOGL to execute unnecessary draw calls.

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

--HG--
extra : moz-landing-system : lando
2019-09-06 17:12:06 +00:00
Lee Salzman
31b462db31 Bug 1572913 - check ClearType level in ScaledFontDWrite::GetDefaultAAMode. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44912

--HG--
extra : moz-landing-system : lando
2019-09-06 18:45:56 +00:00
Kris Taeleman
eaa0124969 Bug 1522422 - Fixing opacity issue on SVG USE elements in D2D. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D44059

--HG--
extra : moz-landing-system : lando
2019-09-04 13:26:43 +00:00
Eric Rahm
4cb2415f74 Bug 1577910 - Remove using namespace std from gfx/2d r=nical
Differential Revision: https://phabricator.services.mozilla.com/D44281

--HG--
extra : moz-landing-system : lando
2019-09-01 18:32:06 +00:00
Bob Owen
2bee21f74c Bug 1575838: Check that we can create a similar DrawTarget first in canvas Adjusted targets. r=mattwoodrow
This also fixes DrawTargetSkia::CanCreateSimilarDrawTarget because currently
if only one of the height or width is negative then it doesn't get caught.

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

--HG--
extra : moz-landing-system : lando
2019-08-30 17:14:44 +00:00
Bob Owen
4ad6464c7c Bug 1575844: Allow for null/empty GradientStops in Moz2D recording code. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43074

--HG--
extra : moz-landing-system : lando
2019-08-30 17:14:22 +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
Botond Ballo
629b3580ff Bug 1565525 - Modify MatrixMessage to carry a Maybe<Matrix>, so that a transform can be cleared by sending Nothing. r=hsivonen
Depends on D42564

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

--HG--
extra : moz-landing-system : lando
2019-08-20 06:37:05 +00:00
Botond Ballo
4232079a25 Bug 1565525 - Add helper functions to make working with Maybe<Matrix> easier. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42564

--HG--
extra : moz-landing-system : lando
2019-08-20 06:36:01 +00:00
Markus Stange
54166343c6 Bug 1573668 - Add MacIOSurface::GetAsDrawTargetLocked. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41844

--HG--
extra : moz-landing-system : lando
2019-08-15 04:54:57 +00:00
Markus Stange
352f3971ce Bug 1573668 - Teach MacIOSurface about the kCVPixelFormatType_32BGRA pixel format. r=mattwoodrow
Depends on D41843

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

--HG--
extra : moz-landing-system : lando
2019-08-15 03:33:58 +00:00
Markus Stange
0d99ec9a50 Bug 1573668 - Use CFTypeRefPtr for managing the IOSurfaceRef in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41843

--HG--
extra : moz-landing-system : lando
2019-08-14 14:53:45 +00:00
Markus Stange
c31b8d8a28 Bug 1573668 - Use the real IOSurfaceRef type in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41841

--HG--
extra : moz-landing-system : lando
2019-08-14 14:50:25 +00:00
Markus Stange
979634bacb Bug 1565717 - Remove all dynamic loading of IOSurface functions. r=mattwoodrow
These functions were made public in 10.6. The oldest version we support is 10.9.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 11:06:22 +00:00
Markus Stange
584d4c6a82 Bug 1565717 - Remove dynamic lookup of the kIOSurface constants. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41812

--HG--
extra : moz-landing-system : lando
2019-08-14 11:05:47 +00:00
Markus Stange
75ec9254b7 Bug 1565717 - Don't use dynamic symbol lookup for CVPixelBufferGetIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41811

--HG--
extra : moz-landing-system : lando
2019-08-14 11:05:24 +00:00
Markus Stange
a0d7363c7f Bug 1565717 - Don't use dynamic symbol lookup for CGLTexImageIOSurface2D. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41810

--HG--
extra : moz-landing-system : lando
2019-08-14 11:05:07 +00:00
Markus Stange
a646a9d6f9 Bug 1565717 - Remove unused MacIOSurface functions. r=mattwoodrow
These were used for creating accelerated CGContexts that render to an IOSurface.
We only used those experimentally on Nightly for a while but turned that option
off because of crashes. And in the meantime, DrawTargetCG has been removed
entirely. So we'll probably never use these functions again.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 10:23:47 +00:00
Sylvestre Ledru
645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Bob Owen
2b04f744b3 Bug 1570358: Check validity of enums before playing back Moz2D RecordedEvents. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D40419

--HG--
extra : moz-landing-system : lando
2019-08-05 13:08:30 +00:00
Jamie Nicol
18ee326474 Bug 1562316 - Fix emoji rendering on android webrender. r=lsalzman
ScaledFontFreeType::GetWRFontInstanceOptions() was neglecting to set
the FontInstanceFlags::EMBEDDED_BITMAPS flag. This was causing us to
always take the non-bitmap path when rasterizing the glyph, which
fails on android because emoji fonts are bitmap only. Setting this
flag causes glyphs to be rendered correctly on android webrender.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 15:43:52 +00:00
Jean-Yves Avenard
c070ea1f0e Bug 1543359 - P3. Add kCVPixelFormatType_420YpCbCr8BiPlanarFullRange support to MacIOSurface. r=mattwoodrow
This will allow to differentiate full range vs limited range YUV.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:35 +00:00
Jean-Yves Avenard
0171b0edb2 Bug 1543359 - P2. Fix constness. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29641

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:20 +00:00
Jean-Yves Avenard
e41290cb09 Bug 1543359 - P0. Make video range info an enum. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29639

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:22 +00:00