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

416 Коммитов

Автор SHA1 Сообщение Дата
sotaro 28923c3278 Bug 1496003 - Add sync ipc WebRenderBridgeChild::SendEnsureConnected() r=mattwoodrow,froydnj 2018-10-05 16:35:29 +09:00
sotaro e0d61969f2 Bug 1492398 - Suppress CompositorBridgeParent::RecvAdoptChild() r=mattwoodrow 2018-09-20 18:01:43 +09:00
Bobby Holley f35563781f Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

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

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 15:27:31 -07:00
Gurzau Raul d4d9bd916d Backed out changeset 9762d76da9b3 (bug 1480293) for failing at aboutmemory/tests/test_memoryReporters.xul 2018-09-14 22:32:18 +03:00
Bobby Holley 42a527b3d1 Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

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

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 10:59:00 -07:00
Nicolas Silva 9699c6d4db Bug 1352877 - Clear the compositor map later during shutdown. r=mattwoodrow 2018-09-11 16:50:48 +02:00
Nicolas Silva 645517471b Bug 1352877 - Avoid false negative assertion during shutdown. r=mattwoodrow 2018-09-11 16:50:30 +02:00
Matt Woodrow f4a90435ef Bug 1488980 - Implement StartFrameTimeRecording for WebRender. r=mstange
MozReview-Commit-ID: Ib5t0e8S6df

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

--HG--
extra : moz-landing-system : lando
2018-09-08 18:41:34 +00:00
Nicolas Silva 0805d95b99 Bug 1482109 - Hook the memory pressure observer up with WebRender. r=sotaro
--HG--
extra : rebase_source : e23d9db4ffff5d1994f476e660f7f6cbe52e6ad6
2018-08-20 15:23:54 +02:00
Nicolas Silva 3cea37c9c2 Bug 1469496 - Handle video memory purge with WebRender. r=sotaro 2018-08-10 17:14:57 +02:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Jim Chen 2c94ad0e54 Bug 1472140 - 3. Remove ForceIsFirstPaint ipdl call; r=kats
Remove the PCompositorBridge::ForceIsFirstPaint call that's no longer
used anywhere.
2018-07-31 12:21:49 -04:00
Kartikaya Gupta 22456cd52b Bug 1479075 - Ensure FlushRenderingAsync actually flushes the compositor. r=sotaro
MozReview-Commit-ID: AfVIwLj2YJp

--HG--
extra : rebase_source : 3c9f4af10be9ab38fb708a2be4cb9393cd7e86c7
2018-07-28 04:47:08 -04:00
Kartikaya Gupta bfa67498d5 Bug 1478504 - Use NotifyPipelineRendered instead of DidComposite for WebRender. r=sotaro
MozReview-Commit-ID: 4eaMTEPD9NY

--HG--
extra : rebase_source : 7d2f5b5fe4d45f135f0899dccf6a910848b5c7e4
2018-07-27 09:42:30 -04:00
Brian Hackett 562987ce84 Bug 1465466 Part 3 - When recording/replaying, composite in the main thread's event loop instead of waiting for vsyncs, r=nical.
--HG--
extra : rebase_source : 0dbdcb4698e349ceb53e0621d5fa453bb1f17357
2018-07-23 21:47:28 +00:00
Brian Hackett 99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Ryan Hunt f8b04d075b Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge

--HG--
extra : rebase_source : 973253589d6c27138bd49f4d81b3e74c3fcf5022
extra : histedit_source : 5b126b0285b674d59d8bd4b7bda09a01804dc043
2018-06-26 13:43:14 -05:00
Ryan Hunt 73970a1f68 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro, data-review=francois
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : 29ebd6a85dd49ee263d50e3674eec4957ac5f12a
extra : histedit_source : 1aa9f4f31b5bff6736e0c0e576a5611880d0ab33
2018-06-26 13:40:10 -05:00
Narcis Beleuzu 04b4925170 Backed out 3 changesets (bug 1470528) for build bustages on WebRenderBridgeParent. CLOSED TREE
Backed out changeset 90513daef576 (bug 1470528)
Backed out changeset e438548991db (bug 1470528)
Backed out changeset f859daf8d8d9 (bug 1470528)
2018-07-04 00:41:14 +03:00
Ryan Hunt c284332e41 Bug 1470528 - Implement CONTENT_FRAME_TIME for the webrender codepath. r=sotaro
This commit implements the CONTENT_FRAME_TIME metric for the webrender code
path. It follows the same structure as the previous commit implementing it for
the non-webrender code path.

