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

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

Merge "Rename and remove duplicate layer creation functions" into main

parents 27a3529e bc60fbc9
Loading
Loading
Loading
Loading
+7 −17
Original line number Diff line number Diff line
@@ -2610,7 +2610,7 @@ bool SurfaceFlinger::updateLayerSnapshots(VsyncId vsyncId, nsecs_t frameTimeNs,
    for (auto& layer : mLayerLifecycleManager.getLayers()) {
        if (layer->changes.test(frontend::RequestedLayerState::Changes::Created) &&
            layer->bgColorLayer) {
            sp<Layer> bgColorLayer = getFactory().createEffectLayer(
            sp<Layer> bgColorLayer = getFactory().createLayer(
                    LayerCreationArgs(this, nullptr, layer->name,
                                      ISurfaceComposerClient::eFXSurfaceEffect, LayerMetadata(),
                                      std::make_optional(layer->id), true));
@@ -5429,7 +5429,7 @@ status_t SurfaceFlinger::mirrorLayer(const LayerCreationArgs& args,
        mirrorArgs.flags |= ISurfaceComposerClient::eNoColorFill;
        mirrorArgs.mirrorLayerHandle = mirrorFromHandle;
        mirrorArgs.addToRoot = false;
        status_t result = createEffectLayer(mirrorArgs, &outResult.handle, &mirrorLayer);
        status_t result = createLayer(mirrorArgs, &outResult.handle, &mirrorLayer);
        if (result != NO_ERROR) {
            return result;
        }
@@ -5467,7 +5467,7 @@ status_t SurfaceFlinger::mirrorDisplay(DisplayId displayId, const LayerCreationA
        mirrorArgs.flags |= ISurfaceComposerClient::eNoColorFill;
        mirrorArgs.addToRoot = true;
        mirrorArgs.layerStackToMirror = layerStack;
        result = createEffectLayer(mirrorArgs, &outResult.handle, &rootMirrorLayer);
        result = createLayer(mirrorArgs, &outResult.handle, &rootMirrorLayer);
        if (result != NO_ERROR) {
            return result;
        }
@@ -5493,7 +5493,7 @@ status_t SurfaceFlinger::createLayer(LayerCreationArgs& args, gui::CreateSurface
            args.flags |= ISurfaceComposerClient::eNoColorFill;
            [[fallthrough]];
        case ISurfaceComposerClient::eFXSurfaceEffect: {
            result = createBufferStateLayer(args, &outResult.handle, &layer);
            result = createLayer(args, &outResult.handle, &layer);
            if (result != NO_ERROR) {
                return result;
            }
@@ -5535,22 +5535,12 @@ status_t SurfaceFlinger::createLayer(LayerCreationArgs& args, gui::CreateSurface
    return result;
}

status_t SurfaceFlinger::createBufferStateLayer(LayerCreationArgs& args, sp<IBinder>* handle,
status_t SurfaceFlinger::createLayer(const LayerCreationArgs& args, sp<IBinder>* handle,
                                     sp<Layer>* outLayer) {
    if (checkLayerLeaks() != NO_ERROR) {
        return NO_MEMORY;
    }
    *outLayer = getFactory().createBufferStateLayer(args);
    *handle = (*outLayer)->getHandle();
    return NO_ERROR;
}

status_t SurfaceFlinger::createEffectLayer(const LayerCreationArgs& args, sp<IBinder>* handle,
                                           sp<Layer>* outLayer) {
    if (checkLayerLeaks() != NO_ERROR) {
        return NO_MEMORY;
    }
    *outLayer = getFactory().createEffectLayer(args);
    *outLayer = getFactory().createLayer(args);
    *handle = (*outLayer)->getHandle();
    return NO_ERROR;
}
+2 −5
Original line number Diff line number Diff line
@@ -842,10 +842,7 @@ private:
     */
    status_t createLayer(LayerCreationArgs& args, gui::CreateSurfaceResult& outResult);

    status_t createBufferStateLayer(LayerCreationArgs& args, sp<IBinder>* outHandle,
                                    sp<Layer>* outLayer);

    status_t createEffectLayer(const LayerCreationArgs& args, sp<IBinder>* outHandle,
    status_t createLayer(const LayerCreationArgs& args, sp<IBinder>* outHandle,
                         sp<Layer>* outLayer);

    // Checks if there are layer leaks before creating layer
+1 −5
Original line number Diff line number Diff line
@@ -77,11 +77,7 @@ std::unique_ptr<compositionengine::CompositionEngine> DefaultFactory::createComp
    return compositionengine::impl::createCompositionEngine();
}

sp<Layer> DefaultFactory::createBufferStateLayer(const LayerCreationArgs& args) {
    return sp<Layer>::make(args);
}

sp<Layer> DefaultFactory::createEffectLayer(const LayerCreationArgs& args) {
sp<Layer> DefaultFactory::createLayer(const LayerCreationArgs& args) {
    return sp<Layer>::make(args);
}

+1 −2
Original line number Diff line number Diff line
@@ -39,8 +39,7 @@ public:
    std::unique_ptr<surfaceflinger::NativeWindowSurface> createNativeWindowSurface(
            const sp<IGraphicBufferProducer>&) override;
    std::unique_ptr<compositionengine::CompositionEngine> createCompositionEngine() override;
    sp<Layer> createBufferStateLayer(const LayerCreationArgs& args) override;
    sp<Layer> createEffectLayer(const LayerCreationArgs& args) override;
    sp<Layer> createLayer(const LayerCreationArgs& args) override;
    sp<LayerFE> createLayerFE(const std::string& layerName, const Layer* owner) override;
    std::unique_ptr<FrameTracer> createFrameTracer() override;
    std::unique_ptr<frametimeline::FrameTimeline> createFrameTimeline(
+1 −2
Original line number Diff line number Diff line
@@ -83,8 +83,7 @@ public:

    virtual std::unique_ptr<compositionengine::CompositionEngine> createCompositionEngine() = 0;

    virtual sp<Layer> createBufferStateLayer(const LayerCreationArgs& args) = 0;
    virtual sp<Layer> createEffectLayer(const LayerCreationArgs& args) = 0;
    virtual sp<Layer> createLayer(const LayerCreationArgs& args) = 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(
Loading