Commit Graph

33935 Commits

Author SHA1 Message Date
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
Jeff Gilbert
ccda45f8e3 Bug 1560157 - Remove EGLUtils.h. r=lsalzman
EGLImageWrapper was completely unused.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 16:53:09 +00:00
shindli
c0ca77697c Merge inbound to mozilla-central. a=merge 2019-06-21 12:34:14 +03:00
Martin Stransky
dad38daa59 Bug 1557265 - Include gbm.h to build Wayland dmabuf backend, r=glandium
Depends on D34857

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

--HG--
extra : moz-landing-system : lando
2019-06-20 21:52:42 +00:00
Noemi Erli
5c199db0b2 Backed out changeset d909b10d7a39 (bug 1560157) for causing build bustages in TextureHostOGL.cpp CLOSED TREE 2019-06-21 02:48:27 +03:00
Jeff Gilbert
32cc8bf833 Bug 1560157 - Remove EGLUtils.h. r=lsalzman
EGLImageWrapper was completely unused.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 23:13:56 +00:00
Jed Davis
5c3a0a30d3 Bug 1426526 - Delete file_util from ex-Chromium IPC source. r=froydnj
Depends on D26746

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

--HG--
extra : moz-landing-system : lando
2019-06-20 22:40:40 +00:00
Jed Davis
3c945a3e99 Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj
Despite the comment saying not to use the "handle" except as an opaque
identifier, it is being used to pass the handle to other OS APIs.  Direct
access to the handle needs to be controlled to make sure freezing is
safe, so this patch replaces that with interfaces that are more explicit
about ownership and lifetime.

Depends on D26739

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

--HG--
extra : moz-landing-system : lando
2019-06-20 22:40:19 +00:00
Cosmin Sabou
55afe30077 Merge mozilla-central to autoland. CLOSED TREE 2019-06-21 01:44:45 +03:00
Cosmin Sabou
49014f945b Merge mozilla-inbound to mozilla-central. a=merge 2019-06-21 01:03:07 +03:00
myfreeweb
01916974b0 Bug 1213601 - implement kinetic/inertial scrolling (fling) for Gtk. r=botond
--HG--
extra : rebase_source : 69a374c26bcb8781e83aeb26058a2de349313bbc
extra : amend_source : 521bb6f2b5799bfca5f8b8b5bbe9e4fef1f2dd1e
2019-06-20 16:18:45 -04:00
Nicolas Silva
d1d43baacc Bug 1558135 - Use a faster image shader when we don't need repetitions and anti-aliasing. r=gw
--HG--
extra : rebase_source : 5b6a332ba781ef9673fe9866872c3fe2977049f6
2019-06-20 10:14:48 -07:00
Ciure Andrei
72f3f971fb Backed out 15 changesets (bug 1479960, bug 1426526, bug 1534780, bug 1536697) for causing build bustages CLOSED TREE
Backed out changeset 5645e0cc3915 (bug 1479960)
Backed out changeset a7c09894c6a0 (bug 1536697)
Backed out changeset 510f03381af9 (bug 1426526)
Backed out changeset 7cf4735a088f (bug 1426526)
Backed out changeset 41080844e645 (bug 1479960)
Backed out changeset fdba3c5f8fd0 (bug 1479960)
Backed out changeset 26a8ebcb2db4 (bug 1479960)
Backed out changeset d0d383e5bae1 (bug 1479960)
Backed out changeset c418095bb7b7 (bug 1479960)
Backed out changeset 7b78b1945532 (bug 1479960)
Backed out changeset c47d47d4073d (bug 1479960)
Backed out changeset 71253b62a633 (bug 1479960)
Backed out changeset ae525f20bdbb (bug 1479960)
Backed out changeset 7fba719355d7 (bug 1534780)
Backed out changeset 771db331860a (bug 1534780)
2019-06-20 19:54:57 +03:00
Jed Davis
d0e26716c7 Bug 1426526 - Delete file_util from ex-Chromium IPC source. r=froydnj
Depends on D26746

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

--HG--
extra : moz-landing-system : lando
2019-06-17 02:20:06 +00:00
Jed Davis
d1d5748834 Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj
Despite the comment saying not to use the "handle" except as an opaque
identifier, it is being used to pass the handle to other OS APIs.  Direct
access to the handle needs to be controlled to make sure freezing is
safe, so this patch replaces that with interfaces that are more explicit
about ownership and lifetime.