MozReview-Commit-ID: 6aI5uISjgge

--HG--
extra : rebase_source : acbf83d0071e8932b5e96016e6e39e27a7b4da8c
extra : histedit_source : a0f93f80441e5f45c0113244d15400d0f53d9c92
2018-06-26 13:43:14 -05:00
Ryan Hunt d34e6c84a0 Bug 1470528 - Implement CONTENT_FRAME_TIME for the non-webrender codepath. r=sotaro
This commit adds the CONTENT_FRAME_TIME metric which tracks the time from the beginning
of a paint in the content process until it is presented in the compositor.

There is existing logging for frame latency which tracks from the beginning of a refresh
tick until the frame is presented. This is undesirable for this probe as javascript and
layout can run in this time period. So this probe uses the existing infrastructure for
logging frame latency, but uses a start time from BeginTransaction in layer manager.

MozReview-Commit-ID: 5z9LS3tsZTY

--HG--
extra : rebase_source : cecb7149f50b2abe7a827dc20f1e8b8ade199258
extra : histedit_source : 581f8f38fc8335575d7275b903a8e1d6a9e5a369
2018-06-26 13:40:10 -05:00
sotaro 6bfc2aa91f Bug 1472600 - Update SyncHandle when Tab is moved between windows r=nical 2018-07-03 08:43:17 +09:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Bogdan Tara 3737701cfa Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-05 12:33:18 +03:00
sotaro d23a997a0d Bug 1466454 - Do not create CompositorWindow for non-WebRender case r=nical 2018-06-05 08:07:52 +09:00
Kartikaya Gupta 2cead810c0 Bug 1455597 - Flush the transaction to remove the pipeline before shutting down the WebRenderAPI. r=sotaro
MozReview-Commit-ID: GuQJjMzzQUE

--HG--
extra : rebase_source : 30f17418135fe68a3dfca0ee36f3df5c53924f24
2018-06-02 12:15:15 -04:00
Hiroyuki Ikezoe 6df13785df Bug 1464568 - Add an argument to ApplyAsyncProperties() to apply the transform by APZC or not. r=kats
In the next patch, we will introduce a new IPC function to get transform value
modified by both animations and APZC.

MozReview-Commit-ID: Uf5UHg5Jm

--HG--
extra : rebase_source : 68a52c110b049266ce982bc9284de8642dc3405d
2018-06-05 09:18:21 +09:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Kartikaya Gupta d807b18531 Bug 1417784 - Shift how the AsyncImagePipelineManager is notified of updates. r=sotaro
Instead of notifying the AsyncImagePipelineManager on the compositor
thread via the CompositorBridgeParent, we can send it the new pipeline
info directly from the RenderThread after the update happens. This
effectively splits the AsyncImagePipelineManager update-processing into
two parts: one that takes in the new pipeline info and one that process
it. This allows us to invoke the processing step from other code running
on the compositor thread, which we will need to do in the next patch.

MozReview-Commit-ID: 7xhm8I7bY4C

--HG--
extra : rebase_source : bfa62e326fd830bc2ef771138e5008fb2bc0d6b8
2018-05-28 11:29:41 -04:00
Dorel Luca f76b1b99de Merge mozilla-central to mozilla-inbound 2018-05-16 01:01:29 +03:00
James Willcox f4894ab521 Bug 1458258 - Fix compositor invalidatation after resume with e10s r=mattwoodrow
MozReview-Commit-ID: CAZCUXSa9WZ
2018-05-15 14:03:24 -05:00
Kartikaya Gupta 26d10c1120 Bug 1461122 - Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
MozReview-Commit-ID: 5glDqCdvkQG

