Граф коммитов

14493 Коммитов

Автор SHA1 Сообщение Дата
sotaro e204892c8c Bug 1649122 - Add basic AHardwareBuffer support to WebRender on android r=jrmuizel
android fence is not supported yet.

Differential Revision: https://phabricator.services.mozilla.com/D82317
2020-07-10 18:50:56 +00:00
Tom Prince 204d796929 Bug 1651731: [lint] Python and shell files without `#!` should not be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82954
2020-07-09 20:29:18 +00:00
Tom Prince 2c52622b85 Bug 1651731: [lint] Add a bunch more types of files that should never be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,preferences-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82953
2020-07-09 21:28:49 +00:00
Kartikaya Gupta 0cf65adf2b Bug 1651050 - Add a logging module for code that sets displayports. r=tnikkel
This is useful for debugging purposes.

Depends on D82778

Differential Revision: https://phabricator.services.mozilla.com/D82779
2020-07-09 10:10:28 +00:00
Hiroyuki Ikezoe 2e4ceac41e Bug 1525561 - Rename nsPresContext::GetToplevelContentDocumentPresContext to GetInProcessRootContentDocumentPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D82812
2020-07-09 01:58:59 +00:00
Kartikaya Gupta f57e6b6d99 Bug 1651027 - Mitigate race condition caused by updating mExpectedGeckoMetrics on the repaint thread. r=botond
When we request a content repaint from the controller thread, we might then
subsequently compute an apzc-to-gecko transform that expects the
mExpectedGeckoMetrics quantity to have been updated to reflect the content
repaint. However, if the content repaint got bounced to the repaint thread, that
may not have happened, if the repaint thread hasn't run yet. This is a data
race that can cause glitching in the apzc-to-gecko transform computation. This
patch addresses it by also synchronously updating the mExpectedGeckoMetrics
synchronously before bouncing to the repaint thread. The repaint thread will
re-update the mExpectedGeckoMetrics which should generally be a no-op, unless
other updates snuck in between, in which case we *do* want to do that re-update.

Differential Revision: https://phabricator.services.mozilla.com/D82762
2020-07-09 00:17:28 +00:00
Kartikaya Gupta 14a32ed41c Bug 1651027 - Create a new trimmed-down class to store the expected gecko metrics. r=botond
We only use three fields from this so keeping a whole FrameMetrics around seems
heavyweight. We could even reduce it two fields by combining the zoom with the
devPixelsPerCSSPixel ratio but it seems a bit cleaner and more consistent to
do the division at the use site.

Differential Revision: https://phabricator.services.mozilla.com/D82761
2020-07-08 22:16:09 +00:00
Markus Stange 3d57edb614 Bug 1649313 - Add SkippedComposite markers. r=nical
Differential Revision: https://phabricator.services.mozilla.com/D82636
2020-07-08 18:41:21 +00:00
Jean-Yves Avenard 5bd9f01114 Bug 1650786 - Make ImageBridgeChild use a nsThread. r=KrisWright,mattwoodrow
This is a partial revert of bug 1647628.

The ImageBridgeChild's thread is used to dispatch synchronous tasks by its consumers.
While the background taskqueue is using a single thread threadpool, this would prevent many places to also use a background taskqueue that could end up calling the ImageBridgeChild.

Differential Revision: https://phabricator.services.mozilla.com/D82395
2020-07-08 06:32:19 +00:00
Hiroyuki Ikezoe 098ddfe07f Bug 1650975 - Drop unused `transformOrigin` in LayerTransactionParent::RecvGetTransform. r=boris
The value is used only for WebRender implementation.

Differential Revision: https://phabricator.services.mozilla.com/D82468
2020-07-07 19:43:55 +00:00
Bob Owen e35330bd95 Bug 1641256: Don't deactivate remote canvas due to read error when the writer has already failed. r=jrmuizel
This also removes the gfxDevCrashes when an invalid enum is read, because we
suspect these are mainly due to the writer shutting down mid event.
We could only crash when the writer hasn't failed, but because these reads are
in templated code it would mean updating the different event streams with a new
function. If we are still getting high numbers in the deactivation telemetry we
will need to do this to try and track down the problem.

