Loading services/surfaceflinger/BufferLayer.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -358,8 +358,6 @@ void BufferLayer::onPostComposition(const DisplayDevice* display, // composition. if (!mBufferInfo.mFrameLatencyNeeded) return; mAlreadyDisplayedThisCompose = false; // Update mFrameEventHistory. finalizeFrameEventHistory(glDoneFence, compositorTiming); Loading services/surfaceflinger/BufferStateLayer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -79,10 +79,10 @@ void BufferStateLayer::onLayerDisplayed(ftl::SharedFuture<FenceResult> futureFen // For example we can only use it if all the displays are client comp, and we need // to merge all the client comp fences. We could do this, but for now we just // disable the optimization when a layer is composed on multiple displays. if (mAlreadyDisplayedThisCompose) { if (mClearClientCompositionFenceOnLayerDisplayed) { mLastClientCompositionFence = nullptr; } else { mAlreadyDisplayedThisCompose = true; mClearClientCompositionFenceOnLayerDisplayed = true; } // The previous release fence notifies the client that SurfaceFlinger is done with the previous Loading services/surfaceflinger/CompositionEngine/src/Output.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,7 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( const auto& layerState = layer->getState(); const auto* layerFEState = layer->getLayerFE().getCompositionState(); auto& layerFE = layer->getLayerFE(); layerFE.setWasClientComposed(nullptr); const Region clip(viewportRegion.intersect(layerState.visibleRegion)); ALOGV("Layer: %s", layerFE.getDebugName()); Loading services/surfaceflinger/Layer.h +2 −1 Original line number Diff line number Diff line Loading @@ -620,6 +620,7 @@ public: void setWasClientComposed(const sp<Fence>& fence) override { mLastClientCompositionFence = fence; mClearClientCompositionFenceOnLayerDisplayed = false; } const char* getDebugName() const override; Loading Loading @@ -1035,7 +1036,7 @@ protected: mutable bool mDrawingStateModified = false; sp<Fence> mLastClientCompositionFence; bool mAlreadyDisplayedThisCompose = false; bool mClearClientCompositionFenceOnLayerDisplayed = false; private: virtual void setTransformHint(ui::Transform::RotationFlags) {} Loading Loading
services/surfaceflinger/BufferLayer.cpp +0 −2 Original line number Diff line number Diff line Loading @@ -358,8 +358,6 @@ void BufferLayer::onPostComposition(const DisplayDevice* display, // composition. if (!mBufferInfo.mFrameLatencyNeeded) return; mAlreadyDisplayedThisCompose = false; // Update mFrameEventHistory. finalizeFrameEventHistory(glDoneFence, compositorTiming); Loading
services/surfaceflinger/BufferStateLayer.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -79,10 +79,10 @@ void BufferStateLayer::onLayerDisplayed(ftl::SharedFuture<FenceResult> futureFen // For example we can only use it if all the displays are client comp, and we need // to merge all the client comp fences. We could do this, but for now we just // disable the optimization when a layer is composed on multiple displays. if (mAlreadyDisplayedThisCompose) { if (mClearClientCompositionFenceOnLayerDisplayed) { mLastClientCompositionFence = nullptr; } else { mAlreadyDisplayedThisCompose = true; mClearClientCompositionFenceOnLayerDisplayed = true; } // The previous release fence notifies the client that SurfaceFlinger is done with the previous Loading
services/surfaceflinger/CompositionEngine/src/Output.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,7 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests( const auto& layerState = layer->getState(); const auto* layerFEState = layer->getLayerFE().getCompositionState(); auto& layerFE = layer->getLayerFE(); layerFE.setWasClientComposed(nullptr); const Region clip(viewportRegion.intersect(layerState.visibleRegion)); ALOGV("Layer: %s", layerFE.getDebugName()); Loading
services/surfaceflinger/Layer.h +2 −1 Original line number Diff line number Diff line Loading @@ -620,6 +620,7 @@ public: void setWasClientComposed(const sp<Fence>& fence) override { mLastClientCompositionFence = fence; mClearClientCompositionFenceOnLayerDisplayed = false; } const char* getDebugName() const override; Loading Loading @@ -1035,7 +1036,7 @@ protected: mutable bool mDrawingStateModified = false; sp<Fence> mLastClientCompositionFence; bool mAlreadyDisplayedThisCompose = false; bool mClearClientCompositionFenceOnLayerDisplayed = false; private: virtual void setTransformHint(ui::Transform::RotationFlags) {} Loading