Bug 1700642 - Part 1: Track per frame paint phase durations r=nical

Differential Revision: https://phabricator.services.mozilla.com/D109613
This commit is contained in:
Miko Mynttinen
2021-03-26 14:24:39 +00:00
parent 6c64deb3f6
commit 0642b5afd6
12 changed files with 126 additions and 27 deletions

View File

@@ -322,7 +322,8 @@ void WebRenderLayerManager::EndTransaction(DrawPaintedLayerCallback aCallback,
void WebRenderLayerManager::EndTransactionWithoutLayer(
nsDisplayList* aDisplayList, nsDisplayListBuilder* aDisplayListBuilder,
WrFiltersHolder&& aFilters, WebRenderBackgroundData* aBackground) {
WrFiltersHolder&& aFilters, WebRenderBackgroundData* aBackground,
const double aGeckoDLBuildTime) {
AUTO_PROFILER_TRACING_MARKER("Paint", "RenderLayers", GRAPHICS);
// Since we don't do repeat transactions right now, just set the time
@@ -459,6 +460,7 @@ void WebRenderLayerManager::EndTransactionWithoutLayer(
dlData.mRect =
LayoutDeviceRect(LayoutDevicePoint(), LayoutDeviceSize(size));
dlData.mScrollData.emplace(std::move(mScrollData));
dlData.mDLDesc.gecko_display_list_time = aGeckoDLBuildTime;
bool ret = WrBridge()->EndTransaction(
std::move(dlData), mLatestTransactionId, containsSVGGroup,