Bug 1555379 - Record content paint times for WebRender r=kats
authorBarret Rennie <barret@brennie.ca>
Thu, 30 May 2019 21:08:01 +0000
changeset 476289 ab8b7c6960e5dd9c3d620e1e20f4abc01ede32ac
parent 476288 20ee2411c2c43a57757997124b913b626610626d
child 476290 7c802fa1d3884b01e7a367fb563dd96abee87ffc
push id36090
push usernbeleuzu@mozilla.com
push dateFri, 31 May 2019 03:59:09 +0000
treeherdermozilla-central@63568b2a8178 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskats
bugs1555379
milestone69.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1555379 - Record content paint times for WebRender r=kats The WebRenderBridgeChild now records whether or not it was painting content while sending display lists to the WebRenderBridgeParent, allowing for composition times to be recorded for WebRender. Differential Revision: https://phabricator.services.mozilla.com/D32229
gfx/layers/wr/WebRenderBridgeParent.cpp
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -1071,16 +1071,21 @@ mozilla::ipc::IPCResult WebRenderBridgeP
     }
   }
 
   if (!validTransaction && observeLayersUpdate) {
     mCompositorBridge->ObserveLayersUpdate(GetLayersId(),
                                            mChildLayersObserverEpoch, true);
   }
 
+  if (!IsRootWebRenderBridgeParent()) {
+    aPayloads.AppendElement(
+        CompositionPayload{CompositionPayloadType::eContentPaint, aFwdTime});
+  }
+
   HoldPendingTransactionId(wrEpoch, aTransactionId, aContainsSVGGroup, aVsyncId,
                            aVsyncStartTime, aRefreshStartTime, aTxnStartTime,
                            aTxnURL, aFwdTime, mIsFirstPaint,
                            std::move(aPayloads));
   mIsFirstPaint = false;
 
   if (!validTransaction) {
     // Pretend we composited since someone is wating for this event,