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

2781 Коммитов

Автор SHA1 Сообщение Дата
Jeff Walden e57173377f Bug 1439659 - Make |MOZ_{LITTLE,BIG}_ENDIAN| into function macros so that invoking them inside |#if| conditions when they haven't been defined yet is a compile error. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57038

--HG--
extra : moz-landing-system : lando
2019-12-13 20:51:04 +00:00
Nathan Froyd 364d8de43e Bug 1603409 - add missing operator= definitions for gfx/2d classes; r=botond
These definitions are implicitly created now, but trunk clang considers
implicit creation to be a bug when you have explicitly declared copy
constructors.

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

--HG--
extra : moz-landing-system : lando
2019-12-13 17:58:55 +00:00
Jonathan Kew e9e88c90ab Bug 1602391 - Handle possible failure to get font table data in UnscaledFontMac. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D56359

--HG--
extra : moz-landing-system : lando
2019-12-09 19:03:17 +00:00
Bob Owen 2efd34ce2b Bug 1598582 Part 2: Add event to record OptimizeSourceSurface. r=jrmuizel
This also optimizes the surface returned by CreateSourceSurfaceFromData to
match what would happen in the non-recorded case. This means that all surfaces
of type RECORDING are optimized, i.e. they represent a surface type that
matches the DrawTarget type in the Translator.

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

--HG--
extra : moz-landing-system : lando
2019-11-29 21:59:11 +00:00
Bob Owen 599d8c4b43 Bug 1598582: Create a DataSourceSurface in RecordedSourceSurfaceCreation::PlayEvent. r=jrmuizel
This is instead of using the reference DrawTarget to create it, because that
will sometimes fail for large surfaces.

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

--HG--
extra : moz-landing-system : lando
2019-12-05 15:07:06 +00:00
Emilio Cobos Álvarez e94a6fe8af Bug 1602317 - Switch WR bindings to use associated-constants-in-body. r=jrmuizel
Now that we have C++17, and thus inline const, we can do this.

Depends on D56306

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

--HG--
extra : moz-landing-system : lando
2019-12-08 21:09:37 +00:00
Andrew Osmond 49ee6bff30 Bug 1601622 - Implement NEON accelerated methods for unpacking RGB to RGBA/BGRA. r=lsalzman
These new methods will be automatically used by ARM targets for image
decoding. Specifically it should reduce the time required to decode GIFs
and opaque PNGs.

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

--HG--
extra : moz-landing-system : lando
2019-12-06 19:06:00 +00:00
Jeff Muizelaar e0a1db5447 Bug 1595388. Use mDrawTarget->Rect() instead of Size(). r=mstange
Using Rect() will work properly when mDrawTarget does not have 0,0
origin. It also makes the code's intention more clear.

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

--HG--
extra : moz-landing-system : lando
2019-12-04 01:45:52 +00:00
Oana Pop Rus cdef02e3e8 Backed out changeset e02c0652dd43 (bug 1595388) for reftest failures on filter-in-mask.html 2019-11-30 04:50:13 +02:00
Jeff Muizelaar 28618c9230 Bug 1595388. Use mDrawTarget->Rect() instead of Size(). r=mstange
Using Rect() will work properly when mDrawTarget does not have 0,0
origin. It also makes the code's intention more clear.

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

--HG--
extra : moz-landing-system : lando
2019-11-30 00:28:35 +00:00
James Hooks 6ea13e1732 Bug 1585806 - Make SideBits an enum class, add casting where necessary. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D51291

--HG--
extra : moz-landing-system : lando
2019-11-16 20:59:34 +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
Andrew Osmond 71ab20a0c6 Bug 1594114 - Add SurfaceFormat::OS_RGBA and OS_RGBX to define preferred format. r=jrmuizel
OS_RGBA and OS_RGBX are defined as the preferred surface format for the
platform and architecture, fixed at compile time. Today this will be
initially defined as B8G8R8A8. The future intent is that once all parts
of the system support all configurations, then we can use R8G8B8A8 on
certain platforms (e.g. Android, Linux, Mac) and invert it on big-endian
architectures.

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

--HG--
extra : moz-landing-system : lando
2019-11-06 16:37:53 +00:00
Bob Owen a92e772fe9 Bug 1590619: Only clean up Remote Canvas IPC classes when the CanvasChild owns the only recorder reference. r=jrmuizel
This also removes the DrawEventRecorderPrivate::IsEmpty method as it is no
longer used. It doesn't undo the splitting out of the tracking of the
UnscaledFonts, which was added at the same time, because I think it is useful
to highlight the fact that they are never currently removed.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 14:15:22 +00:00
Boris Chiou d546797708 Bug 1429305 - Add new layer messages for passing motion path info. r=hiro,mattwoodrow
This also includes the implementation of SetAnimatable, FromAnimatable,
and merge the final matrix with motion path.