Differential Revision: https://phabricator.services.mozilla.com/D82493
2020-07-07 19:30:14 +00:00
Miko Mynttinen 0d02beff03 Bug 1536515 - Part 3: Add RenderExternalTextureHost r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D80506
2020-07-07 17:57:22 +00:00
Miko Mynttinen 26bb4c4d41 Bug 1536515 - Part 2: Add constructors that take GLContext to GLTextureSource and DirectMapTextureSource r=nical
Differential Revision: https://phabricator.services.mozilla.com/D80505
2020-07-07 17:56:59 +00:00
Nick Alexander 9d1281ef52 Bug 1641291 - Part 1: Allow cross-compiling from host macOS -> Windows target. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D77117
2020-07-07 02:13:35 +00:00
Kartikaya Gupta bf0c5bbdbe Bug 1650868 - Make the async zoom containment checks subtree-specific. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D82438
2020-07-07 00:24:26 +00:00
Kagami Sascha Rosylight f6d17b63b5 Bug 1630704 - Part 28: Remove nsFrame r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81865
2020-07-06 22:38:11 +00:00
sotaro 1369377c0a Bug 1650389 - Add gfx::BackendType check to GetTextureType() r=jrmuizel
TextureType::AndroidHardwareBuffer usage needs gfx::BackendType check. gfxVars::UseAHardwareBufferContent() requests BackendSelector::Content.

Differential Revision: https://phabricator.services.mozilla.com/D82191
2020-07-06 14:50:14 +00:00
Kartikaya Gupta d3b52921d1 Bug 1650848 - Make the root scroller actually scrollable in the test. r=botond
The body tag has special behaviour and this page doesn't behave as one might
expect if the body tag were a div, for example. The root scroller here is still
the html element, and if the browser window is taller than 1000px it's not
considered scrollable. And on Android, with the initial-scale that gets applied,
the root scroller is actually not scrollable. This patch fixes it to ensure the
root scroller is actually scrollable in testing scenarios.

Differential Revision: https://phabricator.services.mozilla.com/D82411
2020-07-06 17:45:36 +00:00
Hiroyuki Ikezoe 4205879729 Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
The machinery to report janked animations is;

1) Store the partial pre-rendered animation id and the Animation object in a
   hashtable in LayerManager
2) Store the animation id in the Animation object as well
3) When we detect jank, we send the animation id to the main-thread via an IPC
   call
4) Find the Animation object with the id in the hashtable and update the
   Animaiton
5) Whenever the partial pre-rendered Animation stop running on the compositor
   i.e. the Animation finished normally, the Animation's target element is
   changed, etc. etc., remove the Animation from the hashtable

Depends on D75731

Differential Revision: https://phabricator.services.mozilla.com/D75732
2020-07-05 11:45:01 +00:00
Hiroyuki Ikezoe 85030f4af6 Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Depends on D81481

Differential Revision: https://phabricator.services.mozilla.com/D75731
2020-07-05 11:44:18 +00:00
Hiroyuki Ikezoe 80fc56a28e Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond
Depends on D75730

Differential Revision: https://phabricator.services.mozilla.com/D81481
2020-07-05 11:43:45 +00:00
Hiroyuki Ikezoe ec49c6a9a8 Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond
nsDisplayTransform doesn't have enough room to store the partial prerender rect
and the overflowed SideBits unfortunately (it will exceed 512 bytes limit [1]).
So we get the partial prerender rect and calculate the overflowed SideBits just
before we send transform animation information to the compositor.

[1] https://searchfox.org/mozilla-central/rev/fa52bedc4b401c12251513fa1c9df1753a29abb2/layout/painting/nsDisplayList.cpp#7318

Depends on D81480

Differential Revision: https://phabricator.services.mozilla.com/D75730
2020-07-05 11:43:33 +00:00
Hiroyuki Ikezoe 1c1e6e4963 Bug 1324591 - Store the corresponding LayersId for each animation on the compositor. r=kats
Depends on D75727

Differential Revision: https://phabricator.services.mozilla.com/D75728
2020-07-05 11:42:55 +00:00
Brindusan Cristian 7f75410fd7 Backed out 9 changesets (bug 1324591) for linux build bustages on central on nsDisplayList.h.
Backed out changeset 75966ee1fe65 (bug 1324591)
Backed out changeset d6a01c6bc40e (bug 1324591)
Backed out changeset fef36ff2ea3d (bug 1324591)
Backed out changeset 4a4ae4bd95d1 (bug 1324591)
Backed out changeset 732804c83add (bug 1324591)
Backed out changeset 84657a3522fb (bug 1324591)
Backed out changeset e6c74ba41007 (bug 1324591)
Backed out changeset 8e6d4e9f5aa0 (bug 1324591)
Backed out changeset 6bc284863aff (bug 1324591)
2020-07-05 13:45:35 +03:00
Hiroyuki Ikezoe 92208a9c28 Bug 1324591 - Report janked animations to the main-thread and update them on the main-thread. r=botond,boris
The machinery to report janked animations is;

