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

Commit 6dad93ef authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Yet more layer tracking logging" into lmp-dev

parents 46edee09 443a714f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ Layer::Layer(RenderState& renderState, const uint32_t layerWidth, const uint32_t
    convexMask = NULL;
    caches.resourceCache.incrementRefcount(this);
    rendererLightPosDirty = true;
    wasBuildLayered = false;
    renderState.registerLayer(this);
}

+1 −0
Original line number Diff line number Diff line
@@ -306,6 +306,7 @@ public:
    Rect dirtyRect;
    bool debugDrawUpdate;
    bool hasDrawnSinceUpdate;
    bool wasBuildLayered;

private:
    void requireRenderer();
+6 −0
Original line number Diff line number Diff line
@@ -605,6 +605,12 @@ void OpenGLRenderer::flushLayerUpdates() {
    AutoFence fence;
}

void OpenGLRenderer::markLayersAsBuildLayers() {
    for (size_t i = 0; i < mLayerUpdates.size(); i++) {
        mLayerUpdates[i]->wasBuildLayered = true;
    }
}

///////////////////////////////////////////////////////////////////////////////
// State management
///////////////////////////////////////////////////////////////////////////////
+1 −0
Original line number Diff line number Diff line
@@ -150,6 +150,7 @@ public:
    void cancelLayerUpdate(Layer* layer);
    void clearLayerUpdates();
    void flushLayerUpdates();
    void markLayersAsBuildLayers();

    virtual int saveLayer(float left, float top, float right, float bottom,
            const SkPaint* paint, int flags) {
+13 −0
Original line number Diff line number Diff line
@@ -58,6 +58,19 @@ void RenderNode::outputLogBuffer(int fd) {
    fflush(file);
}

void RenderNode::debugDumpLayers(const char* prefix) {
    if (mLayer) {
        ALOGD("%sNode %p (%s) has layer %p (fbo = %u, wasBuildLayered = %s)",
                prefix, this, getName(), mLayer, mLayer->getFbo(),
                mLayer->wasBuildLayered ? "true" : "false");
    }
    if (mDisplayListData) {
        for (size_t i = 0; i < mDisplayListData->children().size(); i++) {
            mDisplayListData->children()[i]->mRenderNode->debugDumpLayers(prefix);
        }
    }
}

RenderNode::RenderNode()
        : mDirtyPropertyFields(0)
        , mNeedsDisplayListDataSync(false)
Loading