Besides, we always use PathBuilderSkia for calculating the gfx::Path for
web-renderer.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 20:07:41 +00:00
Lee Salzman 837795afbf Bug 1592293 - add gfx.text.subpixel-position.force-enabled and force-disabled prefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50996

--HG--
extra : moz-landing-system : lando
2019-10-31 13:39:12 +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
Sylvestre Ledru eef3faeffb Bug 1592408 - DrawTargetCairo.cpp: Only compile 'GfxFormatToPixmanFormat' when not using skia r=nical
Differential Revision: https://phabricator.services.mozilla.com/D50998

--HG--
extra : moz-landing-system : lando
2019-10-30 09:55:11 +00:00
Bob Owen a9a7c894d9 Bug 1582372 Part 2: Only clean up Canvas IPC objects when recorder has no stored objects. r=jrmuizel
The recorder can still contain UnscaledFonts, but they are never removed
currently, so we can't wait for them and they will be re-recorded safely anyway.

Depends on D49757

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

--HG--
extra : moz-landing-system : lando
2019-10-29 08:34:34 +00:00
Lee Salzman a27f775397 Bug 1585931 - don't use subpixel positioning for Fontconfig fonts if full hinting is requested. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D49901

--HG--
extra : moz-landing-system : lando
2019-10-21 15:32:31 +00:00
Sylvestre Ledru 7c309095ea Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Please note that it is the first reformat with clang-format 9
I only saw a fix in the .mm file

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-21 14:13:44 +00:00
Botond Ballo a980b29c49 Bug 1589204 - Fix a bug in Matrix4x4Flagged::operator*. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D49486

--HG--
extra : moz-landing-system : lando
2019-10-16 21:01:16 +00:00
Markus Stange f2eaddfc8f Bug 1577566 - Enforce appropriate output channel clamping in D2D1 ColorMatrix filters. r=bas
Differential Revision: https://phabricator.services.mozilla.com/D45142

--HG--
extra : moz-landing-system : lando
2019-10-09 15:38:21 +00:00
Bob Owen 003b93beee Bug 1580511: Check size is allowed in DrawTargetRecording::CreateSourceSurfaceFromData. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D48317

--HG--
extra : moz-landing-system : lando
2019-10-07 14:38:06 +00:00
Botond Ballo 6dece52944 Bug 1552608 - Define bitwise operators for SideBits. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D48373

--HG--
extra : moz-landing-system : lando
2019-10-07 21:01:53 +00:00
Sylvestre Ledru f12b9fa5c3 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-10-06 18:29:55 +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
Jeff Muizelaar b01dc0a82e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 21:47:11 +00:00
Daniel Varga f1edb8b815 Backed out changeset dfa9c9bab741 (bug 1584375) for marionette crash @ rust_begin_unwind. On a CLOSED TREE 2019-10-02 20:43:36 +03:00
Jeff Muizelaar 20983ff87e Bug 1584375. Remove unused origin from recording. r=nical
This was added as part of an intermediate step to blob
recoordination. It's not used anymore.

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

--HG--
extra : moz-landing-system : lando
2019-10-02 16:42:24 +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
Andrew Osmond 4693985d7a 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-10-02 13:37:25 +00:00
Andrew Osmond 8854802597 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-10-02 13:37:23 +00:00
Andrew Osmond 8c50efaaf4 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-10-02 13:37:22 +00:00
Lee Salzman 2b03a82ba0 Bug 1584268 - only instantiate Cairo fonts when drawing to Cairo target. r=jfkthame
This removes a lot of old cruft in thebes to instantiate Cairo scaled fonts.
Instead, we only instantiate the Cairo scaled font inside Moz2D when we actually
need it for DrawTargetCairo. This thus gets rid of the duplicated code we had
inside both Moz2D and thebes to deal with Cairo scaled fonts.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 21:56:30 +00:00
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
Narcis Beleuzu e84980d8b1 Backed out 15 changesets (bug 1543359) for wrench bustages on image.rs . CLOSED TREE
Backed out changeset 548006270186 (bug 1543359)
Backed out changeset c9585e9d9f3c (bug 1543359)
Backed out changeset 1c7ca95a2a9b (bug 1543359)
Backed out changeset d742d80b892f (bug 1543359)
Backed out changeset 210eee703fd9 (bug 1543359)
Backed out changeset 4eb933d55d88 (bug 1543359)
Backed out changeset fb9b71ed9f4b (bug 1543359)
Backed out changeset 98b968443458 (bug 1543359)
Backed out changeset a85bd4691bea (bug 1543359)
Backed out changeset b576317853e9 (bug 1543359)
Backed out changeset 095bca5c9b1a (bug 1543359)
Backed out changeset 48eb0ebf9f2e (bug 1543359)
Backed out changeset b22b0eb708b8 (bug 1543359)
Backed out changeset 52187d9320b1 (bug 1543359)
Backed out changeset fa6792c1c2e8 (bug 1543359)
2019-07-26 11:40:33 +03:00
Jean-Yves Avenard aec72edb84 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 06:10:52 +00:00
Jean-Yves Avenard c8d2f1b0f0 Bug 1543359 - P2. Fix constness. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29641

