Bug 1622360 - Downgrade builder dump index from RenderRootArray. r=jrmuizel

Depends on D70601

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

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Kartikaya Gupta 2020-04-14 00:07:08 +00:00
Родитель c65ae0becc
Коммит 5fe779b3a8
3 изменённых файлов: 11 добавлений и 18 удалений

Просмотреть файл

@ -1479,6 +1479,7 @@ WebRenderCommandBuilder::WebRenderCommandBuilder(
: mManager(aManager),
mRootStackingContexts(nullptr),
mLastAsr(nullptr),
mBuilderDumpIndex(0),
mDumpIndent(0),
mDoGrouping(false),
mContainsSVGGroup(false) {}
@ -1520,9 +1521,7 @@ void WebRenderCommandBuilder::BuildWebRenderCommands(
aScrollData = WebRenderScrollData(mManager);
MOZ_ASSERT(mLayerScrollData.empty());
mClipManager.BeginBuild(mManager, aBuilder);
for (auto renderRoot : wr::kRenderRoots) {
mBuilderDumpIndex[renderRoot] = 0;
}
mBuilderDumpIndex = 0;
mLastCanvasDatas.Clear();
mLastLocalCanvasDatas.Clear();
mLastAsr = nullptr;
@ -1551,9 +1550,8 @@ void WebRenderCommandBuilder::BuildWebRenderCommands(
nullptr, aBuilder, params);
}
if (ShouldDumpDisplayList(aDisplayListBuilder)) {
mBuilderDumpIndex[aBuilder.GetRenderRoot()] = aBuilder.Dump(
mDumpIndent + 1, Some(mBuilderDumpIndex[aBuilder.GetRenderRoot()]),
Nothing());
mBuilderDumpIndex =
aBuilder.Dump(mDumpIndent + 1, Some(mBuilderDumpIndex), Nothing());
}
MOZ_ASSERT(mRootStackingContexts == nullptr);
AutoRestore<wr::RenderRootArray<Maybe<StackingContextHelper>>*> rootScs(
@ -1661,9 +1659,8 @@ void WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList(
if (dumpEnabled) {
// If we're inside a nested display list, print the WR DL items from the
// wrapper item before we start processing the nested items.
mBuilderDumpIndex[aBuilder.GetRenderRoot()] = aBuilder.Dump(
mDumpIndent + 1, Some(mBuilderDumpIndex[aBuilder.GetRenderRoot()]),
Nothing());
mBuilderDumpIndex =
aBuilder.Dump(mDumpIndent + 1, Some(mBuilderDumpIndex), Nothing());
}
mDumpIndent++;
@ -1744,9 +1741,8 @@ void WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList(
aDisplayListBuilder);
if (dumpEnabled) {
mBuilderDumpIndex[aBuilder.GetRenderRoot()] = aBuilder.Dump(
mDumpIndent + 1, Some(mBuilderDumpIndex[aBuilder.GetRenderRoot()]),
Nothing());
mBuilderDumpIndex =
aBuilder.Dump(mDumpIndent + 1, Some(mBuilderDumpIndex), Nothing());
}
}

Просмотреть файл

@ -109,9 +109,7 @@ class WebRenderCommandBuilder final {
void ClearCachedResources();
bool ShouldDumpDisplayList(nsDisplayListBuilder* aBuilder);
wr::usize GetBuilderDumpIndex(wr::RenderRoot aRenderRoot) const {
return mBuilderDumpIndex[aRenderRoot];
}
wr::usize GetBuilderDumpIndex() const { return mBuilderDumpIndex; }
bool GetContainsSVGGroup() { return mContainsSVGGroup; }
@ -204,7 +202,7 @@ class WebRenderCommandBuilder final {
// Store of WebRenderLocalCanvasData objects for use in empty transactions
LocalCanvasDataSet mLastLocalCanvasDatas;
wr::RenderRootArray<wr::usize> mBuilderDumpIndex;
wr::usize mBuilderDumpIndex;
wr::usize mDumpIndent;
public:

Просмотреть файл

@ -333,8 +333,7 @@ void WebRenderLayerManager::EndTransactionWithoutLayer(
builder, resourceUpdates, aDisplayList, aDisplayListBuilder,
mScrollData, std::move(aFilters));
builderDumpIndex =
mWebRenderCommandBuilder.GetBuilderDumpIndex(builder.GetRenderRoot());
builderDumpIndex = mWebRenderCommandBuilder.GetBuilderDumpIndex();
containsSVGGroup = mWebRenderCommandBuilder.GetContainsSVGGroup();
} else {
// ViewToPaint does not have frame yet, then render only background clolor.