Depends on D26739

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

--HG--
extra : moz-landing-system : lando
2019-06-17 02:19:46 +00:00
Kartikaya Gupta
e680f06913 Bug 1548687 - Rename functions per review comment suggestions. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D35315

--HG--
extra : moz-landing-system : lando
2019-06-20 14:31:08 +00:00
Kartikaya Gupta
1bf9a05842 Bug 1548687 - Add mochitest to exercise scrolling an oopif's ancestor. r=botond
This scrolls the document containing the OOPIF and ensures that
hit-testing still works. Some of the fission hit-testing machinery is
still WR-only, so we have to restrict the subtest to only run when WR
is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 14:34:54 +00:00
Kartikaya Gupta
9f179786cb Bug 1548687 - Remove unused dangling argument. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D35203

--HG--
extra : moz-landing-system : lando
2019-06-20 14:30:36 +00:00
Kartikaya Gupta
32f4c475cc Bug 1548687 - Optimization to reduce the number of IPC messages. r=botond
The case being fixed by this bug is currently relatively rare, in that
it requires the scrolling of a frame that contains OOP content. This
patch adds a bit of optimization to ensure that we only send the
affected transforms (i.e. for the scrolled OOP layers subtrees) in this
scenario, so that we don't cause unnecessary IPC overhead.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 14:30:28 +00:00
Kartikaya Gupta
f8c16837dd Bug 1548687 - Send OOP frame transforms to the main thread more often. r=botond
In cases such as APZ scrolling with paint-skipping, there is an
additional transform component that needs to be included in the
transforms that APZ sends to the main thread for the purposes of
tracking OOP iframe positions. This patch includes the missing transform
component in the calculated matrices. This component updates more
frequently, generally on each call to RequestContentRepaint, as
mExpectedGeckoMetrics is updated, so we also need to send the frame
transform matrices over with this frequency.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 14:30:12 +00:00
Kartikaya Gupta
8147b6bbcb Bug 1548687 - Remove unnecessary root layers id argument. r=botond
The APZCTreeManager already knows its root layers id, so we don't need
to be passing it all over the place. I previously verified via a try
push with an assertion that the incoming aRootLayersId is always equal
to mRootLayersId.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 14:30:02 +00:00
sotaro
1b3de0879f Bug 1533296 - Make WebRender error as to Fallback to Compositor rendering during disabling WebRender on android r=nical
On android, android's nsWindow creates LayerManaer only in nsWindow::Create(). When WebRender error happened, gecko just stopped rendering by disabling Webrender.
The nsWindow needs to re-create LayerManager during disabling Webrender. Further, during disabling WebRender, All GeckoSurfaceTextures should not be attached to GLContext. It is for preventing a conflict with AttachToGLContext() call in SurfaceTextureHost::EnsureAttached().

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

--HG--
extra : moz-landing-system : lando
2019-06-19 16:14:56 +00:00
Daniel Varga
1ca75bd3d1 Backed out 6 changesets (bug 1548687) for browser chrome failure at gfx/layers/apz/test/mochitest/browser_test_group_fission.js. On a CLOSED TREE
Backed out changeset b8f38148ccbc (bug 1548687)
Backed out changeset a222c1b94540 (bug 1548687)
Backed out changeset 1ddcedc57f6f (bug 1548687)
Backed out changeset a6aa3a8b41b0 (bug 1548687)
Backed out changeset 0454826b6047 (bug 1548687)
Backed out changeset 6fde36402c40 (bug 1548687)
2019-06-20 01:14:20 +03:00
Kartikaya Gupta
a99bca1199 Bug 1548687 - Rename functions per review comment suggestions. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D35315

--HG--
extra : moz-landing-system : lando
2019-06-19 19:24:04 +00:00
Kartikaya Gupta
1f1cd321aa Bug 1548687 - Add mochitest to exercise scrolling an oopif's ancestor. r=botond
This scrolls the document containing the OOPIF and ensures that
hit-testing still works. Some of the fission hit-testing machinery is
still WR-only, so we have to restrict the subtest to only run when WR
is enabled.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 19:23:54 +00:00
Kartikaya Gupta
3a0462de3c Bug 1548687 - Remove unused dangling argument. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D35203

