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:
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user