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

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

Merge "Skip layer updates for layerless nodes"

parents 561e2190 e9c5fd88
Loading
Loading
Loading
Loading
+18 −13
Original line number Diff line number Diff line
@@ -51,6 +51,10 @@ FrameBuilder::FrameBuilder(const LayerUpdateQueue& layers, const SkRect& clip,
    // updated in the order they're passed in (mLayerBuilders are issued to Renderer in reverse)
    for (int i = layers.entries().size() - 1; i >= 0; i--) {
        RenderNode* layerNode = layers.entries()[i].renderNode;
        // only schedule repaint if node still on layer - possible it may have been
        // removed during a dropped frame, but layers may still remain scheduled so
        // as not to lose info on what portion is damaged
        if (CC_LIKELY(layerNode->getLayer() != nullptr)) {
            const Rect& layerDamage = layers.entries()[i].damage;
            layerNode->computeOrdering();

@@ -66,6 +70,7 @@ FrameBuilder::FrameBuilder(const LayerUpdateQueue& layers, const SkRect& clip,
            }
            restoreForLayer();
        }
    }

    // Defer Fbo0
    for (const sp<RenderNode>& node : nodes) {