diff options
author | 2014-09-04 17:40:05 -0700 | |
---|---|---|
committer | 2014-09-04 17:40:05 -0700 | |
commit | 443a714fa7c0dd07fee3527cc5bc3d3ca1fb7d44 (patch) | |
tree | 4e1fd44948c6bc7324d6e3cb66af261f864530e5 /libs/hwui/RenderState.cpp | |
parent | 2388750612b1fe54d31a47e0a40c1e6cf5a0cedd (diff) |
Yet more layer tracking logging
Bug: 17208461
Change-Id: I55e7d0921eb565867e966d68b798b7b92c391b55
Diffstat (limited to 'libs/hwui/RenderState.cpp')
-rw-r--r-- | libs/hwui/RenderState.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libs/hwui/RenderState.cpp b/libs/hwui/RenderState.cpp index 9948b44ac703..a7c5e85d9123 100644 --- a/libs/hwui/RenderState.cpp +++ b/libs/hwui/RenderState.cpp @@ -15,6 +15,8 @@ */ #include "RenderState.h" +#include "renderthread/CanvasContext.h" + namespace android { namespace uirenderer { @@ -38,6 +40,17 @@ void RenderState::onGLContextCreated() { void RenderState::onGLContextDestroyed() { if (CC_UNLIKELY(!mActiveLayers.empty())) { mCaches->dumpMemoryUsage(); + for (std::set<renderthread::CanvasContext*>::iterator cit = mRegisteredContexts.begin(); + cit != mRegisteredContexts.end(); cit++) { + renderthread::CanvasContext* context = *cit; + ALOGD("Context: %p (root = %p)", context, context->mRootRenderNode.get()); + ALOGD(" Prefeteched layers: %zu", context->mPrefetechedLayers.size()); + for (std::set<RenderNode*>::iterator pit = context->mPrefetechedLayers.begin(); + pit != context->mPrefetechedLayers.end(); pit++) { + (*pit)->debugDumpLayers(" "); + } + context->mRootRenderNode->debugDumpLayers(" "); + } LOG_ALWAYS_FATAL("layers have survived gl context destruction"); } } |