Loading services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +7 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ struct OutputCompositionState; class Output { public: using OutputLayers = std::vector<std::unique_ptr<compositionengine::OutputLayer>>; using ReleasedLayers = std::vector<wp<LayerFE>>; virtual ~Output(); Loading Loading @@ -131,6 +132,12 @@ public: // Gets the ordered set of output layers for this output virtual const OutputLayers& getOutputLayersOrderedByZ() const = 0; // Sets the new set of layers being released this frame. virtual void setReleasedLayers(ReleasedLayers&&) = 0; // Takes (moves) the set of layers being released this frame. virtual ReleasedLayers takeReleasedLayers() = 0; protected: virtual void setDisplayColorProfile(std::unique_ptr<DisplayColorProfile>) = 0; virtual void setRenderSurface(std::unique_ptr<RenderSurface>) = 0; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +4 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,9 @@ public: void setOutputLayersOrderedByZ(OutputLayers&&) override; const OutputLayers& getOutputLayersOrderedByZ() const override; void setReleasedLayers(ReleasedLayers&&) override; ReleasedLayers takeReleasedLayers() override; // Testing void setDisplayColorProfileForTest(std::unique_ptr<compositionengine::DisplayColorProfile>); void setRenderSurfaceForTest(std::unique_ptr<compositionengine::RenderSurface>); Loading @@ -93,6 +96,7 @@ private: std::unique_ptr<compositionengine::RenderSurface> mRenderSurface; OutputLayers mOutputLayersOrderedByZ; ReleasedLayers mReleasedLayers; }; } // namespace impl Loading services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +4 −0 Original line number Diff line number Diff line Loading @@ -66,8 +66,12 @@ public: std::unique_ptr<compositionengine::OutputLayer>( std::optional<DisplayId>, std::shared_ptr<compositionengine::Layer>, sp<compositionengine::LayerFE>)); MOCK_METHOD1(setOutputLayersOrderedByZ, void(OutputLayers&&)); MOCK_CONST_METHOD0(getOutputLayersOrderedByZ, OutputLayers&()); MOCK_METHOD1(setReleasedLayers, void(ReleasedLayers&&)); MOCK_METHOD0(takeReleasedLayers, ReleasedLayers()); }; } // namespace android::compositionengine::mock services/surfaceflinger/CompositionEngine/src/Output.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,14 @@ const Output::OutputLayers& Output::getOutputLayersOrderedByZ() const { return mOutputLayersOrderedByZ; } void Output::setReleasedLayers(Output::ReleasedLayers&& layers) { mReleasedLayers = std::move(layers); } Output::ReleasedLayers Output::takeReleasedLayers() { return std::move(mReleasedLayers); } void Output::dirtyEntireOutput() { mState.dirtyRegion.set(mState.bounds); } Loading services/surfaceflinger/DisplayDevice.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -126,14 +126,6 @@ const Vector< sp<Layer> >& DisplayDevice::getVisibleLayersSortedByZ() const { return mVisibleLayersSortedByZ; } void DisplayDevice::setLayersNeedingFences(const Vector< sp<Layer> >& layers) { mLayersNeedingFences = layers; } const Vector< sp<Layer> >& DisplayDevice::getLayersNeedingFences() const { return mLayersNeedingFences; } // ---------------------------------------------------------------------------- void DisplayDevice::setPowerMode(int mode) { mPowerMode = mode; Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +7 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ struct OutputCompositionState; class Output { public: using OutputLayers = std::vector<std::unique_ptr<compositionengine::OutputLayer>>; using ReleasedLayers = std::vector<wp<LayerFE>>; virtual ~Output(); Loading Loading @@ -131,6 +132,12 @@ public: // Gets the ordered set of output layers for this output virtual const OutputLayers& getOutputLayersOrderedByZ() const = 0; // Sets the new set of layers being released this frame. virtual void setReleasedLayers(ReleasedLayers&&) = 0; // Takes (moves) the set of layers being released this frame. virtual ReleasedLayers takeReleasedLayers() = 0; protected: virtual void setDisplayColorProfile(std::unique_ptr<DisplayColorProfile>) = 0; virtual void setRenderSurface(std::unique_ptr<RenderSurface>) = 0; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +4 −0 Original line number Diff line number Diff line Loading @@ -72,6 +72,9 @@ public: void setOutputLayersOrderedByZ(OutputLayers&&) override; const OutputLayers& getOutputLayersOrderedByZ() const override; void setReleasedLayers(ReleasedLayers&&) override; ReleasedLayers takeReleasedLayers() override; // Testing void setDisplayColorProfileForTest(std::unique_ptr<compositionengine::DisplayColorProfile>); void setRenderSurfaceForTest(std::unique_ptr<compositionengine::RenderSurface>); Loading @@ -93,6 +96,7 @@ private: std::unique_ptr<compositionengine::RenderSurface> mRenderSurface; OutputLayers mOutputLayersOrderedByZ; ReleasedLayers mReleasedLayers; }; } // namespace impl Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +4 −0 Original line number Diff line number Diff line Loading @@ -66,8 +66,12 @@ public: std::unique_ptr<compositionengine::OutputLayer>( std::optional<DisplayId>, std::shared_ptr<compositionengine::Layer>, sp<compositionengine::LayerFE>)); MOCK_METHOD1(setOutputLayersOrderedByZ, void(OutputLayers&&)); MOCK_CONST_METHOD0(getOutputLayersOrderedByZ, OutputLayers&()); MOCK_METHOD1(setReleasedLayers, void(ReleasedLayers&&)); MOCK_METHOD0(takeReleasedLayers, ReleasedLayers()); }; } // namespace android::compositionengine::mock
services/surfaceflinger/CompositionEngine/src/Output.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -242,6 +242,14 @@ const Output::OutputLayers& Output::getOutputLayersOrderedByZ() const { return mOutputLayersOrderedByZ; } void Output::setReleasedLayers(Output::ReleasedLayers&& layers) { mReleasedLayers = std::move(layers); } Output::ReleasedLayers Output::takeReleasedLayers() { return std::move(mReleasedLayers); } void Output::dirtyEntireOutput() { mState.dirtyRegion.set(mState.bounds); } Loading
services/surfaceflinger/DisplayDevice.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -126,14 +126,6 @@ const Vector< sp<Layer> >& DisplayDevice::getVisibleLayersSortedByZ() const { return mVisibleLayersSortedByZ; } void DisplayDevice::setLayersNeedingFences(const Vector< sp<Layer> >& layers) { mLayersNeedingFences = layers; } const Vector< sp<Layer> >& DisplayDevice::getLayersNeedingFences() const { return mLayersNeedingFences; } // ---------------------------------------------------------------------------- void DisplayDevice::setPowerMode(int mode) { mPowerMode = mode; Loading