Commit Graph

34822 Commits

Author SHA1 Message Date
Jeff Muizelaar
2417420ffc Bug 1582810. Drop clipped group bounds hack. r=aosmond
We don't need this anymore now that we're always
using the visible rect.

This requires bug 1582528 to properly set the visible area.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 17:38:52 +00:00
Nathan Froyd
2f78d3bd17 Bug 1581145 - update sfntly to master; r=jfkthame
This update brings in several bugfixes and compatibility with newer
libstdc++ versions.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 21:31:08 +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
Jonathan Kew
9d6bf431e5 Bug 1580690 - Ensure src:local() entries in the user font set are refreshed if the platform font list is rebuilt. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D46580

--HG--
extra : moz-landing-system : lando
2019-09-20 15:24:33 +00:00
Bob Owen
97b0a351d7 Bug 1578475: Cleanup Remote Canvas 2D IPC classes when not used for certain duration. r=mattwoodrow
This also changes CompositorBridgeChild to create the CanvasChild lazily.

Depends on D44154

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

--HG--
extra : moz-landing-system : lando
2019-09-17 00:15:59 +00:00
Daosheng Mu
125bfdb32c Bug 1581988 - Making VR display enumerationCompleted be false when doing enumeration. r=kip
If VR process haven't launched yet, we couldn't get available VR displays and its states, so we need to make enumationCompleted to be false, and ask it do the enumeration again.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 00:26:23 +00:00
sotaro
5182120673 Bug 1582371 - Add DCLayerTree class r=nical
Preparation work for adding DirectComposition support. It does not add a new functionality.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 18:15:11 +00:00
Cosmin Sabou
db07080d87 Backed out changeset 08f2148de713 (bug 1581757) for causing webrender reftest failures.
--HG--
extra : rebase_source : 6d41ee1b453c7433768f9b77b6f88483a4215f04
2019-09-19 07:40:01 +03:00
Botond Ballo
b0c0d22c43 Bug 1564195 - Add a GTest to test correct setting of the mHitRegionWithApzAwareListeners flags. r=tnikkel
Depends on D46377

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

--HG--
extra : moz-landing-system : lando
2019-09-19 03:05:05 +00:00
Botond Ballo
6a4103189b Bug 1564195 - Add a flag to APZEventResult indicating whether the event hit a region with APZ-aware listeners. r=tnikkel
This is currently only populated for touch events.

Depends on D46376

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

--HG--
extra : moz-landing-system : lando
2019-09-19 02:55:35 +00:00
Botond Ballo
a61744ca91 Bug 1564195 - Group the results of APZInputBridge::ReceiveInputEvent() into a struct. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D46376

--HG--
extra : moz-landing-system : lando
2019-09-19 02:45:21 +00:00
Jeff Muizelaar
4db1b2ef19 Bug 1582217. Drop unneeded image dependencies. r=kvark
We only use the png codec so let's save some link time by not including
the other codecs.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 22:04:47 +00:00
Glenn Watson
8836bc5265 Bug 1581757 - Support slicing the scene into an arbitrary number of picture cache slices r=nical
Previously, the setup_picture_caching function was hard coded
to support only a very specific shape of display list. With this
change, flags are added to PrimitiveCluster that can specify
if a picture cache slice should be created before / after this
cluster when picture caching is set up.

The usage of these flags in this patch matches the old behaviour,
so should not have any functional effect.

However, in future we will make use of this functionality to
create picture slices for a number of different use cases, such as:

 * Creating cache tiles for the UI.
 * Slicing the scene where there are video elements, in order to
   allow these to be composited directly by the OS. This may also
   apply to WebGL and/or canvas elements.
 * Slicing the scene when there is a very large fixed position
   background image or other element, to avoid invalidating the
   entire tile cache each frame.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 23:17:55 +00:00
Dzmitry Malyshau
9c34641992 Bug 1582198 - Remove nix dependency from Wrench r=jrmuizel
https://github.com/servo/webrender/pull/3736

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

--HG--
extra : moz-landing-system : lando
2019-09-18 17:51:27 +00:00
Jeff Muizelaar
27b7b84144 Bug 1573569. Add some debugging code. r=aosmond
This should help us figure what's going on.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:47:05 +00:00
sotaro
1b54393769 Bug 1582011 - Reduce IDCompositionDevice::Commit calls r=nical
IDCompositionDevice::Commit needs to be called when there is an update to DirectComposition. RenderCompositorANGLE updates DirectComposition only during initialization. Then it is not necessary to call the function in EndFrame().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 08:00:44 +00:00
Glenn Watson
1cd0a0e783 Bug 1581677 - Fix consistency bug in WR dirty rect calculation. r=nical
This fixes a case where the is_same_content field was no longer
being reset to true before dependency calculation could occur.

In some cases, this could result in a tile being updated, but
the dirty rect being empty, which meant all primitives in that
tile would fail the visibility culling test.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 08:01:50 +00:00
Henri Sivonen
c193518677 Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D43957