--HG--
extra : moz-landing-system : lando
2019-07-26 06:10:44 +00:00
Jean-Yves Avenard 4ea329b749 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 06:10:30 +00:00
Cosmin Sabou ae7e8fbf55 Backed out 14 changesets (bug 1543359) for causing build bustages. CLOSED TREE
Backed out changeset 87c99ef85813 (bug 1543359)
Backed out changeset cd0afc5758ba (bug 1543359)
Backed out changeset 101ac87ff017 (bug 1543359)
Backed out changeset 348e748e3451 (bug 1543359)
Backed out changeset d9e937f5caf4 (bug 1543359)
Backed out changeset 2f4eb6501552 (bug 1543359)
Backed out changeset 0d316ef8c668 (bug 1543359)
Backed out changeset bf238b58c694 (bug 1543359)
Backed out changeset 496f206d03d6 (bug 1543359)
Backed out changeset 7c3a1f23baa8 (bug 1543359)
Backed out changeset 90fff717198b (bug 1543359)
Backed out changeset b2ce591ca398 (bug 1543359)
Backed out changeset a63968f077e3 (bug 1543359)
Backed out changeset ca660ab1e0c1 (bug 1543359)
2019-07-26 07:39:11 +03:00
Jean-Yves Avenard e4a8bfeab0 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-22 07:24:51 +00:00
Jean-Yves Avenard df7c06977b Bug 1543359 - P2. Fix constness. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D29641

--HG--
extra : moz-landing-system : lando
2019-07-22 07:24:32 +00:00
Jean-Yves Avenard 9871202958 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-13 03:25:18 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Nicholas Nethercote e54f4ead1e Bug 1560820 - Remove `sGfxLogLevel`. r=nical
`sGfxLogLevel` is a global variable whose value mirrors the value of the
"gfx.logging.level" pref in the prefs table, and is kept up to date by a
prefs callback.

But "gfx.logging.level" is a static pref that already has a mirror variable,
accessible via `StaticPrefs::gfx_logging_level()`.

So we can use the latter and remove the former, and this patch does that. The
patch also removes a sentence in a comment that refers to special treatment of
LOG_DEBUG and LOG_DEBUG_PRLOG, because that sentence appears to be referring to
something (another comment?) that is no longer present.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 00:05:23 +00:00
Nicholas Nethercote 7974362afd Bug 1567329 - Append `_AtStartup` to `once` static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 02:10:14 +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
Sylvestre Ledru 2ff79fb0d5 Bug 1519636 - Ride along: remove trailing whitespaces r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:34:03 +00:00
Sylvestre Ledru e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +00:00
Jeff Muizelaar c0299a4309 Bug 1563775. Include the recording origin in the stream. r=nical
This will let us do the subtraction of the recording origin during
playback instead of during recording.

It will also let us merge recordings that have different origins.

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

--HG--
extra : moz-landing-system : lando
2019-07-12 18:20:29 +00:00
Csoregi Natalia b798889d4a Backed out changeset 5c4b8d62324c (bug 1563775) for reftest crashes. a=backout 2019-07-12 01:17:41 +03:00
Jeff Muizelaar e146f6712d Bug 1563775. Include the recording origin in the stream. r=nical a=reland
This will let us do the subtraction of the recording origin during
playback instead of during recording.

It will also let us merge recordings that have different origins.

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