--HG--
extra : moz-landing-system : lando
2019-06-19 19:23:43 +00:00
Kartikaya Gupta
4345a89ac7 Bug 1548687 - Optimization to reduce the number of IPC messages. r=botond
The case being fixed by this bug is currently relatively rare, in that
it requires the scrolling of a frame that contains OOP content. This
patch adds a bit of optimization to ensure that we only send the
affected transforms (i.e. for the scrolled OOP layers subtrees) in this
scenario, so that we don't cause unnecessary IPC overhead.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 19:23:41 +00:00
Kartikaya Gupta
f6d1c3f41e Bug 1548687 - Send OOP frame transforms to the main thread more often. r=botond
In cases such as APZ scrolling with paint-skipping, there is an
additional transform component that needs to be included in the
transforms that APZ sends to the main thread for the purposes of
tracking OOP iframe positions. This patch includes the missing transform
component in the calculated matrices. This component updates more
frequently, generally on each call to RequestContentRepaint, as
mExpectedGeckoMetrics is updated, so we also need to send the frame
transform matrices over with this frequency.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 19:23:37 +00:00
Kartikaya Gupta
51689ccfe3 Bug 1548687 - Remove unnecessary root layers id argument. r=botond
The APZCTreeManager already knows its root layers id, so we don't need
to be passing it all over the place. I previously verified via a try
push with an assertion that the incoming aRootLayersId is always equal
to mRootLayersId.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 19:23:33 +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
Glenn Watson
0689b50e52 Bug 1559295 - Support multiple picture cache tile sizes in WR texture cache. r=kvark
In future, picture cache tiles will support different sizes, depending
on the size of the content slice being cached, and how frequently
parts of the slice are changing.

Although currently unused, this patch adds support for specifying
multiple different tile sizes for the picture cache texture array.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 15:46:18 +00:00
Csoregi Natalia
9420c9eccf Backed out changeset be881e8aa8d9 (bug 1559295) for webrender bustage on webrender/src/texture_cache.rs. CLOSED TREE
--HG--
extra : histedit_source : 56889f6c35d9135a2c3f9177d344ba55121db2f7
2019-06-19 17:34:44 +03:00
Glenn Watson
ae6e0cf4a3 Bug 1559295 - Support multiple picture cache tile sizes in WR texture cache. r=kvark
In future, picture cache tiles will support different sizes, depending
on the size of the content slice being cached, and how frequently
parts of the slice are changing.

Although currently unused, this patch adds support for specifying
multiple different tile sizes for the picture cache texture array.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 19:38:34 +00:00
Glenn Watson
77363f0e08 Bug 1559535 - Fix crash related to mismatched clips with picture caching. r=kvark
Fixes an edge case where splitting the top level primitive list
for picture caching may result in a mismatched push/pop clip
pair.

This is not a particularly efficient fix, but it's a rare enough
edge case for now that this fix will be good enough until we work
out the long term solution for the push/pop clip chain instances.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 08:40:27 +00:00
Jean-Yves Avenard
139dde3db5 Bug 1559675 - P2. Initialise xpcom earlier in GPU process. r=mattwoodrow
StaticPrefs are fully initialized with Preferences, which is instantiated via XPCOM. It is required as such to initialize xpcom first.

Depends on D35263

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

--HG--
extra : moz-landing-system : lando
2019-06-18 23:03:20 +00:00
sotaro
62e9533629 Bug 1559859 - Always release mWidget in UiCompositorControllerChild::Destroy() r=kats
Differential Revision: https://phabricator.services.mozilla.com/D35210

