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

Commit 52683443 authored by Vishnu Nair's avatar Vishnu Nair
Browse files

Remove legacy layer metadata

Flag: EXEMPT (removing old flags)
Bug: 330785038
Test: presubmit
Change-Id: I38d8c533ff15956b493a4f567826e178a5e1b232
parent 90768fc1
Loading
Loading
Loading
Loading
+0 −32
Original line number Diff line number Diff line
@@ -4313,38 +4313,6 @@ void Layer::updateChildrenSnapshots(bool updateGeometry) {
    }
}

void Layer::updateMetadataSnapshot(const LayerMetadata& parentMetadata) {
    mSnapshot->layerMetadata = parentMetadata;
    mSnapshot->layerMetadata.merge(mDrawingState.metadata);
    for (const sp<Layer>& child : mDrawingChildren) {
        child->updateMetadataSnapshot(mSnapshot->layerMetadata);
    }
}

void Layer::updateRelativeMetadataSnapshot(const LayerMetadata& relativeLayerMetadata,
                                           std::unordered_set<Layer*>& visited) {
    if (visited.find(this) != visited.end()) {
        ALOGW("Cycle containing layer %s detected in z-order relatives", getDebugName());
        return;
    }
    visited.insert(this);

    mSnapshot->relativeLayerMetadata = relativeLayerMetadata;

    if (mDrawingState.zOrderRelatives.empty()) {
        return;
    }
    LayerMetadata childRelativeLayerMetadata = mSnapshot->relativeLayerMetadata;
    childRelativeLayerMetadata.merge(mSnapshot->layerMetadata);
    for (wp<Layer> weakRelative : mDrawingState.zOrderRelatives) {
        sp<Layer> relative = weakRelative.promote();
        if (!relative) {
            continue;
        }
        relative->updateRelativeMetadataSnapshot(childRelativeLayerMetadata, visited);
    }
}

bool Layer::setTrustedPresentationInfo(TrustedPresentationThresholds const& thresholds,
                                       TrustedPresentationListener const& listener) {
    bool hadTrustedPresentationListener = hasTrustedPresentationListener();
+0 −3
Original line number Diff line number Diff line
@@ -899,9 +899,6 @@ public:
    // CompositionEngine to create a single path for composing layers.
    void updateSnapshot(bool updateGeometry);
    void updateChildrenSnapshots(bool updateGeometry);
    void updateMetadataSnapshot(const LayerMetadata& parentMetadata);
    void updateRelativeMetadataSnapshot(const LayerMetadata& relativeLayerMetadata,
                                        std::unordered_set<Layer*>& visited);
    sp<Layer> getClonedFrom() const {
        return mClonedFrom != nullptr ? mClonedFrom.promote() : nullptr;
    }
+0 −29
Original line number Diff line number Diff line
@@ -2750,10 +2750,6 @@ CompositeResultsPerDisplay SurfaceFlinger::composite(

    const bool updateTaskMetadata = mCompositionEngine->getFeatureFlags().test(
            compositionengine::Feature::kSnapshotLayerMetadata);
    if (updateTaskMetadata && (mVisibleRegionsDirty || mLayerMetadataSnapshotNeeded)) {
        updateLayerMetadataSnapshot();
        mLayerMetadataSnapshotNeeded = false;
    }

    refreshArgs.bufferIdsToUncache = std::move(mBufferIdsToUncache);

@@ -8486,31 +8482,6 @@ std::shared_ptr<renderengine::ExternalTexture> SurfaceFlinger::getExternalTextur
    return nullptr;
}

void SurfaceFlinger::updateLayerMetadataSnapshot() {
    LayerMetadata parentMetadata;
    for (const auto& layer : mDrawingState.layersSortedByZ) {
        layer->updateMetadataSnapshot(parentMetadata);
    }

    std::unordered_set<Layer*> visited;
    mDrawingState.traverse([&visited](Layer* layer) {
        if (visited.find(layer) != visited.end()) {
            return;
        }

        // If the layer isRelativeOf, then either it's relative metadata will be set
        // recursively when updateRelativeMetadataSnapshot is called on its relative parent or
        // it's relative parent has been deleted. Clear the layer's relativeLayerMetadata to ensure
        // that layers with deleted relative parents don't hold stale relativeLayerMetadata.
        if (layer->getDrawingState().isRelativeOf) {
            layer->editLayerSnapshot()->relativeLayerMetadata = {};
            return;
        }

        layer->updateRelativeMetadataSnapshot({}, visited);
    });
}

void SurfaceFlinger::moveSnapshotsFromCompositionArgs(
        compositionengine::CompositionRefreshArgs& refreshArgs,
        const std::vector<std::pair<Layer*, LayerFE*>>& layers) {
+0 −4
Original line number Diff line number Diff line
@@ -768,7 +768,6 @@ private:
            REQUIRES(mStateLock, kMainThreadContext);
    void doCommitTransactions() REQUIRES(mStateLock);

    void updateLayerMetadataSnapshot();
    std::vector<std::pair<Layer*, LayerFE*>> moveSnapshotsToCompositionArgs(
            compositionengine::CompositionRefreshArgs& refreshArgs, bool cursorOnly)
            REQUIRES(kMainThreadContext);
@@ -1275,9 +1274,6 @@ private:
    bool mForceTransactionDisplayChange = false;
    bool mUpdateAttachedChoreographer = false;

    // Set if LayerMetadata has changed since the last LayerMetadata snapshot.
    bool mLayerMetadataSnapshotNeeded = false;

    // TODO(b/238781169) validate these on composition
    // Tracks layers that have pending frames which are candidates for being
    // latched.
+0 −1
Original line number Diff line number Diff line
@@ -116,7 +116,6 @@ cc_test {
        "SurfaceFlinger_SetDisplayStateTest.cpp",
        "SurfaceFlinger_SetPowerModeInternalTest.cpp",
        "SurfaceFlinger_SetupNewDisplayDeviceInternalTest.cpp",
        "SurfaceFlinger_UpdateLayerMetadataSnapshotTest.cpp",
        "SchedulerTest.cpp",
        "SetFrameRateTest.cpp",
        "RefreshRateSelectorTest.cpp",
Loading