35111 Commits

Author SHA1 Message Date
Jonathan Kew
4c6b51d9d2 Bug 1591863 - Ensure we don't sometimes bypass the possibility of intra-family style fallback in system fonts. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D50930

--HG--
extra : moz-landing-system : lando
2019-10-29 18:38:10 +00:00
Bogdan Tara
f866fef3ad Backed out 3 changesets (bug 1591523) for bustages complaining about RenderCompositorOGL.cpp CLOSED TREE
Backed out changeset 407f051e14db (bug 1591523)
Backed out changeset b4c8080dae86 (bug 1591523)
Backed out changeset abb627bc4f75 (bug 1591523)
2019-10-29 22:00:05 +02:00
Markus Stange
9585925ff5 Bug 1591523 - First pass of OS compositor implementation on macOS. r=sotaro
This implementation is off by default (behind gfx.webrender.compositor) until
various bugs and inefficiencies are fixed. See bug 1592016.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:39 +00:00
Markus Stange
eb84b69274 Bug 1591523 - Add NativeLayerRoot::SetLayers. r=jrmuizel
This allows us to somewhat cheaply swap out the entire set of layers.
It also means that clearing the array of layers no longer has quadratic complexity;
in the past, you would do this by calling RemoveLayer once per layer, and RemoveLayer
does a linear scan through the array.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:36 +00:00
Markus Stange
4631463725 Bug 1591523 - Move existing NativeLayer management into RenderCompositorOGL. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D50724

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:29 +00:00
Markus Stange
98f1e26c4e Bug 1587940 - Add NativeLayer::SetClipRect and implement it for Core Animation with a parent layer that has masksToBounds=YES. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50723

--HG--
extra : moz-landing-system : lando
2019-10-29 19:25:27 +00:00
Markus Stange
64c13fc106 Bug 1587940 - Remove capability for opaque regions from NativeLayer interface. r=jrmuizel
This change makes opaqueness a boolean per layer again. The opaque region is
currently only used by the temporary WebRender code; the future WebRender code
won't use it. Removing this support simplifies the code and makes it easier to
implement clipping.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 19:24:24 +00:00
Martin Stransky
bf00169ed5 Bug 1589114 [Watland] Set widget EGL window size for WebRender, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D50746

--HG--
extra : moz-landing-system : lando
2019-10-29 09:00:26 +00:00
Narcis Beleuzu
a64dcc0c07 Backed out changeset 7a4cf3982659 (bug 1573710) for mda failures on test_getUserMedia_basicScreenshare. CLOSED TREE 2019-10-29 11:28:09 +02:00
Glenn Watson
6f43be3422 Bug 1592121 - Ensure prim instances in culled clusters are reset. r=nical
This prevents stale indices into the prim visibility scratch
buffer being reused on subsequent frames, which can cause various
unexpected code paths to be hit.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 08:55:16 +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
Bob Owen
b4078e6a0d Bug 1582372 Part 1: Ensure recorded texture SurfaceDescriptor is not in map for compositor when texture dies. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D49757

--HG--
extra : moz-landing-system : lando
2019-10-22 20:52:51 +00:00
sotaro
16784c5201 Bug 1573710 - Trigger composite after SetParent() r=Gankro
The patch permits to resize compositor window's size after ::SetParent() call to prevent a conflict between ::SetParent() and ::SetWindowPos(). Then it triggers a composite after SetParent() call to resize compositor window correctly.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 21:33:40 +00:00
Glenn Watson
1a277253b9 Bug 1591534 - Ensure native surfaces are destroyed on renderer deinit. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D50775

--HG--
extra : moz-landing-system : lando
2019-10-29 00:32:50 +00:00
Glenn Watson
7f20e257e6 Bug 1591524 - Clean up native compositor surfaces that are not retained. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D50773

--HG--
extra : moz-landing-system : lando
2019-10-29 00:32:20 +00:00
Daosheng Mu
21480b57c1 Bug 1565268 - Recovering VRDisplay status after VRService is shutdown. r=kip,jgilbert
When JS is paused, VRService will automatically shutdown because the timer is not updated,
we used to create a new VRDisplay to JS. However, the page is still using the older VRDisplay,
so it can't get the newest VRDisplayInfo status. We should exit presentation and
apply the VRDisplayInfo status to the original VRDisplay instead of creating new one.

Besides, we also need to release the VR screen buffer after exiting the immersive mode to avoid eglMakeCurrent error.

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

--HG--
extra : moz-landing-system : lando
2019-10-29 00:35:35 +00:00
Glenn Watson
074c0fe3ca Bug 1591527 - Integrate partial repainting with OS compositor surfaces. r=kvark,mstange
This passes the existing dirty rect for a picture cache update
through the native compositor interface, allowing compositors
to only update a sub-rect of a tile.