1) Store the partial pre-rendered animation id and the Animation object in a
   hashtable in LayerManager
2) Store the animation id in the Animation object as well
3) When we detect jank, we send the animation id to the main-thread via an IPC
   call
4) Find the Animation object with the id in the hashtable and update the
   Animaiton
5) Whenever the partial pre-rendered Animation stop running on the compositor
   i.e. the Animation finished normally, the Animation's target element is
   changed, etc. etc., remove the Animation from the hashtable

Differential Revision: https://phabricator.services.mozilla.com/D75732
2020-07-05 02:21:01 +00:00
Hiroyuki Ikezoe c350cb04ad Bug 1324591 - Jank if we are trying to composite area which is outside of the the partial prerender rect on non WebRender. r=botond,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D75731
2020-07-05 02:20:23 +00:00
Hiroyuki Ikezoe efee5d73c6 Bug 1324591 - Add APZSampler::GetCompositionBounds to get the composition bounds for a given pair of LayersId and scrollId. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D81481
2020-07-05 02:19:45 +00:00
Hiroyuki Ikezoe a32c79b20d Bug 1324591 - Inform the partial prerender rect, the overflowed SideBits, the scroll id of the nearest scrollable frame and its rectable to the compositor. r=botond
nsDisplayTransform doesn't have enough room to store the partial prerender rect
and the overflowed SideBits unfortunately (it will exceed 512 bytes limit [1]).
So we get the partial prerender rect and calculate the overflowed SideBits just
before we send transform animation information to the compositor.

[1] https://searchfox.org/mozilla-central/rev/fa52bedc4b401c12251513fa1c9df1753a29abb2/layout/painting/nsDisplayList.cpp#7318

Differential Revision: https://phabricator.services.mozilla.com/D75730
2020-07-05 02:19:38 +00:00
Hiroyuki Ikezoe d37f48e250 Bug 1324591 - Store the corresponding LayersId for each animation on the compositor. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D75728
2020-07-05 02:48:51 +00:00
Sylvestre Ledru caf785c695 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D82178
2020-07-04 09:38:43 +00:00
Hiroyuki Ikezoe 0bd87d77fc Bug 1552923 - Clear out the last animated value if a new animation with the same id arrived and sampled but didn't produce any animated value. r=kats
A reftest for this issue will be added in bug 1650351.

Differential Revision: https://phabricator.services.mozilla.com/D82172
2020-07-03 21:42:06 +00:00
Martin Stransky 1c07029298 Bug 1650113 [Linux] Use DMABufTextures only when Wayland support is build, r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D82177
2020-07-03 12:59:53 +00:00
Edgar Chen dc0bf3f975 Bug 1648630 - Part 3: Propagate layers id to touch event properly for Fission; r=kats
Differential Revision: https://phabricator.services.mozilla.com/D81869
2020-07-03 07:45:35 +00:00
Jean-Yves Avenard 8fd158d479 Bug 1649684 - Use the current nsISerialEventTarget with the various process hosts. r=nika
In all those cases, the current nsISerialEventTarget is either the main thread or the MessageChannel's nsISerialEventTarget (since bug 1634846)

Differential Revision: https://phabricator.services.mozilla.com/D81966
2020-07-02 22:59:24 +00:00
Jeff Gilbert 017fc801d8 Bug 1647167 - Run pre/post transaction triggers in BasicCanvasLayer::Paint. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D82116
2020-07-02 22:55:48 +00:00
sotaro ce3a41744b Bug 1648411 - Add AHardwareBuffer layer buffer support on android r=jnicol
AHardwareBuffer is supported since Android O(APIVersion 26). Implementation of AndroidHardwareBufferTextureData referred AndroidNativeWindowTextureData. Implementation of AndroidHardwareBufferTextureHost referred obsoleted GrallocTextureHost.

android fence is not supported yet.

Differential Revision: https://phabricator.services.mozilla.com/D81808
2020-07-02 13:43:19 +00:00
Jean-Yves Avenard 9356971435 Bug 1647112 - P2. Remove static method. r=mattwoodrow
Allows to remove the dance around the compositor thread just to perform the assertion.
The use of an in-line lambda avoid all ambiguity on which thread this is called.

