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

Commit 5afdba8a authored by Mike Stroyan's avatar Mike Stroyan Committed by android-build-merger
Browse files

Merge "Defer surfaceflinger composition until data latch" into oc-dev am: 09e897b4

am: d9d70476

Change-Id: I520d9107f8874612e7c32e115cbdf126f0508126
parents fa02547d d9d70476
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2371,6 +2371,7 @@ bool SurfaceFlinger::handlePageFlip()

    bool visibleRegions = false;
    bool frameQueued = false;
    bool newDataLatched = false;

    // Store the set of layers that need updates. This set must not change as
    // buffers are being latched, as this could result in a deadlock.
@@ -2398,6 +2399,9 @@ bool SurfaceFlinger::handlePageFlip()
        const Region dirty(layer->latchBuffer(visibleRegions, latchTime));
        layer->useSurfaceDamage();
        invalidateLayerStack(layer->getLayerStack(), dirty);
        if (!dirty.isEmpty()) {
            newDataLatched = true;
        }
    }

    mVisibleRegionsDirty |= visibleRegions;
@@ -2410,7 +2414,7 @@ bool SurfaceFlinger::handlePageFlip()
    }

    // Only continue with the refresh if there is actually new work to do
    return !mLayersWithQueuedFrames.empty();
    return !mLayersWithQueuedFrames.empty() && newDataLatched;
}

void SurfaceFlinger::invalidateHwcGeometry()