--HG--
extra : moz-landing-system : lando
2019-06-18 09:49:02 +00:00
Doug Thayer
45555d1065 Bug 1548247 - Fully recurse frame tree from APZCCallbackHelper r=kats
I wasn't able to produce a situation in which this change matters, so
I'm not certain that it's necessary, but it seems to be the correct
thing to do given the problem fixed in nsGfxScrollFrame.cpp.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 22:03:08 +00:00
Doug Thayer
b9ba8a94c6 Bug 1548247 - Use aGuid's RenderRoot in RecvStart/StopAutoscroll r=kats
The work for the antecedent patch led me to stumble on a problem where
we were not correctly stopping autoscroll. This was also due to a
renderroot mismatch, which this patch addresses. The call comes through
nsBaseWidget no matter what, it seems, so using mWrRootId.mRenderRoot
seems to be incorrect. I couldn't see a more elegant fix than this.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 22:03:04 +00:00
Doug Thayer
5a066b03f1 Bug 1548247 - Correct and limit scroll update renderroot usage r=kats
There's two things going on here. 1) nsGfxScrollFrame is getting the
wrong renderroot, because it's not correctly recursing up the frame
tree. 2) Hiding behind that problem is that if we do correctly assign
the renderroot, we end up blocking on both render roots updating if
we don't, say, have a horizontal scroll option, because that leaves
us with a wr::RenderRoot::Default. 2.1) We then still end up blocking
on the default renderroot because we initialize the selector with
WebRenderBridgeParent's mRenderRoot.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 22:02:57 +00:00
Glenn Watson
ee02d52111 Bug 1559354 - SVG graphs broken with Webrender enabled. r=nical
This patch fixes two issues with blob images + new picture caching.

1) The logic that determines a conservative set of visible tiles
   for tiled / blob images was no longer correct. It was relying
   on the bounds of a single tile to build the conservative rect.
   Instead, take the overall primitive world bounds and derive a
   conservative set of visible tiles from this.

2) The logic to detect if an image was dirty was incorrect, and
   somewhat error prone. It now maintains a set of dirty images
   that have been requested. The image key dependencies are then
   checked during the tile cache post_update step.

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

--HG--
extra : moz-landing-system : lando
2019-06-18 16:08:21 +00:00
sotaro
5f8fe2e910 Bug 1547760 - Ensuring UiCompositorControllerChild::mWidget alive when it is used
Differential Revision: https://phabricator.services.mozilla.com/D35166
2019-06-18 09:44:52 +09:00
Jeff Gilbert
7ac9159761 Bug 1442825 - Remove ScopedGLWrapper base class. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D35138

--HG--
extra : moz-landing-system : lando
2019-06-17 06:40:27 +00:00
Ryan Hunt
b30b378812 Bug 1559565 - Revert part of bug 1559259 for high frequency intermittent failures. r=rhunt
The test still fails frequently on non-WR; we must still be missing something.

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

--HG--
extra : moz-landing-system : lando
2019-06-17 14:34:46 +00:00
Mihai Alexandru Michis
b3b4012542 Merge inbound to mozilla-central. a=merge 2019-06-17 12:59:31 +03:00
sotaro
7db1eb81a0 Bug 1546192 - Check SharedSurface_Basic::Create failure
Differential Revision: https://phabricator.services.mozilla.com/D28439
2019-06-17 13:40:13 +09:00
Kartikaya Gupta
f4ef963535 Bug 1559375 - Allow qualified AMD devices to get WR in late beta and release. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D35024

--HG--
extra : moz-landing-system : lando
2019-06-16 02:44:48 +00:00
Jamie Nicol
34dc1a1c4a Bug 1556763 - Enable wrench blend reftests on android devices. r=kats
These now work on actual devices now, but must remain disabled on the
emulator until bug 1555002 is fixed.

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

--HG--
extra : moz-landing-system : lando
2019-06-15 11:56:33 +00:00
Jamie Nicol
ee505d0bfd Bug 1556763 - Disable blend_equation_advanced on adreno devices. r=gw
There appears to be a driver bug on android 8 and older where it does
not render correctly.

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

--HG--
extra : moz-landing-system : lando
2019-06-15 11:56:24 +00:00
Jamie Nicol
ce7a78895a Bug 1556763 - Add layout qualifier to fragment shader output for advanced blend. r=kvark
When using an advanced blend equation, fragment shader output must be
marked with a matching layout qualifier. Not doing so was causing
subsequent glDraw* operations to fail.

This patch adds a new shader feature, WR_FEATURE_ADVANCED_BLEND, which
requires the necessary extension and adds the qualifier. Variants of
the brush_image shaders are created with this feature, and are used
whenever a brush_image shader is requested for BlendMode::Advanced.

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

--HG--
extra : moz-landing-system : lando
2019-06-15 11:56:14 +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