--HG--
extra : moz-landing-system : lando
2019-09-18 08:26:34 +00:00
Daosheng Mu
480100a366 Bug 1510622 - Initilize OpenVR controller haptic thread when the first time to do vibration. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D46227

--HG--
extra : moz-landing-system : lando
2019-09-18 00:13:12 +00:00
A. Wilcox
f40d806c0d Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D46134

--HG--
extra : moz-landing-system : lando
2019-09-17 17:47:17 +00:00
Glenn Watson
e2052553cc Bug 1581448 - Add support for specifying extra per-primitive flags in WR display lists r=kvark,nical
This patch replaces the is_backface_visible bool in the common
per-primitive data in the display list with a PrimitiveFlags
enumeration. This will allow Gecko to specify extra information
about certain primitive, such as tagging scroll bars.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 07:14:51 +00:00
Andreea Pavel
73383c5230 Backed out changeset af9417bd8105 (bug 1581448) for wrench bustages on a CLOSED TREE 2019-09-18 09:54:23 +03:00
Glenn Watson
83dc27b34b Bug 1581650 - Provide picture cache dirty rects in WR render outputs r=nical
This provides the internal device-space dirty rects calculated
during picture cache updates to the external render() method.

This allows clients to provide these to OS partial present APIs,
to reduce power usage and improve performance.

In this initial implementation, if a scroll or scale of the main
picture cache has occurred, the dirty rect will be the entire
screen. This should ensure correctness. In future, we can handle
this case by supplying the picture cache transforms to the OS
compositor integration.

However, the dirty rects will be valid for any non-scroll cases,
such as animations or video playback. This should result in some
significant power savings and performance improvements for these
use cases.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 06:27:54 +00:00
Glenn Watson
ff53edd4e5 Bug 1581448 - Add support for specifying extra per-primitive flags in WR display lists r=kvark,nical
This patch replaces the is_backface_visible bool in the common
per-primitive data in the display list with a PrimitiveFlags
enumeration. This will allow Gecko to specify extra information
about certain primitive, such as tagging scroll bars.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 06:27:34 +00:00
Gerald Squelart
dc8ac83ba6 Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:22:12 +00:00
Gerald Squelart
fc93e3d9da Bug 1575448 - De/serialize ProfilerMarkerPayload derived objects - r=gregtatum
Payloads will serialize themselves into a `BlocksRingBuffer` entry when first
captured.
Later they will be deserialized, to stream JSON for the output profile.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:20:10 +00:00
Jeff Muizelaar
f29ce99be0 Bug 1581953. Don't invalidate everything when the visible rect changes.
Differential Revision: https://phabricator.services.mozilla.com/D46218

--HG--
extra : moz-landing-system : lando
2019-09-17 20:06:39 +00:00
Jeff Muizelaar
db1c09ed99 Bug 1580062. Fixup invalidation for resize. r=nical
This works by keeping track of the previous visible rect and
computing a preserved rect by intersecting with the new visible
rect.

We force the dirty rect to be inside this preserved area.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 19:59:29 +00:00
Jamie Nicol
35886dcefd Bug 1580153 - Call NotifyFirstPaint on next composite after RecvResumeAndResize. r=jrmuizel
Previously after RecvResumeAndResize() we would set a flag on the root
WebRenderBridgeParent, which in turn sets a flag on the next display list it
receives that it should be treated as a first paint. Then when that display list
is finally composited, we call UiCompositorControllerParent::NotifyFirstPaint(),
which in turn tells GeckoView to uncover the widget.

After switching tabs in GeckoView browsers, however, the root
WebRenderBridgeParent does not always receive a new display list, so the widget
would not be uncovered. Instead of waiting for the next received display list to
be composited, we simply want to uncover the widget on the next composite. To
achieve this we instead set the forced-first-paint flag on the root
CompositorBridgeParent then we call NotifyFirstPaint() during
CompositorBridgeParent::NotifyPipelineRendered().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 14:57:59 +00:00
Jeff Muizelaar
e3fb5c3284 Bug 1570435. Handle merging blobs with different bounds. r=nical
We compute the preserved bounds for each item and see if it's
contained in the invalid area. The gecko side will do the same
computation.

Appologies for duplicating euclid with Box2d type. We can deal with
that in a followup.

The asserts are disabled for now. I tried reenabling them and they
triggered. I haven't had a chance to figure out if they are still
valid.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 18:13:37 +00:00
Dustin J. Mitchell
395fc199f8 Bug 1575648 - update webrender tc.yml to v1; r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46038

--HG--
extra : moz-landing-system : lando
2019-09-17 13:54:56 +00:00
Nicolas Silva
b80a2c908a Bug 1570081 - Put the blob dirty rect in the same space as the drawing commands and visible rect. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43223

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:18 +00:00
Nicolas Silva
dfe0f0cf10 Bug 1570081 - Don't insert blob images with empty visible rects. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D43222

