Commit Graph

34541 Commits

Author SHA1 Message Date
Markus Stange
e0e54098e9 Bug 1574592 - Move NativeLayer management out of nsChildView and into LayerManagerComposite and RendererOGL. r=mattwoodrow
It looks like a big patch but it's mostly just moved code, with some duplication:
 - Layer creation and destruction moves to LayerManagerComposite and RendererOGL.
 - BasicCompositor IOSurface setup code moves to BasicCompositor.cpp.
 - OpenGL IOSurface setup code moves to CompositorOGL and RenderCompositorOGL.

The duplication is a bit unfortunate but the LayerManagerComposite code will
diverge from the WebRender code soon.

BeginFrame gets a new argument aNativeLayer. This argument will go away again
over the course of this patch queue. But for now, BeginFrame is the best place
to do the layer setup because it's a very close place to PreRender which is
where that code was previously.

I wasn't able to think of a nice way to give CompositorOGL and BasicCompositor
platform-specific behavior without #ifdefs. So now LayerManagerComposite uses
the "cross-platform" NativeLayer interface, but CompositorOGL and
BasicCompositor use NativeLayerCA because they actually need the IOSurface, and
they do that in #ifdef'd code.
Luckily, NativeLayerCA.h can be included in both .cpp files and in .mm files.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 17:43:42 +00:00
Bastien Orivel
88e5c4b00e Bug 1576361 - Update ipc-channel to 0.12 in webrender. r=emilio
While not used in firefox, this is required to update ipc-channel in
servo

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

--HG--
extra : moz-landing-system : lando
2019-08-24 12:22:26 +00:00
sotaro
dfe58e6580 Bug 1576073 - Clean up WebRenderImageHost a bit r=nical
Differential Revision: https://phabricator.services.mozilla.com/D43207

--HG--
extra : moz-landing-system : lando
2019-08-23 12:34:36 +00:00
Kearwood "Kip" Gilbert
291ee2b5f1 Bug 1574682 - Implement VREventObserver::NotifyEnumerationCompleted r=imanol
Differential Revision: https://phabricator.services.mozilla.com/D43202

--HG--
extra : moz-landing-system : lando
2019-08-23 06:30:56 +00:00
Ryan VanderMeulen
9b1cdd9e22 Bug 1576041 - Update HarfBuzz to 2.6.1. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D43201

--HG--
extra : moz-landing-system : lando
2019-08-23 14:12:12 +00:00
Timothy Nikkel
9126f41ac8 Bug 1575119. In brush_blend.glsl shader don't unpremultiply the alpha, only the colors. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D42970

--HG--
extra : moz-landing-system : lando
2019-08-23 00:09:30 +00:00
Kearwood "Kip" Gilbert
29c4fe1941 Bug 1574681 - VRManagerChild::GetVRDisplays returns void rather than bool r=thomasmo
Differential Revision: https://phabricator.services.mozilla.com/D42399

--HG--
extra : moz-landing-system : lando
2019-08-22 14:59:53 +00:00
Jonathan Kew
19da5d26be Bug 1575315 - Add noncharacter codepoints to those for which we never attempt font fallback. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42730

--HG--
extra : moz-landing-system : lando
2019-08-22 20:59:57 +00:00
Lee Salzman
abec95ddc1 Bug 1571838 - Backed out changeset a6f3fd30a0a7 (bug 1443181). r=jbonisteel
Differential Revision: https://phabricator.services.mozilla.com/D43080

--HG--
extra : moz-landing-system : lando
2019-08-22 15:15:08 +00:00
Botond Ballo
6faa60ff7c Bug 1575498 - Null-check state->mParent in GetStateForRoot(). r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42909

--HG--
extra : moz-landing-system : lando
2019-08-22 07:15:52 +00:00
sotaro
c423c98aca Bug 1557858 - Add multiple WebRenderBridgeParents support in WebRenderImageHost r=nical
Uses wr::PipelineId to identify user of WebRenderImageHost.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 10:20:02 +00:00
Jonathan Kew
147bae39f1 Bug 1573249 followup, clang-format nits. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42938

--HG--
extra : moz-landing-system : lando
2019-08-21 19:37:24 +00:00
Emilio Cobos Álvarez
4bde1e178c Bug 1575713 - Use Span<> rather than copying to return stuff from gfxFontFeatureValueSet. r=boris
It's a really minor perf improvement, but also a cleanup IMO.

Also be a bit more const-correct while at it.

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

--HG--
extra : moz-landing-system : lando
2019-08-22 00:24:47 +00:00
Emilio Cobos Álvarez
dca2b09c76 Bug 1575713 - Use atoms for font-feature-values. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42984

--HG--
extra : moz-landing-system : lando
2019-08-22 00:24:44 +00:00
Botond Ballo
52a4f25b4b Bug 1573014 - Early-exit ShrinkToDisplaySizeIfNeeded() in reader mode. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42967

