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

Commit d9d70476 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

Change-Id: I39e32d9a85150174fafc79c8bc39310dc71bd069
parents d0b2562f 09e897b4
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()