Commit Graph

38014 Commits

Author SHA1 Message Date
Razvan Maries
b16f595134 Backed out changeset b99610a6833f (bug 1661427) for Talos perma failures. 2020-08-30 21:13:42 +03:00
Lee Salzman
d3aa4d7686 Bug 1661427 - Allow SWGL SwCompositor to split up compositing work between SwComposite and render threads. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88392
2020-08-28 22:27:54 +00:00
Kartikaya Gupta
819129d5a5 Bug 1661755 - Update logging. r=tnikkel
This looks like a holdover from when we added ScrollMetadata as a superobject
of FrameMetrics.

Depends on D88648

Differential Revision: https://phabricator.services.mozilla.com/D88649
2020-08-28 20:43:50 +00:00
Kartikaya Gupta
3fe67ce9e6 Bug 1661492 - Auto-advance migration in the absence of further action. r=jaws,botond
This advances the migration by 25% each release, starting in release 83 and
completing in 86. The migration code can be removed in the 86 nightly cycle
(or anytime after that).

Differential Revision: https://phabricator.services.mozilla.com/D88453
2020-08-28 18:01:33 +00:00
Jeff Gilbert
d5ab1eeedf Bug 1654211 - Hold WeakPtr to PresistentBufferProvider in BorrowedSourceSurface. r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D88071
2020-08-25 15:36:11 +00:00
Nicholas Nethercote
336a2c0e9c Bug 1661408 - Change meaning of -h. r=gw
Currently `-h` means `--headless` when it comes before a subcommand but
`--help` when it comes after a subcommand. It should always be short for
`--help`, that's a very standard thing.

Depends on D88387

Differential Revision: https://phabricator.services.mozilla.com/D88388
2020-08-27 19:59:04 +00:00
Nicholas Nethercote
4809329d0c Bug 1661408 - Update the README. r=gw
Remove references to dead things: binary recording, `--save`, `ENABLE_RECORDING`.

Add brief docs about building wrench, and taking a capture.

And `show` is the canonical name for the subcommand, not `replay`.

Depends on D88386

Differential Revision: https://phabricator.services.mozilla.com/D88387
2020-08-27 19:58:34 +00:00
Nicholas Nethercote
3529237903 Bug 1661408 - Fix confusion among the show, load, replay subcommands. r=gw
`replay` is currently listed in `args.yaml` as both a synonym for `show` *and*
its own command. There is some weirdness with how `clap` handles that:

- `wrench help replay` shows the help for `replay`.
- `wrench replay -h` shows the help for `show`.
- `wrench replay` actually runs the code for `show` (and there is no code for
  `replay`).

This commit removes the subcommand, leaving the synonym.

Depends on D88385

Differential Revision: https://phabricator.services.mozilla.com/D88386
2020-08-27 19:57:28 +00:00
Nicholas Nethercote
5c8d33907e Bug 1661408 - Remove dead command line flags. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D88385
2020-08-27 19:57:13 +00:00
Jamie Nicol
b1d6fddf77 Bug 1661135 - Use primitive's spatial node rather than its picture's when deciding raster space. r=gw
When zooming, webrender overrides the raster space used to render text, so that
we do not expensively rerasterize the glyphs for every fractional change in zoom
level. Previously we chose to do this when any ancestor of the picture's spatial
node was being zoomed. This worked on most pages, because the scroll frame which
is used as the main picture caching slice is a descendent of the zooming
reference frame.

However, on pages without a scrollable frame, or for fixed-position content, the
picture's spatial node will not be a descendent of the zooming reference
frame. This meant that we did not detect that we were zooming and rendered the
text in screen raster space rather than the overridden local space, leading to
poor zooming performance.

To fix this, check whether the primitive's spatial node (rather than the
picture's) is a descendent of the zooming frame.