--HG--
extra : source : cb1d78b00e25dd7fcfec86216c7a83c85ce9a982
extra : histedit_source : 68a31189f05998ba3b8a29a624d7ebe37636c4d9
2019-07-10 14:01:34 +00:00
Brindusan Cristian dd497969eb Merge autoland to mozilla-central. a=merge 2019-07-11 19:20:00 +03:00
Brindusan Cristian fd86c6d641 Backed out changeset cb1d78b00e25 (bug 1563775) on request from jrmuizel for causing Bug 1565231. a=backout 2019-07-11 17:40:51 +03:00
arthur.iakab 973b98aac6 Backed out changeset 0aea246d01bb (bug 928150) for causing build bustages on DOMMatrix.h CLOSED TREEE 2019-07-11 06:31:59 +03:00
Kagami Sascha Rosylight b65864cf84 Bug 928150: Implement canvas getTransform() and setTransform() r=bzbarsky
Adds getTransform() and setTransform() to CanvasRenderingContext2D.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 02:43:46 +00:00
Kagami Sascha Rosylight 8d91017fdb Bug 928150: Implement canvas getTransform() and setTransform() r=bzbarsky
Adds getTransform() and setTransform() to CanvasRenderingContext2D.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 06:14:58 +00:00
Jeff Muizelaar 3cc5f09011 Bug 1563775. Include the recording origin in the stream. r=nical
This will let us do the subtraction of the recording origin during
playback instead of during recording.

It will also let us merge recordings that have different origins.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 14:01:34 +00:00
Jeff Muizelaar bcd10ea75c Bug 1561743. DrawTargetRecording IntRect. r=nical
This lets us record at arbitratry offsets. Without it gfxContext::GetClip()
would break because it uses DrawTarget::GetRect() as the initial rect that it
intersects subsequent clips with. We also can't just use a DrawTargetOffset
because that applies a transform to the inner DrawTarget and will impact the
recorded commands.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 13:49:08 +00:00
Sylvestre Ledru fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +00:00
Sylvestre Ledru 131d0c6a02 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-06 08:18:28 +00:00
Jeff Muizelaar ca49b31c2a Bug 1561235. Check the type of the PathBuilder instead of the DrawTarget. r=mstange
The draw target might give us a different type.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 20:13:44 +00:00
Nicholas Nethercote 510b8223fb Bug 1562810 - Rename some static pref functions. r=KrisWright
Now that all static pref getters use snake_case, these renamings make sense:
- Getfoo_bar_bazPrefName() -> GetPrefName_foo_bar_baz()
- Getfoo_bar_bazPrefDefault() -> GetPrefDefault_foo_bar_baz()

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

--HG--
extra : moz-landing-system : lando
2019-07-02 22:32:09 +00:00
shindli 67c134b492 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-06-29 02:23:28 +03:00
Cosmin Sabou 798a05e2dc Merge mozilla-central to mozilla-inbound. 2019-06-28 19:16:36 +03:00
Emilio Cobos Álvarez b1ca51fe1e Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

Differential Revision: https://phabricator.services.mozilla.com/D36120
2019-06-28 12:44:44 +02:00
Cosmin Sabou 2fa2a56685 Backed out 3 changesets (bug 1561738) for causing build bustages on nsGridContainerFrame.cpp CLOSED TREE
Backed out changeset 98f100abc2ba (bug 1561738)
Backed out changeset 9ed20d0fb9ba (bug 1561738)
Backed out changeset 483b1e134ace (bug 1561738)
2019-06-28 13:27:09 +03:00
Jeff Muizelaar 02cad972cd Bug 1562278. Forward more methods of DrawTargetOffset. r=mstange
This lets us avoid falling back to the generic implementations
unnecessarily.

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

--HG--
extra : moz-landing-system : lando
2019-06-28 18:41:17 +00:00
Emilio Cobos Álvarez e023916761 Bug 1561738 - Remove nsStyleCoord. r=boris
And move the useful bits of it somewhere else (ServoStyleConstInlines.h for the
inline function definitions, and nsFrame.cpp for the static assertions).

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

--HG--
extra : moz-landing-system : lando
2019-06-28 09:46:26 +00:00
Coroiu Cristina f91bd38732 Merge inbound to mozilla-central a=merge 2019-06-27 12:36:00 +03:00
Nicholas Nethercote ca8e78069d Bug 1561491 - Make gfx.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D35975

--HG--
extra : rebase_source : 9090ac828f1da9582510975047d5ad59a228dda5
2019-06-26 10:38:09 +10:00
Lee Salzman 7dab69c7de Bug 1560582 - limit Skia glyph batch sizes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D36148