--HG--
extra : moz-landing-system : lando
2019-08-21 23:33:14 +00:00
Emilio Cobos Álvarez
f11bf00012 Bug 1575559 - Make font-variant-alternates use cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D42859

--HG--
extra : moz-landing-system : lando
2019-08-21 22:45:26 +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
9d1532ac71 Bug 1575093 - Ensure initial-scale in a meta viewport tag is respected. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42949

--HG--
extra : moz-landing-system : lando
2019-08-21 22:00:43 +00:00
Jonathan Kew
129e7436f7 Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:20 +00:00
Jonathan Kew
38828a9be9 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-21 15:07:08 +00:00
Alexis Beingessner
31cd501ae3 Bug 1569131 - Also defer RecvParentCommands. r=jrmuizel
We defer ParentCommands when they come in attached to a display list,
but we forgot to defer them when they're sent directly. This was
causing us to crash when we defer updates that register textures
and the content process then suddenly decides we need to delete the
textures and only tells us through RecvParentCommands. We have no
idea what the textures are yet, so we need to defer these commands
along with everything else so that it's processed in the intended order.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 13:59:49 +00:00
Coroiu Cristina
f2e9770b54 Backed out 3 changesets (bug 1573249) for chrome failures at layout/inspector/tests/chrome/test_fontFaceGeneric.xul on a CLOSED TREE
Backed out changeset bdba80dae6e2 (bug 1573249)
Backed out changeset 21306e3f8d31 (bug 1573249)
Backed out changeset 3576d5b9f2db (bug 1573249)
2019-08-21 14:01:11 +03:00
Jonathan Kew
2898eb876f Bug 1573249 - patch 2 - Don't apply skip-ink to runs of CJK text, because it looks bad with many fonts. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42529

--HG--
extra : moz-landing-system : lando
2019-08-21 09:39:02 +00:00
Jonathan Kew
64239ebc50 Bug 1573249 - patch 1 - Clean up some management of the GlyphRun array in gfxTextRun. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D42528

--HG--
extra : moz-landing-system : lando
2019-08-20 18:06:13 +00:00
Mats Palmgren
2525944e34 Bug 1574994 part 1 - Remove/replace display:-moz-inline-grid and -moz-inline-stack in tests. r=emilio
I replaced the values with -moz-inline-box in the crashtests
rather than removing them.  I think they are still valuable
after replacing the display value.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Ryan VanderMeulen
943db786b5 Bug 1573841 - Update HarfBuzz to 2.6.0. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D42034

--HG--
extra : moz-landing-system : lando
2019-08-20 19:05:15 +00:00
Botond Ballo
fafd7d38c6 Bug 1565525 - Clear layer transforms when a tab is moved from an APZ-enabled compositor to an APZ-disabled compositor. r=hsivonen
Depends on D42565

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

--HG--
extra : moz-landing-system : lando
2019-08-20 06:38:00 +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
32ec0f3341 Bug 1491448 - Add NativeLayer::SetOpaqueRegion and implement it for NativeLayerCA by assembling opaque and transparent sublayers to cover the regions. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D40553

--HG--
extra : moz-landing-system : lando
2019-08-19 22:54:26 +00:00
Glenn Watson
0239393a23 Bug 1574838 - Allow generating dirty regions from picture caching dependency lists. r=kvark
Previously, additional dependencies (such as opacity bindings and
transforms) were stored in a simple hash set, which meant they
could not be correlated with primitive bounding rects (and thus
could not be used to derive dirty rects of a tile).

Now, by scanning the primitive list which contains the bounding
rect, we can also find additional dependencies for that primitive.
This will be used in future to create exact dirty rects (for
debugging / regression testing) and allow us to generate a
dependency descriptor for a split or merged tile from an existing
descriptor.

This patch also fixes a case where opacity bindings could result
in unnecessary invalidations, by retaining the opacity bindings
state across display lists.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:16:53 +00:00
Markus Stange
529ee470f1 Bug 1573343 - Destroy mFullWindowRenderTarget in a different place. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D42415

--HG--
extra : moz-landing-system : lando
2019-08-19 22:41:27 +00:00
Markus Stange
d417bf03ed Bug 1573343 - Use std::any_of to compute hasContentPaint. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41681

--HG--
extra : moz-landing-system : lando
2019-08-19 22:41:07 +00:00
Markus Stange
66fc92f4e1 Bug 1573343 - Stop using LayoutDevice units in BasicCompositor. r=mattwoodrow
ScreenPixels would be a more appropriate unit. But inside BasicCompositor everything
is in the same coordinate space anyway so we're not getting much benefit from the
units. This patch eliminates a lot of .ToUnknown*() calls.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:55 +00:00
Markus Stange
9fd442a1aa Bug 1573343 - Fix two comments in BasicCompositor. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41678

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:17 +00:00
Markus Stange
a5236f2abb Bug 1573343 - Remove an unnecessary null check and turn an emptiness check into an assertion. r=mattwoodrow
The null is unnecessary because mDrawTarget is already null-checked above:
If mTarget is non-null, then mDrawTarget = mTarget so mDrawTarget is non-null.
If mTarget is null, then we would enter a branch that had another null check
for mDrawTarget.