Differential Revision: https://phabricator.services.mozilla.com/D88474
2020-08-27 20:04:11 +00:00
Andrew Osmond
9804b7b693 Bug 1661531 - Ensure we always update the gfx feature failure reason. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D88454
2020-08-27 17:04:27 +00:00
Gerald Squelart
3cbc9b5572 Bug 1659404 - Fix non-MOZ_GECKO_PROFILER build - r=canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D88375
2020-08-27 14:41:46 +00:00
Markus Stange
7787074ce9 Bug 1658856 - Fix overdraw and unused tile pixel computation in the profiler markers. r=mattwoodrow
Depends on D86880

Differential Revision: https://phabricator.services.mozilla.com/D86888
2020-08-27 04:01:01 +00:00
Markus Stange
035e844287 Bug 1592031 - Use NativeLayerSnapshotter to capture profiler screenshots with WebRender on macOS. r=mattwoodrow
Depends on D59158

Differential Revision: https://phabricator.services.mozilla.com/D86880
2020-08-27 04:00:57 +00:00
Markus Stange
a7d49adfc1 Bug 1592031 - Add profiler screenshots functionality to NativeLayerSnapshotter. r=mattwoodrow
Depends on D59157

Differential Revision: https://phabricator.services.mozilla.com/D59158
2020-08-27 03:55:53 +00:00
Markus Stange
2407ba66f7 Bug 1592031 - Rename CompositorScreenshotGrabber to ScreenshotGrabber and give it a more generic interface. r=mattwoodrow
There already exist 3 implementations of this stuff and I don't want to add another one for the WR OS compositor path.
(The three implementations are: CompositorScreenshotGrabber, MLGPUScreenshotGrabber and RendererScreenshotGrabber.)
The interface has been designed in such a way that the MLGPU and WR implementations should be able to use it but I
haven't written the code to convert them.

Differential Revision: https://phabricator.services.mozilla.com/D59157
2020-08-27 03:55:33 +00:00
Kartikaya Gupta
a7a45c51db Bug 1652851 - Add some gtests to exercise the fixes. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D88011
2020-08-27 01:32:12 +00:00
Kartikaya Gupta
dad0204729 Bug 1652851 - Force touch blocks in slop to be processed after the long-tap delay. r=botond
If the content response timeout is longer than the long-tap delay (which is
true given the current default pref values), and a touch block waits for the
entire content response timeout period, then the long-tap gesture gets delayed
by the difference in the timeouts. This can happen if the input block remains
in the slop state (and therefore never dispatches a touchmove to content,
thereby preventing the content from producing a content response). This patch
catches this scenario and installs a long-tap timeout in the InputQueue to
force the input block along.

Differential Revision: https://phabricator.services.mozilla.com/D88010
2020-08-27 01:30:03 +00:00
Kartikaya Gupta
99d735db3d Bug 1652851 - Shorten GestureEventListener delayed tasks by the content response wait. r=botond
Touch inputs that go to the GestureEventListener often have to wait in the
InputQueue for some time as well, until the content response arrives. However,
that delay is not accounted for in the GestureEventListener delays. This can
result in the gesture being artificially delayed from a user's perspective.

This patch computes the amount of time the input event already waited in the
input queue, and shortens the delays used in the GestureEventListener
accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D88009
2020-08-27 01:29:59 +00:00
Hiroyuki Ikezoe
3fc3e2d805 Bug 1660089 - Use the nearest scrollable frame as the clip frame if the scrollable frame is overflow:hidden. r=botond
Without this change, the transition in the reftest in this commit has never
been composited because it's misrecognized as __jank__.
(Note that a tricky part to understand the jank is that we expand the pre-render
region based on the transformed frame size [1], in this case it's 400px width,
so that the expanded area will be smaller than the size based on 800px.)

[1] https://searchfox.org/mozilla-central/rev/73a14f1b367948faa571ed2fe5d7eb29460787c1/layout/base/nsLayoutUtils.cpp#10043,10045

