Bug 1471220 - Record the WR display list build time in the flb phase of content paint telemetry. r?mattwoodrow
MozReview-Commit-ID: 3nZxztEdXef
--- a/gfx/layers/wr/WebRenderLayerManager.cpp
+++ b/gfx/layers/wr/WebRenderLayerManager.cpp
@@ -261,23 +261,28 @@ WebRenderLayerManager::EndTransactionWit
WrBridge()->BeginTransaction();
LayoutDeviceIntSize size = mWidget->GetClientSize();
wr::LayoutSize contentSize { (float)size.width, (float)size.height };
wr::DisplayListBuilder builder(WrBridge()->GetPipeline(), contentSize, mLastDisplayListSize);
wr::IpcResourceUpdateQueue resourceUpdates(WrBridge());
- mWebRenderCommandBuilder.BuildWebRenderCommands(builder,
- resourceUpdates,
- aDisplayList,
- aDisplayListBuilder,
- mScrollData,
- contentSize,
- aFilters);
+ { // Record the time spent "layerizing". WR doesn't actually layerize but
+ // generating the WR display list is the closest equivalent
+ PaintTelemetry::AutoRecord record(PaintTelemetry::Metric::Layerization);
+
+ mWebRenderCommandBuilder.BuildWebRenderCommands(builder,
+ resourceUpdates,
+ aDisplayList,
+ aDisplayListBuilder,
+ mScrollData,
+ contentSize,
+ aFilters);
+ }
DiscardCompositorAnimations();
mWidget->AddWindowOverlayWebRenderCommands(WrBridge(), builder, resourceUpdates);
mWindowOverlayChanged = false;
#if DUMP_LISTS
if (XRE_IsContentProcess()) mScrollData.Dump();