Differential Revision: https://phabricator.services.mozilla.com/D80635
2020-07-02 00:29:53 +00:00
Jean-Yves Avenard 28c6755d49 Bug 1647112 - P1. Make the canvas thread use BackgroundTaskQueue. r=KrisWright,jgilbert,andi
Some headers cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D80597
2020-07-01 17:45:36 +00:00
Jean-Yves Avenard 87ab775e09 Bug 1647628 - Make ImageBridgeChild use a background taskqueue. r=KrisWright,andi
Differential Revision: https://phabricator.services.mozilla.com/D80599
2020-07-02 00:27:47 +00:00
Jean-Yves Avenard 8fc6e95f6c Bug 1649294 - Make RemoteDecoder use a background taskqueue. r=mattwoodrow,andi
There's a small race that can happen when the remote decoder gets shutdown during xpcom shutdown; that would cause GetCurrentSerialEventTarget to return null. Leading to an assertion failure in ActorLifecycleProxy thread-safety check when PRemoteDecoderManagerParent gets destroyed.

So we use a background taskqueue instead and cleanup a bit the threading code in there allowed thanks to the TaskQueue ability to not require an explicit shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D81287
2020-07-02 00:26:46 +00:00
Martin Stransky 1a8c767e6f Bug 1649120 [Linux] Rename Wayland/DMABuf in gfx code, r=sotaro
We change DMABuf config keys from Wayland specific to universal ones as they can be used in both X11 and Wayland backends.

Depends on D81515

Differential Revision: https://phabricator.services.mozilla.com/D81516
2020-07-01 11:22:42 +00:00
Simon Giesecke cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Narcis Beleuzu 3700aab557 Backed out 7 changesets (bug 1634846, bug 1647628, bug 1649294, bug 1647112) for webgl-conf crashes. CLOSED TREE
Backed out changeset 4441d06e96c3 (bug 1647628)
Backed out changeset 4efaf32bc8f7 (bug 1647112)
Backed out changeset 2d24ad813039 (bug 1647112)
Backed out changeset fda262d73a13 (bug 1649294)
Backed out changeset 5863f9c5229f (bug 1634846)
Backed out changeset bca79526745d (bug 1634846)
Backed out changeset d539408a0048 (bug 1634846)
2020-06-30 09:50:00 +03:00
Jean-Yves Avenard 00688236a3 Bug 1647628 - Make ImageBridgeChild use a background taskqueue. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D80599
2020-06-24 01:38:30 +00:00
Jean-Yves Avenard 43bd79bd41 Bug 1647112 - P2. Remove static method. r=mattwoodrow
Allows to remove the dance around the compositor thread just to perform the assertion.
The use of an in-line lambda avoid all ambiguity on which thread this is called.

Differential Revision: https://phabricator.services.mozilla.com/D80635
2020-06-30 02:33:09 +00:00
Jean-Yves Avenard 135d109d8e Bug 1647112 - P1. Make the canvas thread use BackgroundTaskQueue. r=KrisWright
Some headers cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D80597
2020-06-30 02:33:02 +00:00
Jean-Yves Avenard c251c5b2c7 Bug 1649294 - Make RemoteDecoder use a background taskqueue. r=mattwoodrow
There's a small race that can happen when the remote decoder gets shutdown during xpcom shutdown; that would cause GetCurrentSerialEventTarget to return null. Leading to an assertion failure in ActorLifecycleProxy thread-safety check when PRemoteDecoderManagerParent gets destroyed.

So we use a background taskqueue instead and cleanup a bit the threading code in there allowed thanks to the TaskQueue ability to not require an explicit shutdown.

Differential Revision: https://phabricator.services.mozilla.com/D81287
2020-06-30 02:50:38 +00:00
Markus Stange f010294547 Bug 1647911 - Use text markers for payload presented markers. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D80946
2020-06-29 22:41:20 +00:00
Bob Owen 3ba9a0b436 Bug 1641722: Deactivate remote canvas 2D when device creation or stream read failure occurs. r=jrmuizel,chutten
This also adds telemetry probes to track:
* number of times remote canvas 2D is activated
* number of times remote canvas 2D is deactivated due to device creation failure
* number of times remote canvas 2D is deactivated due to a stream read error.

Differential Revision: https://phabricator.services.mozilla.com/D81032
2020-06-26 11:37:31 +00:00
Dorel Luca caf588721d Backed out changeset 8570bd4a1f0b (bug 1641722) for Build bustage in telemetry/.deps/TelemetryScalarData.h. CLOSED TREE 2020-06-26 13:26:54 +03:00