--HG--
extra : moz-landing-system : lando
2019-06-27 02:42:24 +00:00
Nicholas Nethercote 28ae1cbb46 Bug 1561825 - Make sundry static prefs follow the naming convention. r=KrisWright
That includes changing privacy.resistFingerprinting to a non-VarCache pref,
because it doesn't need to be a VarCache.

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

--HG--
extra : rebase_source : 6d742e6ff2a4b786cb21f6e8874d1fd4bbde1857
2019-06-27 17:38:17 +10:00
Jeff Muizelaar 0b68652b49 Bug 1539702. Improve CreateClippedDrawTarget API r=jwatt,rhunt
This changes CreateClippedDrawTarget so that instead of taking
a max size and a transform it just takes a user space rect of
the desired bounds.

This change allows the caller to not worry about the computing
a max size based on the current clip. Instead this responsibility
is lowered into the specific backends.

The main motivation for this work is to allow blob recoordination
to create recordings that don't depend on the current clip.

Some additional benefits are that the API is easier to use and
as can be seen simplifies the SVG masking code because it doesn't
need to track surface offsets manually.

It's also an important step towards removing all the uses of
gfxContext::GetClipExtents which will let us get rid of the separate
clipping stack in gfxContext and help us move off of gfxContext
completely.

Most backend implementations of CreateClippedDrawTarget are relatively
simple. DrawTargetCapture is modified to track the current clip rect
so that it can create a new DrawTargetCapture of the appropriate size
without needing to worry about lazy resolution.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 09:51:00 +00:00
Jeff Muizelaar 5d0404fc6b Bug 1560578. Add GetUnderlyingSurface so that we can see through Offset surfaces. r=lsalzman
There are a number of places where we look at a source surface's type
and then cast it to get inner information. Wrapping surfaces with offset
surfaces breaks this. Adding GetUnderlyingSurface will let us see
inside. We use this in the D2D backend to make sure we do
unintentionally convert to datasurfaces.

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

--HG--
extra : moz-landing-system : lando
2019-06-22 05:56:46 +00:00
Narcis Beleuzu 767a7b2616 Backed out changeset 88e6c989e783 (bug 1539702) for multiple reftest failures. CLOSED TREE 2019-06-21 12:46:16 +03:00
Jeff Muizelaar afe9ee5a45 Bug 1539702. Improve CreateClippedDrawTarget API r=jwatt,rhunt
This changes CreateClippedDrawTarget so that instead of taking
a max size and a transform it just takes a user space rect of
the desired bounds.

This change allows the caller to not worry about the computing
a max size based on the current clip. Instead this responsibility
is lowered into the specific backends.

The main motivation for this work is to allow blob recoordination
to create recordings that don't depend on the current clip.

Some additional benefits are that the API is easier to use and
as can be seen simplifies the SVG masking code because it doesn't
need to track surface offsets manually.

It's also an important step towards removing all the uses of
gfxContext::GetClipExtents which will let us get rid of the separate
clipping stack in gfxContext and help us move off of gfxContext
completely.

