Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c378b3e0 authored by Chris Craik's avatar Chris Craik Committed by Android (Google) Code Review
Browse files

Merge "Additional layer logging, and added mutex" into lmp-dev

parents 522f671e 599e254e
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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");
    }
}
+4 −0
Original line number Diff line number Diff line
@@ -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 */