Differential Revision: https://phabricator.services.mozilla.com/D88199
2020-08-27 00:09:59 +00:00
Matt Woodrow
6f7c7f28dc Bug 1659760 - Specify correct FOURCC yuv type when converting IOSurfaces to RGB. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D88238
2020-08-26 12:46:37 +00:00
Kartikaya Gupta
80411452b5 Bug 1657627 - Add a test. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D88037
2020-08-26 19:41:36 +00:00
Glenn Watson
9ef894831d Bug 1661185 - Remove implicit scroll/hit-test APIs. r=kats
Previously, it was possible to instruct WR to find the closest
scroll node, and apply a scroll delta to that. However, it's
generally the case that there is more context required that
the application applies in selecting which frame to scroll.

This patch removes the unused APIs, which simplifies some of
the hit-testing code. In turn, this simplifies some in-progress
optimization and refactoring of the hit-test internals.

Differential Revision: https://phabricator.services.mozilla.com/D88234
2020-08-26 20:38:46 +00:00
Kartikaya Gupta
d046d2b406 Bug 1660933 - Respect wheel migration value. r=botond
This introduces a linear interpolation when computing the wheel animation
durations, based on the migration percentage of the user. Initially the
migration percentage defaults to 100 (fully migrated) for new users and for
existing users who have customized these prefs. The migration percentage
defaults to zero for existing users without customizations, so they will
still get the old default values of min=200,max=400. Over time we can adjust
the migration pref clamping to move that percentage up and migrate those
users to get the new values.

Differential Revision: https://phabricator.services.mozilla.com/D88163
2020-08-26 20:31:20 +00:00
Glenn Watson
3982d98aee Bug 1640617 - Disable partial present when debug overlays are enabled. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D88087
2020-08-26 09:36:50 +00:00
Kartikaya Gupta
39209de5eb Bug 1660808 - Clear the mApzcMap when clearing the APZCTM. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D88047
2020-08-26 19:05:17 +00:00
Kartikaya Gupta
707dedc5bc Bug 1661301 - Move comment to go with the code it refers to. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D88307
2020-08-26 19:01:15 +00:00
Kartikaya Gupta
09ec604f0c Bug 1661301 - Remove bits leftover from bug 1259301. r=botond
Depends on D88305

Differential Revision: https://phabricator.services.mozilla.com/D88306
2020-08-26 19:01:09 +00:00
Kartikaya Gupta
100a0c2461 Bug 1661301 - Remove bits leftover from bug 1248078. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D88305
2020-08-26 19:00:59 +00:00
Jonathan Kew
31e90cf644 Bug 1659258 - Ensure that SetupFamilyCharmap always sets the mCharacterMap pointer, even if empty, so that we don't repeatedly call it for fonts we can't actually use. r=jwatt
Depends on D87175

Differential Revision: https://phabricator.services.mozilla.com/D87176
2020-08-21 14:24:37 +00:00
Jonathan Kew
ae37d8dff3 Bug 1659257 - Set up shared-memory charmap record in FT2FontEntry::ReadCMAP. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87175
2020-08-26 14:33:56 +00:00
Jamie Nicol
0211cf8e50 Bug 1661045 - Update glslopt to fix build on OpenBSD. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D88254
2020-08-26 14:13:11 +00:00
sotaro
0d083ef8b6 Bug 1661197 - Initialize mBufferAge at constructor r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D88246
2020-08-26 10:50:44 +00:00
Jonathan Kew
3c2cb7fd1a Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-26 09:31:58 +00:00
Lee Salzman
8d53aef426 Bug 1622966 - composite YUV surfaces directly in SWGL SwCompositor. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D88102
2020-08-26 00:36:24 +00:00
Jonathan Kew
f43df3b0df Bug 1648474 - patch 2 - Localized names other than the system locale (or default English) should not be exposed in the Preferences UI font list. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87661
2020-08-25 16:41:46 +00:00
Jonathan Kew
ae51add868 Bug 1648474 - patch 1 - Include all localized DirectWrite font family names in the font list. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D87660
2020-08-25 16:41:18 +00:00
sotaro
b71cdb204a Bug 1658126 - Fix EGL_ANDROID_native_fence_sync check for android r=jgilbert
On recent android, EGL_ANDROID_native_fence_sync support is not reported even when eglDupNativeFenceFDANDROID() exists.

