mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-15 22:35:43 +00:00
Bug 1250718 - Improve layer logging for preserve-3d layers. r=thinker
--HG-- extra : rebase_source : 7405e30e0081bfa1b249ff6bd4f7bfd713110815
This commit is contained in:
parent
f6bfff23ab
commit
8d2b64d662
@ -1703,7 +1703,8 @@ void WriteSnapshotToDumpFile(Compositor* aCompositor, DrawTarget* aTarget)
|
||||
#endif
|
||||
|
||||
void
|
||||
Layer::Dump(std::stringstream& aStream, const char* aPrefix, bool aDumpHtml)
|
||||
Layer::Dump(std::stringstream& aStream, const char* aPrefix,
|
||||
bool aDumpHtml, bool aSorted)
|
||||
{
|
||||
#ifdef MOZ_DUMP_PAINTING
|
||||
bool dumpCompositorTexture = gfxEnv::DumpCompositorTextures() && AsLayerComposite() &&
|
||||
@ -1770,13 +1771,25 @@ Layer::Dump(std::stringstream& aStream, const char* aPrefix, bool aDumpHtml)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (Layer* kid = GetFirstChild()) {
|
||||
if (ContainerLayer* container = AsContainerLayer()) {
|
||||
AutoTArray<Layer*, 12> children;
|
||||
if (aSorted) {
|
||||
container->SortChildrenBy3DZOrder(children);
|
||||
} else {
|
||||
for (Layer* l = container->GetFirstChild(); l; l = l->GetNextSibling()) {
|
||||
children.AppendElement(l);
|
||||
}
|
||||
}
|
||||
nsAutoCString pfx(aPrefix);
|
||||
pfx += " ";
|
||||
if (aDumpHtml) {
|
||||
aStream << "<ul>";
|
||||
}
|
||||
kid->Dump(aStream, pfx.get(), aDumpHtml);
|
||||
|
||||
for (Layer* child : children) {
|
||||
child->Dump(aStream, pfx.get(), aDumpHtml, aSorted);
|
||||
}
|
||||
|
||||
if (aDumpHtml) {
|
||||
aStream << "</ul>";
|
||||
}
|
||||
@ -1785,8 +1798,6 @@ Layer::Dump(std::stringstream& aStream, const char* aPrefix, bool aDumpHtml)
|
||||
if (aDumpHtml) {
|
||||
aStream << "</li>";
|
||||
}
|
||||
if (Layer* next = GetNextSibling())
|
||||
next->Dump(aStream, aPrefix, aDumpHtml);
|
||||
}
|
||||
|
||||
void
|
||||
@ -1920,6 +1931,15 @@ Layer::PrintInfo(std::stringstream& aStream, const char* aPrefix)
|
||||
if (GetContentFlags() & CONTENT_BACKFACE_HIDDEN) {
|
||||
aStream << " [backfaceHidden]";
|
||||
}
|
||||
if (Extend3DContext()) {
|
||||
aStream << " [extend3DContext]";
|
||||
}
|
||||
if (Combines3DTransformWithAncestors()) {
|
||||
aStream << " [combines3DTransformWithAncestors]";
|
||||
}
|
||||
if (Is3DContextLeaf()) {
|
||||
aStream << " [is3DContextLeaf]";
|
||||
}
|
||||
if (GetScrollbarDirection() == VERTICAL) {
|
||||
aStream << nsPrintfCString(" [vscrollbar=%lld]", GetScrollbarTargetContainerId()).get();
|
||||
}
|
||||
@ -2310,14 +2330,15 @@ ReadbackLayer::DumpPacket(layerscope::LayersPacket* aPacket, const void* aParent
|
||||
// LayerManager
|
||||
|
||||
void
|
||||
LayerManager::Dump(std::stringstream& aStream, const char* aPrefix, bool aDumpHtml)
|
||||
LayerManager::Dump(std::stringstream& aStream, const char* aPrefix,
|
||||
bool aDumpHtml, bool aSorted)
|
||||
{
|
||||
#ifdef MOZ_DUMP_PAINTING
|
||||
if (aDumpHtml) {
|
||||
aStream << "<ul><li>";
|
||||
}
|
||||
#endif
|
||||
DumpSelf(aStream, aPrefix);
|
||||
DumpSelf(aStream, aPrefix, aSorted);
|
||||
|
||||
nsAutoCString pfx(aPrefix);
|
||||
pfx += " ";
|
||||
@ -2340,17 +2361,18 @@ LayerManager::Dump(std::stringstream& aStream, const char* aPrefix, bool aDumpHt
|
||||
}
|
||||
|
||||
void
|
||||
LayerManager::DumpSelf(std::stringstream& aStream, const char* aPrefix)
|
||||
LayerManager::DumpSelf(std::stringstream& aStream, const char* aPrefix, bool aSorted)
|
||||
{
|
||||
PrintInfo(aStream, aPrefix);
|
||||
aStream << " --- in " << (aSorted ? "3D-sorted rendering order" : "content order");
|
||||
aStream << "\n";
|
||||
}
|
||||
|
||||
void
|
||||
LayerManager::Dump()
|
||||
LayerManager::Dump(bool aSorted)
|
||||
{
|
||||
std::stringstream ss;
|
||||
Dump(ss);
|
||||
Dump(ss, "", false, aSorted);
|
||||
print_stderr(ss);
|
||||
}
|
||||
|
||||
|
@ -564,12 +564,13 @@ public:
|
||||
* Dump information about this layer manager and its managed tree to
|
||||
* aStream.
|
||||
*/
|
||||
void Dump(std::stringstream& aStream, const char* aPrefix="", bool aDumpHtml=false);
|
||||
void Dump(std::stringstream& aStream, const char* aPrefix="",
|
||||
bool aDumpHtml=false, bool aSorted=false);
|
||||
/**
|
||||
* Dump information about just this layer manager itself to aStream
|
||||
*/
|
||||
void DumpSelf(std::stringstream& aStream, const char* aPrefix="");
|
||||
void Dump();
|
||||
void DumpSelf(std::stringstream& aStream, const char* aPrefix="", bool aSorted=false);
|
||||
void Dump(bool aSorted=false);
|
||||
|
||||
/**
|
||||
* Dump information about this layer manager and its managed tree to
|
||||
@ -1587,7 +1588,8 @@ public:
|
||||
* Dump information about this layer manager and its managed tree to
|
||||
* aStream.
|
||||
*/
|
||||
void Dump(std::stringstream& aStream, const char* aPrefix="", bool aDumpHtml=false);
|
||||
void Dump(std::stringstream& aStream, const char* aPrefix="",
|
||||
bool aDumpHtml=false, bool aSorted=false);
|
||||
/**
|
||||
* Dump information about just this layer manager itself to aStream.
|
||||
*/
|
||||
|
@ -841,7 +841,7 @@ LayerManagerComposite::Render(const nsIntRegion& aInvalidRegion)
|
||||
|
||||
// Dump to console
|
||||
if (gfxPrefs::LayersDump()) {
|
||||
this->Dump();
|
||||
this->Dump(/* aSorted= */true);
|
||||
} else if (profiler_feature_active("layersdump")) {
|
||||
std::stringstream ss;
|
||||
Dump(ss);
|
||||
|
@ -1280,7 +1280,7 @@ CompositorParent::CompositeToTarget(DrawTarget* aTarget, const gfx::IntRect* aRe
|
||||
#ifdef MOZ_DUMP_PAINTING
|
||||
if (gfxPrefs::DumpHostLayers()) {
|
||||
printf_stderr("Painting --- compositing layer tree:\n");
|
||||
mLayerManager->Dump();
|
||||
mLayerManager->Dump(/* aSorted = */ true);
|
||||
}
|
||||
#endif
|
||||
mLayerManager->SetDebugOverlayWantsNextFrame(false);
|
||||
|
Loading…
Reference in New Issue
Block a user