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

Commit cd63ae38 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "SF: Move/Refactor LayersNeedingFences"

parents 71bb1a58 c7ef21b0
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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();

@@ -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;
+4 −0
Original line number Diff line number Diff line
@@ -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>);
@@ -93,6 +96,7 @@ private:
    std::unique_ptr<compositionengine::RenderSurface> mRenderSurface;

    OutputLayers mOutputLayersOrderedByZ;
    ReleasedLayers mReleasedLayers;
};

} // namespace impl
+4 −0
Original line number Diff line number Diff line
@@ -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
+8 −0
Original line number Diff line number Diff line
@@ -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);
}
+0 −8
Original line number Diff line number Diff line
@@ -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