Also update the example to pass dirty rect to DirectComposition,
and add debug drawing for compositor redraw region.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 20:56:42 +00:00
Jonathan Kew
25f7012319 Bug 1588788 - Pass the correct variation settings to harfbuzz shaping, including any derived from font-weight/-stretch/-style properties. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D50830

--HG--
extra : moz-landing-system : lando
2019-10-28 20:57:19 +00:00
Glenn Watson
d9b66a11dc Bug 1591837 - Support specification of FBO id in native compositor interface. r=mstange
Platform differences between DirectComposition and CoreAnimation
mean that WR needs to bind the FBO ID that the underlying platform
returns as part of the surface binding operation.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 20:38:57 +00:00
Glenn Watson
af909bd6ee Bug 1591223 - Tidy up the WR renderer options for partial present and native compositing. r=kvark
This patch is a small refactor of the public and internal structures
for options related to partial present and native compositing. It
doesn't contain any functional changes.

It adds a field to the native compositing setup to allow clients to
express whether dirty rect updates are supported when native compositing
is enabled (not currently used but will be enabled soon).

It also removes the partial present config options, and makes them
part of the default / draw compositing mode.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 19:51:24 +00:00
Imanol Fernandez
61f313ef89 Bug 1591949 - Update VRManager VRShmem if it's not ready after calling OpenShmem on Android r=kip,rbarker
Update VRManager VRShmem if it's not ready after calling OpenShmem on Android

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

--HG--
extra : moz-landing-system : lando
2019-10-28 18:33:21 +00:00
sotaro
11d9c7b7fa Bug 1591346 - Remove EGL_ANGLE_experimental_present_path usage with WebRender r=gw
EGL_ANGLE_experimental_present_path was enabled for fast rendering to SwapChain by ANGLE. But current gecko does not request ANGLE to render to SwapChain for WebRender. Then we do not need to use EGL_ANGLE_experimental_present_path anymore. But Its usage still has a side effect that y is flipped. But OS compositor implementation on Windows does not want it. And it seems not good to continue to use EGL_ANGLE_experimental_present_path since it is experimental feature.

But when EGL_ANGLE_experimental_present_path is removed, rendering result of frame buffer is y flipped with ANGLE compared to other OpenGL implementation. It needs to be handled in WR. It is similar to chromium.

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

--HG--
extra : moz-landing-system : lando
2019-10-28 00:56:41 +00:00
Glenn Watson
16bde5fcfd Bug 1590284 - Construct picture cache slices for scroll roots. r=kvark
With this patch, picture cache slices are constructed each time
a new scroll root is established. This reduces rasterization
cost on pages that have large fixed position elements, and pages
that contain multiple scroll roots.

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

--HG--
extra : moz-landing-system : lando
2019-10-27 19:12:08 +00:00
Jonathan Kew
0070fa31ff Bug 1591726 - Use a local CountUnicodes function in place of calling gr_count_unicode_characters. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D50705

--HG--
extra : moz-landing-system : lando
2019-10-26 23:38:54 +00:00
Alex Henrie
74cc0f4dce Bug 1591490 - Use the NS_IS_SURROGATE_PAIR macro everywhere. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D50697

--HG--
extra : moz-landing-system : lando
2019-10-27 05:05:51 +00:00
Markus Stange
8785168981 Bug 1591752 - FFI for WebRender OS compositor integration: Create WrCompositor struct which implements the webrender::Compositor trait and calls through to virtual methods on RenderCompositor. r=sotaro
This patch was largely written by Sotaro.

This patch also adds an off-by-default pref gfx.webrender.compositor that currently does nothing.

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

--HG--
extra : moz-landing-system : lando
2019-10-27 01:18:27 +00:00
Brian Grinstead
432c1a8641 Bug 1587142 - Remove miscellaneous XBL tests r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D50652

--HG--
extra : moz-landing-system : lando
2019-10-25 21:53:33 +00:00
Daosheng Mu
57782480e1 Bug 1586110 - VRManager should only be called in parent process or GPU process. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D48127

--HG--
extra : moz-landing-system : lando
2019-10-17 18:31:12 +00:00
Daosheng Mu
3512e86bbb Bug 1590911 - Forwarding fullscreen events to VR host API. r=thomasmo,kip,smaug,PhilipLamb
We wanna forward fullscreen enter/exit events to VR host.

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

--HG--
extra : moz-landing-system : lando
2019-10-25 07:43:27 +00:00
Daosheng Mu
c7cf0a9e13 Bug 1578851 - Using VRManagerChild to check isPresenting to skip painting in nsRefreshDriver. r=rbarker,imanol,mstange
VRManager only be accessible in the parent or GPU process. So, in the tab process, isPresenting() will always return false. In WebVR immersive mode, we need to skip layer painting and don't need to wait for painting because the compositing is already done in WebGL.

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