Differential Revision: https://phabricator.services.mozilla.com/D87995
2020-08-25 14:37:23 +00:00
Nicolas Silva
9f234a0d35 Bug 1660187 - Don't assert if the GL version string is empty. r=jgilbert
It can happen with Pernosco, getting in the way of reproducing problems elsewhere in the code base.

Differential Revision: https://phabricator.services.mozilla.com/D87732
2020-08-25 07:41:12 +00:00
Timothy Nikkel
69aaaddd9c Bug 1656711. Support hardware accelerated <feGaussianBlur> SVG filters if the x and y radius are not equal with webrender. r=gw
Pretty straight forward, mostly just plumbing stuff through.

Differential Revision: https://phabricator.services.mozilla.com/D85666
2020-08-25 07:26:21 +00:00
Jeff Gilbert
b82d76162f Bug 1656867 - Treat LAYERS_NONE like _BASIC. r=lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D87814
2020-08-24 20:43:14 +00:00
Matt Woodrow
b5a52cf1f5 Bug 1657312 - Don't round clip rect. r=mstange
Depends on D86088

Differential Revision: https://phabricator.services.mozilla.com/D87023
2020-08-14 06:16:52 +00:00
Botond Ballo
f92b30262c Bug 1635256 - Avoid unnecessary array copies in NotifyLayerTransforms and SetConfirmedTargetAPZC. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D88083
2020-08-25 02:17:06 +00:00
sotaro
2789c3c5d4 Bug 1649354 - Add android Fence handling to Compositor r=jnicol
AHardwareBuffer requests to handle android fences. There are 2 type of fences, release fence and acquire fence. Some ideas were borrowed from b2g's FenceHandle implementation.

The release fence is a fence that is used for waiting until usage/composite of AHardwareBuffer is ended. It needs to be delivered from host side to client side. It is delivered via ImageBridge, since some TextureClientd str recycled without recycle callback.

The acquire fence is a fence that is used for waiting until rendering to its AHardwareBuffer is completed. It is delivered from client side to host side.

Differential Revision: https://phabricator.services.mozilla.com/D87298
2020-08-24 09:34:51 +00:00
sotaro
520e0ba1c7 Bug 1660434 - Add EGL_KHR_wait_sync support r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D87994
2020-08-24 17:50:48 +00:00
sotaro
712543d5bc Bug 1658005 - Unify RenderTextureHost async function calls r=nical,jnicol
The following functions are asynchronously called by a bit different ways. It seems not good. It seems better to unify them.
PrepareForUse()
NofityForUse()
NotifyNotUsed()

Differential Revision: https://phabricator.services.mozilla.com/D87709
2020-08-21 07:32:47 +00:00
Glenn Watson
e0df59861f Bug 1659764 - Fix compositor surface overlap with native compositors. r=mattwoodrow
This patch fixes a regression introduced when support was added
for transforms with native OS compositor surfaces.

We need to store both the true device rect and also the pre-transform
device rect for the external surface descriptor. The true device
rect is used for overlap detection to order compositor surfaces
correctly, while the pre-transform rect is sent to the native OS
compositor, since the transform is applied at that level.

Differential Revision: https://phabricator.services.mozilla.com/D87683
2020-08-24 20:22:21 +00:00
Mihai Alexandru Michis
b162701621 Backed out changeset 0cad1ef724ee (bug 1371386) for causing failures in emoji-fallback-3.html
CLOSED TREE
2020-08-24 21:02:10 +03:00
Jonathan Kew
ba87878325 Bug 1371386 - Take account of requirements for emoji-style or text-style presentation during font selection & fallback. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D87304
2020-08-24 14:24:12 +00:00
Martin Stransky
b06a2c00a1 Bug 1620830 [Linux] Don't create DMABUFTextureData when dmabuf surface creation fails, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D87876
2020-08-24 06:38:09 +00:00