Loading services/surfaceflinger/Layer.cpp +0 −32 Original line number Diff line number Diff line Loading @@ -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(); Loading services/surfaceflinger/Layer.h +0 −3 Original line number Diff line number Diff line Loading @@ -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; } Loading services/surfaceflinger/SurfaceFlinger.cpp +0 −29 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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) { Loading services/surfaceflinger/SurfaceFlinger.h +0 −4 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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. Loading services/surfaceflinger/tests/unittests/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
services/surfaceflinger/Layer.cpp +0 −32 Original line number Diff line number Diff line Loading @@ -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(); Loading
services/surfaceflinger/Layer.h +0 −3 Original line number Diff line number Diff line Loading @@ -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; } Loading
services/surfaceflinger/SurfaceFlinger.cpp +0 −29 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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) { Loading
services/surfaceflinger/SurfaceFlinger.h +0 −4 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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. Loading
services/surfaceflinger/tests/unittests/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -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