--HG--
extra : moz-landing-system : lando
2019-10-24 19:58:15 +00:00
Geoff Brown
cffe5c8013 Bug 1516298 - Disable test_group_touchevents.html on android for frequent intermittent failures; r=egao
Differential Revision: https://phabricator.services.mozilla.com/D50481

--HG--
extra : moz-landing-system : lando
2019-10-24 16:51:52 +00:00
Botond Ballo
f116543753 Bug 1590582 - Have AsyncPanZoomController::ConvertToGecko return a Maybe rather than using a bool + outparam. r=tnikkel
Depends on D50362

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

--HG--
extra : moz-landing-system : lando
2019-10-23 22:39:48 +00:00
Botond Ballo
a503cd9266 Bug 1590582 - Un-apply the fixed margins offset in ConvertToGecko as well. r=tnikkel
This ensures the coordinates of tap events are adjusted as well.

Depends on D50361

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

--HG--
extra : moz-landing-system : lando
2019-10-23 22:24:18 +00:00
Botond Ballo
82f4b680ab Bug 1590582 - Subtract the fixed margins offset when adjusting event coordinates during hit testing, rather than adding it. r=tnikkel
The offset is applied (added) during rendering; it needs to be un-applied
(subtracted) during hit testing.

Depends on D50360

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

--HG--
extra : moz-landing-system : lando
2019-10-23 22:11:35 +00:00
Botond Ballo
9214561570 Bug 1590582 - Don't leave HitTestResult::mFixedPosSides uninitialized. r=tnikkel
Likewise for APZCTreeManager::mFixedPosSidesForInputBlock.

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

--HG--
extra : moz-landing-system : lando
2019-10-23 21:35:08 +00:00
Glenn Watson
a457606700 Bug 1589512 - Part 2 - Add example DirectComposite webrender integration. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D49869

--HG--
extra : moz-landing-system : lando
2019-10-23 20:35:55 +00:00
Glenn Watson
dd724015d2 Bug 1589512 - Part 1 - Add OS compositor interface to webrender. r=kvark,mstange
Differential Revision: https://phabricator.services.mozilla.com/D49868

--HG--
extra : moz-landing-system : lando
2019-10-23 20:15:58 +00:00
Jonathan Kew
70553d3b77 Bug 1588407 - If a requested font-family name may be a styled legacy family, force immediate loading of additional family names so that the correct font can be found. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D49181

--HG--
extra : moz-landing-system : lando
2019-10-23 10:40:16 +00:00
Alex Touchet
501ce471f9 Bug 1590553 - Dedupe synstructure r=jrmuizel
[import_pr] From https://github.com/servo/webrender/pull/3779

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

--HG--
extra : moz-landing-system : lando
2019-10-22 23:29:01 +00:00
Sebastian Streich
f4b2f14328 Bug 1585664 - Add GetAsciiSpecForLogging and update callers r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D47909

--HG--
extra : moz-landing-system : lando
2019-10-22 16:03:27 +00:00
Daosheng Mu
6d8653b0b9 Bug 1564127 - Check if GPU/VR process has connected with the parent process. r=kip
This issue happens when VR/GPU haven't connected with the parent process via IPC protocol, and we are trying to access its IPC Child when it is still null. It is possible to be happened when GPU/VR process is killed/shutdown, and we are trying to launch a new VR process. We need to check these status before completing our VR process's launch.

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

--HG--
extra : moz-landing-system : lando
2019-10-22 16:45:35 +00:00
Jonathan Kew
411f10a849 Bug 1586218 - Use a better default fallback font for Mongolian on macOS. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D49780

--HG--
extra : moz-landing-system : lando
2019-10-21 20:34:43 +00:00
Emilio Cobos Álvarez
54404e676b Bug 1590060 - Update unicode-xid in peek-poke-derive. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D49893

--HG--
extra : moz-landing-system : lando
2019-10-21 13:04:54 +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
Kris Taeleman
4170fd9b5c Bug 1547737 - Make RecvRequestScreenPixels work with WR. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D49492

--HG--
extra : moz-landing-system : lando
2019-10-18 13:40:40 +00:00
Nicolas Silva
fe6102fc27 Bug 1583841 - Adjust expected gpu cache blocks constants. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D49622

--HG--
extra : moz-landing-system : lando
2019-10-17 15:39:37 +00:00
Emilio Cobos Álvarez
698db0028a Bug 1589327 - Remove some other various fennec-dependent code. r=snorp,botond
Some of this may be able to be cleaned up further.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 18:49:49 +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
Jeff Muizelaar
8696184851 Bug 1589661. Switch WebRender AppVeyor CI to rust 1.36. r=kvark
This fixes a recent build error.

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

--HG--
extra : moz-landing-system : lando
2019-10-18 14:28:15 +00:00