Loading services/surfaceflinger/Layer.h +5 −4 Original line number Diff line number Diff line Loading @@ -848,6 +848,11 @@ public: 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; } bool isClone() { return mClonedFrom != nullptr; } bool willPresentCurrentTransaction() const; void callReleaseBufferCallback(const sp<ITransactionCompletedListener>& listener, Loading Loading @@ -885,10 +890,6 @@ protected: void gatherBufferInfo(); void onSurfaceFrameCreated(const std::shared_ptr<frametimeline::SurfaceFrame>&); sp<Layer> getClonedFrom() const { return mClonedFrom != nullptr ? mClonedFrom.promote() : nullptr; } bool isClone() { return mClonedFrom != nullptr; } bool isClonedFromAlive() { return getClonedFrom() != nullptr; } void cloneDrawingState(const Layer* from); Loading services/surfaceflinger/SurfaceFlinger.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -2641,7 +2641,9 @@ void SurfaceFlinger::composite(TimePoint frameTime, VsyncId vsyncId) CompositionResult compositionResult{layerFE->stealCompositionResult()}; layer->onPreComposition(compositionResult.refreshStartTime); for (auto releaseFence : compositionResult.releaseFences) { layer->onLayerDisplayed(releaseFence); Layer* clonedFrom = layer->getClonedFrom().get(); auto owningLayer = clonedFrom ? clonedFrom : layer; owningLayer->onLayerDisplayed(releaseFence); } if (compositionResult.lastClientCompositionFence) { layer->setWasClientComposed(compositionResult.lastClientCompositionFence); Loading Loading
services/surfaceflinger/Layer.h +5 −4 Original line number Diff line number Diff line Loading @@ -848,6 +848,11 @@ public: 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; } bool isClone() { return mClonedFrom != nullptr; } bool willPresentCurrentTransaction() const; void callReleaseBufferCallback(const sp<ITransactionCompletedListener>& listener, Loading Loading @@ -885,10 +890,6 @@ protected: void gatherBufferInfo(); void onSurfaceFrameCreated(const std::shared_ptr<frametimeline::SurfaceFrame>&); sp<Layer> getClonedFrom() const { return mClonedFrom != nullptr ? mClonedFrom.promote() : nullptr; } bool isClone() { return mClonedFrom != nullptr; } bool isClonedFromAlive() { return getClonedFrom() != nullptr; } void cloneDrawingState(const Layer* from); Loading
services/surfaceflinger/SurfaceFlinger.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -2641,7 +2641,9 @@ void SurfaceFlinger::composite(TimePoint frameTime, VsyncId vsyncId) CompositionResult compositionResult{layerFE->stealCompositionResult()}; layer->onPreComposition(compositionResult.refreshStartTime); for (auto releaseFence : compositionResult.releaseFences) { layer->onLayerDisplayed(releaseFence); Layer* clonedFrom = layer->getClonedFrom().get(); auto owningLayer = clonedFrom ? clonedFrom : layer; owningLayer->onLayerDisplayed(releaseFence); } if (compositionResult.lastClientCompositionFence) { layer->setWasClientComposed(compositionResult.lastClientCompositionFence); Loading