Most backend implementations of CreateClippedDrawTarget are relatively
simple. DrawTargetCapture is modified to track the current clip rect
so that it can create a new DrawTargetCapture of the appropriate size
without needing to worry about lazy resolution.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 22:34:31 +00:00
Kagami Sascha Rosylight 3a1f6f85f5 Bug 1558001: Use double for DOMMatrix r=bzbarsky
DOMMatrix now internally uses double instead of float. This only fixes DOMMatrix internals so we still have to work on Servo CSS Parser to pass doubles instead of floats.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 15:59:54 +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
Ciure Andrei 86d096eeef Backed out changeset 6153e6bb58e1 (bug 1558375) for causing 1229972.html to perma crash CLOSED TREE 2019-06-15 13:42:53 +03:00
Jonathan Kew 9dbb54dd9e 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 05:27:40 +00:00
Jeff Muizelaar 73d47b32e2 Bug 1556473. Change DrawTargetD2D1::GetDeviceSpaceClipRect to always give back useful values. r=bas
Even if we have no clips applied it's valuable to give back the surface size.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 03:59:19 +00:00
Jeff Muizelaar e565bbcea6 Bug 1556470. Add a Flush() to DrawTargetD2D1::IntoLuminanceSource(). r=bas
I needed this change to make things work with my CreateClippedDrawTarget. It
seems reasonable but I can't justify it rigorously.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 03:58:36 +00:00
Bob Owen c7c1158e80 Bug 1464032 Part 15: Spread the playback of canvas recordings across multiple threads in the GPU process. r=mattwoodrow 2018-12-02 14:22:28 +00:00
Bob Owen 944d106bbf Bug 1464032 Part 14: Refactor Path recording to record Arc properly. r=jrmuizel
This also improves the recording and translation speeds.
2018-12-02 14:20:00 +00:00
Bob Owen 3cec9dbf00 Bug 1464032 Part 13: Make the recording of surface data more efficient. r=rhunt 2018-12-02 14:19:52 +00:00
Bob Owen 2853ef8068 Bug 1464032 Part 11: Make SourceSurface from DrawTargetRecording::CreateSourceSurfaceFromData hold its data. r=jrmuizel
This means that GetData on the returned SourceSurface will function correctly.
2018-12-02 14:17:24 +00:00
Bob Owen 9b1c422ff4 Bug 1464032 Part 10: Add a CanvasTranslator and canvas recorded events. r=jrmuizel
These are extensions to the Moz2D RecordedEvents to record and play back canvas
texture related functions in the GPU process.
The CanvasTranslator handles the playback of these and the Moz2D ones.
2018-12-02 14:17:12 +00:00
Bob Owen 8f860de188 Bug 1464032 Part 8: Add a CanvasEventRingBuffer and CanvasDrawEventRecorder. r=Gankro
These are to be used as part of recording canvas drawing in the content
processes and playing it back in the GPU process through shared memory.
2018-12-02 14:14:43 +00:00
Bob Owen 7d566c46fe Bug 1464032 Part 4: Record DrawTarget::Flush and DrawTarget::DetachAllSnapshots. r=jrmuizel 2018-12-02 14:14:11 +00:00
Bob Owen b6f83f9fbb Bug 1464032 Part 3: Remove unused GetObjectRef. r=jrmuizel 2018-12-02 14:14:03 +00:00
Bob Owen 29ef4af73e Bug 1464032 Part 2: Remove LoadEvent and replace with DoWithEvent. r=jrmuizel
This patch modifies DoWithEvent so that we can more easily have a
DoWithEventFromStream callable from outside of Moz2D similar to
LoadEventFromStream. We will add that in a later patch for the new
EventRingBuffer. It also changes the only user of LoadEventFromStream
over to it, so we can can get rid of it and LoadEvent entirely.
2018-12-02 14:13:56 +00:00
Jeff Muizelaar 42709ab870 Bug 1529677 - Move writing of Event type from RecordEvent() into RecordToStream(). r=bobowen 2019-02-21 11:23:00 +00:00
Csoregi Natalia 0bbc9b655d Merge inbound to mozilla-central. a=merge 2019-06-07 00:52:54 +03:00
Jeff Muizelaar 620457f85d Bug 1556421. Fix DrawTargetOffset::GetRect. r=mstange
We want to ensure that we include the underlying DrawTarget's origin.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:11:10 +00:00
Jeff Muizelaar 5826a9c1f4 Bug 1556466. Fix into DrawTargetOffset::IntoLuminanceSource. r=mstange
Use the underlying mDrawTarget instead of the base class.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:11:27 +00:00
Nicolas Silva c44ff5af9a Bug 1546894 - Keep track of current and begin points in path objects in case we'll create a builder from them. r=lsalzman
Because of the way the canvas 2D implementation juggles between path builders and paths, we have to keep track of current and first points in the path, in case a builder is created out of it.

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

--HG--
extra : source : c79b3af2395894b449731fccdd9eb006b4d0189e
2019-06-05 09:55:46 +02:00
Nicolas Silva 5e669cb7bb Bug 1546894 - Fix PathBuilderCapture::CurrentPoint when closing a path. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32459

--HG--
extra : source : 6131723bf0cf1c96352176832f91bcbc8b3432e9
2019-05-24 14:25:47 +02:00
Nicolas Silva 082205e739 Bug 1546894 - Fix PathBuilderSkia::CurrentPoint. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D32456

--HG--
extra : source : 566648165de4b80550337e6052f46eba653f0328
2019-05-27 12:36:32 +02:00
Jeff Muizelaar fee767003f Bug 1556505. Handle offset surfaces in the other backends. r=rhunt
This brings DrawTargetCairo and DrawTargetD2D1 inline with DrawTargetSkia's
ability to handle SourceSurfaceOffset properly.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 19:08:58 +00:00