--HG--
extra : rebase_source : e7bcf7d338b79002e30a7647c15669f1958409e2
2018-05-15 08:49:29 -04:00
Bogdan Tara fbf34d5681 Backed out 3 changesets (bug 1461122) for build bustages on workspace/build/src/obj-firefox/dist/include/mozilla/layers/CompositorBridgeParent.h CLOSED TREE
Backed out changeset 90445f7b62cd (bug 1461122)
Backed out changeset 9f87280ba566 (bug 1461122)
Backed out changeset 0efbd05857c2 (bug 1461122)
2018-05-15 15:13:08 +03:00
Kartikaya Gupta 976a28d5ae Bug 1461122 - Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
MozReview-Commit-ID: 5glDqCdvkQG

--HG--
extra : rebase_source : b3d50c9ffaa1b829b8a23fc5e16d15d1509eb080
2018-05-14 13:19:13 -04:00
James Willcox 2448df528a Bug 1453501 - Allow the compositor to be created in a paused state r=kats
MozReview-Commit-ID: B0wc8MYaBJg
2018-05-14 11:12:39 -05:00
shindli 42cb453a11 Backed out 3 changesets (bug 1453501) for bustage in build/build/src/gfx/gl/GLContextProviderEGL.cpp on a CLOSED TREE
Backed out changeset 8b53a7b34121 (bug 1453501)
Backed out changeset c07588586701 (bug 1453501)
Backed out changeset 6c231423492b (bug 1453501)
2018-05-14 17:05:14 +03:00
James Willcox 58d7215e3c Bug 1453501 - Allow the compositor to be created in a paused state r=kats
MozReview-Commit-ID: B0wc8MYaBJg
2018-05-14 08:15:38 -05:00
Kartikaya Gupta bc221bf045 Bug 1460988 - Don't hold the layer trees lock while making calls that block on WR threads. r=sotaro
MozReview-Commit-ID: BKNf5wpG1br

--HG--
extra : rebase_source : bd4d382095c5f562f31fb2ba2ad0098fd1944c00
2018-05-11 16:36:22 -04:00
Kartikaya Gupta d3693ff0d7 Bug 1457466 - Trigger a render/composite after an async scene build has been swapped in. r=nical
MozReview-Commit-ID: DLROm9gg544

--HG--
extra : rebase_source : d7ecffdfcb87b3148e5486b4f6810a6e73a9dcf3
2018-05-11 09:09:16 -04:00
Kartikaya Gupta 788be8ad4e Bug 1460289 - Reduce scope of indirect layer tree lock in RecvAdoptChild. r=sotaro
In particular, this change makes it so that we are not holding the lock
when we clone the WebRenderAPI, because that can result in a deadlock.

MozReview-Commit-ID: 33OGZdFMjEA

--HG--
extra : rebase_source : 4a1aeb81e3316a119d6b0aa798d827314543a70b
2018-05-09 15:23:30 -04:00
Kartikaya Gupta 88324fa347 Bug 1453360 - Store the compositor animation ids to delete until the epoch is rendered. r=nical
With async scene building, we might get the message to delete certain
compositor animation ids while we are still building and rendering
scenes that have those compositor animations. This patch associates
those ids with the epoch at which they are safe to delete, and only does
the deletion once we have rendered that epoch.

MozReview-Commit-ID: Jetfcdtwt1q

--HG--
extra : rebase_source : f06b8ee62e460432e8faed670e928f60cb6bc915
2018-04-27 10:32:31 -04:00
Kartikaya Gupta 3bb1df5d75 Bug 1453360 - Rename NotifyDidCompositeToPipeline to NotifyPipelineRendered. r=nical
This also rearranges the method implementation slightly to make the next
patch easier to read. This patch should have zero functional changes,
it's just refactoring.

MozReview-Commit-ID: 53StJ0TH3IT

