am d6d88a21: am cde5e68d: Merge "Additional layer logging, and added mutex" into lmp-dev

* commit 'd6d88a21cfd226440b6e7f1f758a30d39b932a9e':
  Additional layer logging, and added mutex
This commit is contained in:
Chris Craik
2014-09-05 22:40:00 +00:00
committed by Android Git Automerger
2 changed files with 12 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ void RenderState::onGLContextCreated() {
}
void RenderState::onGLContextDestroyed() {
AutoMutex _lock(mLayerLock);
if (CC_UNLIKELY(!mActiveLayers.empty())) {
mCaches->dumpMemoryUsage();
for (std::set<renderthread::CanvasContext*>::iterator cit = mRegisteredContexts.begin();
@@ -51,6 +52,13 @@ void RenderState::onGLContextDestroyed() {
}
context->mRootRenderNode->debugDumpLayers(" ");
}
for (std::set<const Layer*>::iterator lit = mActiveLayers.begin();
lit != mActiveLayers.end(); lit++) {
const Layer* layer = *(lit);
ALOGD("Layer %p, fbo %d, buildlayered %d",
layer, layer->getFbo(), layer->wasBuildLayered);
}
LOG_ALWAYS_FATAL("layers have survived gl context destruction");
}
}

View File

@@ -19,6 +19,7 @@
#include <set>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <utils/Mutex.h>
#include <private/hwui/DrawGlInfo.h>
@@ -52,9 +53,11 @@ public:
void debugOverdraw(bool enable, bool clear);
void registerLayer(const Layer* layer) {
AutoMutex _lock(mLayerLock);
mActiveLayers.insert(layer);
}
void unregisterLayer(const Layer* layer) {
AutoMutex _lock(mLayerLock);
mActiveLayers.erase(layer);
}
@@ -83,6 +86,7 @@ private:
GLsizei mViewportWidth;
GLsizei mViewportHeight;
GLuint mFramebuffer;
Mutex mLayerLock;
};
} /* namespace uirenderer */