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

Commit f96cbe2d authored by Lloyd Pique's avatar Lloyd Pique Committed by Android (Google) Code Review
Browse files

Merge "SF: Pass owning Layer when creating LayerFE" into main

parents 9a1f2adb 70ddc67c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -150,7 +150,7 @@ Layer::Layer(const surfaceflinger::LayerCreationArgs& args)
        mWindowType(static_cast<WindowInfo::Type>(
                args.metadata.getInt32(gui::METADATA_WINDOW_TYPE, 0))),
        mLayerCreationFlags(args.flags),
        mLegacyLayerFE(args.flinger->getFactory().createLayerFE(mName)) {
        mLegacyLayerFE(args.flinger->getFactory().createLayerFE(mName, this)) {
    ALOGV("Creating Layer %s", getDebugName());

    uint32_t layerFlags = 0;
@@ -3982,7 +3982,7 @@ const compositionengine::LayerFECompositionState* Layer::getCompositionState() c
}

sp<LayerFE> Layer::copyCompositionEngineLayerFE() const {
    auto result = mFlinger->getFactory().createLayerFE(mName);
    auto result = mFlinger->getFactory().createLayerFE(mName, this);
    result->mSnapshot = std::make_unique<LayerSnapshot>(*mSnapshot);
    return result;
}
@@ -3994,7 +3994,7 @@ sp<LayerFE> Layer::getCompositionEngineLayerFE(
            return layerFE;
        }
    }
    auto layerFE = mFlinger->getFactory().createLayerFE(mName);
    auto layerFE = mFlinger->getFactory().createLayerFE(mName, this);
    mLayerFEs.emplace_back(path, layerFE);
    return layerFE;
}
+1 −1
Original line number Diff line number Diff line
@@ -9346,7 +9346,7 @@ SurfaceFlinger::getLayerSnapshotsForScreenshots(
                                                    "Couldnt find layer object for %s",
                                                    snapshot->getDebugString().c_str());
                    Layer* legacyLayer = (it == mLegacyLayers.end()) ? nullptr : it->second.get();
                    sp<LayerFE> layerFE = getFactory().createLayerFE(snapshot->name);
                    sp<LayerFE> layerFE = getFactory().createLayerFE(snapshot->name, legacyLayer);
                    layerFE->mSnapshot = std::make_unique<frontend::LayerSnapshot>(*snapshot);
                    layers.emplace_back(legacyLayer, std::move(layerFE));
                });
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ sp<Layer> DefaultFactory::createEffectLayer(const LayerCreationArgs& args) {
    return sp<Layer>::make(args);
}

sp<LayerFE> DefaultFactory::createLayerFE(const std::string& layerName) {
sp<LayerFE> DefaultFactory::createLayerFE(const std::string& layerName, const Layer* /* owner */) {
    return sp<LayerFE>::make(layerName);
}

+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public:
    std::unique_ptr<compositionengine::CompositionEngine> createCompositionEngine() override;
    sp<Layer> createBufferStateLayer(const LayerCreationArgs& args) override;
    sp<Layer> createEffectLayer(const LayerCreationArgs& args) override;
    sp<LayerFE> createLayerFE(const std::string& layerName) override;
    sp<LayerFE> createLayerFE(const std::string& layerName, const Layer* owner) override;
    std::unique_ptr<FrameTracer> createFrameTracer() override;
    std::unique_ptr<frametimeline::FrameTimeline> createFrameTimeline(
            std::shared_ptr<TimeStats> timeStats, pid_t surfaceFlingerPid) override;
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ public:

    virtual sp<Layer> createBufferStateLayer(const LayerCreationArgs& args) = 0;
    virtual sp<Layer> createEffectLayer(const LayerCreationArgs& args) = 0;
    virtual sp<LayerFE> createLayerFE(const std::string& layerName) = 0;
    virtual sp<LayerFE> createLayerFE(const std::string& layerName, const Layer* owner) = 0;
    virtual std::unique_ptr<FrameTracer> createFrameTracer() = 0;
    virtual std::unique_ptr<frametimeline::FrameTimeline> createFrameTimeline(
            std::shared_ptr<TimeStats> timeStats, pid_t surfaceFlingerPid) = 0;
Loading