--HG--
extra : rebase_source : 2f3aeb54271da75a7e051afc24b8a4c96f8496f2
2018-04-27 10:32:30 -04:00
Kartikaya Gupta b9e8e2302f Bug 1457246 - Don't hold the sIndirectLayerTreesLock while making synchronous calls to the RenderBackend thread. r=sotaro
MozReview-Commit-ID: KzXZxCb2nA6

--HG--
extra : rebase_source : 64bbd524c5c9b0208cfbfa3899ff75a80903a3c6
2018-04-26 15:29:21 -04:00
Ryan Hunt 4017e5ac25 Bug 1455408 - Remove dead code from CompositorBridgeParent that was used for changing thread priority. r=kats
MozReview-Commit-ID: CXELmNfZoaN

--HG--
extra : rebase_source : ae6b8a64336f35432923d21397554601a17b052d
extra : histedit_source : df67c107d7956b34b3512203d922582fde57ade1
2018-04-19 14:48:23 -05:00
Kartikaya Gupta fc9fac3891 Bug 1455974 - Ensure the metrics sharing IPC messages are sent from the compositor thread. r=botond
With WR+async scene building, the updater thread is no longer the
compositor thread, but we can only send the IPC messages from the
compositor thread. So we need to bounce those calls over to the right
thread.

MozReview-Commit-ID: 6M9bSLYLi5n

--HG--
extra : rebase_source : d908f22892f9d531266f100eeb4a863cb63d8270
2018-04-23 14:24:36 -04:00
Kartikaya Gupta 9c89bea7ea Bug 1455974 - Ensure that mCanSend is cleared at the right time. r=sotaro
mCanSend was being cleared in ActorDestroy which is fine, but we
actually cannot reliably send IPC messages from CompositorBridgeParent
after we get a RecvWillClose message, because that's the last thing that
the child side sends before it gets destroyed. After the WillClose
message there's no guarantee that the child side actor will still be
alive. So this patch also sets mCanSend to false in RecvWillClose.

mCanSend is only used in two places, both of which have to do with the
APZ metrics-sharing code, so this shouldn't have any unexpected
side-effects. It is needed for the next patch.

MozReview-Commit-ID: 8CuFienWVUU

--HG--
extra : rebase_source : 11e4455ffd8cd281d0a16ca34feb63fa89338ccc
2018-04-23 14:24:36 -04:00
Hiroyuki Ikezoe 1695970073 Bug 1454324 - Set non-animated values to the layer only if there is no running animation. r=kats
In the next patch, we skip updating animation value for the layer if the
animation value isn't changed.  So without this patch, we will have to update
animation value even if the value isn't changed at all.

MozReview-Commit-ID: 9tU7BTkNOHL

--HG--
extra : rebase_source : 0dbaaab9e52108c843f2d378785a67a8f374994c
2018-04-24 09:27:54 +09:00
Kartikaya Gupta 7c247ea2b5 Bug 1455715 - Fix some controller thread tasks that were bypassing the updater thread. r=botond
These tasks have an implicit ordering with other tasks that are
dispatched from the compositor thread to the updater thread, and so they
need to be bounced through the updater thread before we run them on the
controller thread.

MozReview-Commit-ID: 92nIYgyV8A2

--HG--
extra : rebase_source : c5edc5cb50dd44d1979d805bf17e707e1c8abac1
2018-04-20 14:27:35 -04:00
Kartikaya Gupta 697a7719d0 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr

--HG--
extra : rebase_source : 8b7a2398bdabf52f2de1c5dbd30b6868c1e0bed0
2018-04-20 15:13:06 -04:00
Kartikaya Gupta ca319705c4 Bug 1455302 - Robustify the IsSamplerThread() check similarly to the updater code. r=botond
Same as the previous patch, but adapted for the sampler thread.

MozReview-Commit-ID: 7PVaPl38FkM

--HG--
extra : rebase_source : b7637270fea226cde15b9351a4ef8ac7ffab5796
2018-04-19 10:10:00 -04:00