As for the assertion: When rendering to an external target (reftests),
LayerManagerComposite always sets the invalid region to the entire window, so it
should never be empty here.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:40:05 +00:00
Markus Stange
4491f22f3b Bug 1573343 - Add mDrawTargetBounds to clarify the position of mDrawTarget in window space. r=mattwoodrow
There was an interesting "ExpandToEnclose(IntPoint(0, 0))" call in
CreateRenderTargetForWindow that snuck in some surprising behavior that this
change makes a bit more visible.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:45 +00:00
Markus Stange
8b68a014ae Bug 1573343 - Pass a precise clear region to CreateRenderTargetForWindow. r=mattwoodrow
In the past, BeginFrame would clip mDrawTarget to the invalid region and then have
CreateRenderTargetForWindow clear a rectangle. So it was effectively clearing a
region, but only if BeginFrame's region clip happened to be set on the correct
DrawTarget. In the case where a back buffer was used, this was not the case:
The clip would be on mDrawTarget but the clear would happen on the back buffer
draw target. So we were clearing more than necessary.

Now we limit clearing to the invalid region even if a back buffer is used.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:26 +00:00
Markus Stange
a829cf1409 Bug 1573343 - Apply the translation in CreateRenderTargetForWindow instead of in BeginFrame. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41674

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:12 +00:00
Markus Stange
19c25b1d89 Bug 1573343 - Move draw target clearing out of GetBackBufferDrawTarget. r=mattwoodrow
On Windows, where the DrawTarget is rewrapped in a Cairo/pixman DrawTarget,
this will now cause Cairo/pixman to be used for the clear.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 22:39:00 +00:00
Markus Stange
2dbe70d234 Bug 1573343 - Reset the transform in a better place. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41672

--HG--
extra : moz-landing-system : lando
2019-08-19 22:38:35 +00:00
Simon Sapin
c9af673766 Bug 1568540 - Upgrade to ws 0.9 in WebRender r=emilio
[import_pr] From https://github.com/servo/webrender/pull/3720

MozReview-Commit-ID: AsI4hT0cFGJ

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

--HG--
extra : moz-landing-system : lando
2019-08-17 16:26:25 +00:00
Olli Pettay
26c09ef05a Bug 1574223, make touchstart/move passive by default also when using event handlers, not only event listeners, r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D42235

--HG--
extra : moz-landing-system : lando
2019-08-16 15:18:46 +00:00
Botond Ballo
86036ffa02 Bug 1574100 - For RefLayers with multiple metrics, only expose the event regions override for the bottom one. r=tnikkel
We only want the bottom LayerMetricsWrapper / WebRenderScrollDataWrapper to
be treated as a ref layer, and only ref layers have event regions overrides.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 20:23:11 +00:00
Connor Brewster
75aedaa2f5 Bug 1573719 - Implement composite SVG filter primitive in WebRender r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42057

--HG--
extra : moz-landing-system : lando
2019-08-16 16:17:01 +00:00
Connor Brewster
97f0a1af4b Bug 1561447 - Include picture shadow in local rect when building clip chain r=nical
Differential Revision: https://phabricator.services.mozilla.com/D42244

--HG--
extra : moz-landing-system : lando
2019-08-16 16:15:53 +00:00
Nicholas Nethercote
b55ea25941 Bug 1572633 - Remove apz.overscroll.spring_{stiffness,friction}. r=botond
They are unused.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 07:28:08 +00:00
Jeff Muizelaar
0d744a9591 Bug 1574299. Allow INTERNAL_THREADING_OPTIMIZATIONS when using WARP. r=aosmond
This seems to make a big difference when running tests with WARP.

e.g. Assertion failure: frameInfo.mDocFramesSeen == frameInfo.mDocFramesTotal,
at z:/build/build/src/gfx/webrender_bindings/RenderThread.cpp:303

and various other browser chrome test failures.

The original problem that added this flag only impacted AMD hardware as I
recall and we are unlikely to ever be running on WARP in production anyways.

When WARP is forced we also don't disable INTERNAL_THREADING_OPTIMIZATIONS.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:37:43 +00:00
Jeff Muizelaar
ade5ad48a8 Bug 1574327. Add a pref that we can use to disable d3d11 blacklist. r=aosmond
We'll use this to enable WARP on CI.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:39:18 +00:00
Markus Stange
d5d70b0f4a Bug 1491442 - Fix field order. r=fix CLOSED TREE
--HG--
extra : histedit_source : f55bd44f83746c0d1876b70ec978bc9dc8629616
2019-08-15 21:52:55 -04:00