--HG--
extra : moz-landing-system : lando
2019-09-17 09:13:06 +00:00
Nicolas Silva
7b6f30fd89 Bug 1570081 - Wrench rawtest changes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D41387

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:43 +00:00
Nicolas Silva
e9915eb02b Bug 1570081 - Support changing the blob image visible rect in WebRender. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D39911

--HG--
extra : moz-landing-system : lando
2019-09-17 09:12:26 +00:00
Nicolas Silva
e9850ca2ee Bug 1581058 - Remove remaining use of the term "flattening". r=gw
Differential Revision: https://phabricator.services.mozilla.com/D46018

--HG--
extra : moz-landing-system : lando
2019-09-17 09:20:04 +00:00
Nicolas Silva
3a51eac38e Bug 1581058 - Rename a lot of scene building related structures. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45853

--HG--
rename : gfx/wr/webrender/src/display_list_flattener.rs => gfx/wr/webrender/src/scene_building.rs
extra : moz-landing-system : lando
2019-09-17 09:20:03 +00:00
Nicolas Silva
823e2e6a75 Bug 1581058 - Rename scene_builder::SceneBuilder into scene_builder_thread::SceneBuilderThread. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45854

--HG--
rename : gfx/wr/webrender/src/scene_builder.rs => gfx/wr/webrender/src/scene_builder_thread.rs
extra : moz-landing-system : lando
2019-09-17 09:19:36 +00:00
Nicolas Silva
50c27ced3f Bug 1581058 - Move RenderTaskCache into its own module. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D45855

--HG--
extra : moz-landing-system : lando
2019-09-17 09:18:03 +00:00
Bogdan Tara
361c83c1a9 Backed out 21 changesets (bug 1578327, bug 1575448, bug 1580091, bug 1576554, bug 1581049, bug 1576551, bug 1578329, bug 1576555) for platform.cpp related bustage CLOSED TREE
Backed out changeset 27afea20c396 (bug 1581049)
Backed out changeset be1ec4577d37 (bug 1581049)
Backed out changeset b4b6bbb18cc1 (bug 1581049)
Backed out changeset b30942f9db54 (bug 1581049)
Backed out changeset 473c431866f7 (bug 1578329)
Backed out changeset ac492dc3df20 (bug 1578329)
Backed out changeset f51875652f6f (bug 1578327)
Backed out changeset 512b7cbd18f6 (bug 1576555)
Backed out changeset 2d63a9934c00 (bug 1576555)
Backed out changeset ff73f648ab6c (bug 1576555)
Backed out changeset 49f49079bbb5 (bug 1576555)
Backed out changeset e8323157c6f3 (bug 1575448)
Backed out changeset 3b0d726f2dd6 (bug 1575448)
Backed out changeset 5924790abc4b (bug 1576554)
Backed out changeset a14ac9bb5338 (bug 1576554)
Backed out changeset b6d73f5042a7 (bug 1576551)
Backed out changeset 366030bd2d84 (bug 1576551)
Backed out changeset d7ee4148aad9 (bug 1576551)
Backed out changeset ec72dfc7301e (bug 1576551)
Backed out changeset 79b29286f906 (bug 1580091)
Backed out changeset 6f34c2e57ccf (bug 1580091)
2019-09-17 10:16:14 +03:00
Gerald Squelart
6b49069f3e Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:56 +00:00
Gerald Squelart
5b86107991 Bug 1575448 - De/serialize ProfilerMarkerPayload derived objects - r=gregtatum
Payloads will serialize themselves into a `BlocksRingBuffer` entry when first
captured.
Later they will be deserialized, to stream JSON for the output profile.

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:51:41 +00:00
sotaro
33aa5e8fda Bug 1581307 - Remove wr::WrExternalImageId r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D45937

--HG--
extra : moz-landing-system : lando
2019-09-16 22:13:16 +00:00
Botond Ballo
ad9e06d1e5 Bug 1578777 - Remove the builder parameter from nsDisplayFilters::CreateWebRenderCommands(). r=jrmuizel
It was unused.

Depends on D46057

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

--HG--
extra : moz-landing-system : lando
2019-09-16 21:50:16 +00:00
Botond Ballo
48a06f502f Bug 1578777 - Remove non-ASCII character from comment in WebRenderCommandBuilder.cpp. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D46057

--HG--
extra : moz-landing-system : lando
2019-09-16 21:57:56 +00:00
Lee Salzman
18ac180309 Bug 1547063 - fix advance scaling for emoji. r=karlt
This fixes the regression in reftests/text/color-opacity-rtl-[12].html.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 16:46:27 +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
286a7bbfff Bug 1547063 - Use SharedFTFace in thebes. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D44494

--HG--
extra : moz-landing-system : lando
2019-09-16 17:07:59 +00:00