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

Commit 6fe2befa authored by Robert Carr's avatar Robert Carr Committed by Rob Carr
Browse files

Revert "SF: Predict HWC composition strategy"

This reverts commit 7234fa59.

Change-Id: I908f9c279bb91ce2ee654a05eb8ac8d0057caa47
Bug: 223543469
parent a00eb14c
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -41,10 +41,6 @@ cc_defaults {
        "libtonemap",
        "libtonemap",
        "libtrace_proto",
        "libtrace_proto",
        "libaidlcommonsupport",
        "libaidlcommonsupport",
        "libprocessgroup",
        "libcgrouprc",
        "libjsoncpp",
        "libcgrouprc_format",
    ],
    ],
    header_libs: [
    header_libs: [
        "android.hardware.graphics.composer@2.1-command-buffer",
        "android.hardware.graphics.composer@2.1-command-buffer",
@@ -72,7 +68,6 @@ cc_library {
        "src/DisplayColorProfile.cpp",
        "src/DisplayColorProfile.cpp",
        "src/DisplaySurface.cpp",
        "src/DisplaySurface.cpp",
        "src/DumpHelpers.cpp",
        "src/DumpHelpers.cpp",
        "src/HwcAsyncWorker.cpp",
        "src/HwcBufferCache.cpp",
        "src/HwcBufferCache.cpp",
        "src/LayerFECompositionState.cpp",
        "src/LayerFECompositionState.cpp",
        "src/Output.cpp",
        "src/Output.cpp",
+0 −3
Original line number Original line Diff line number Diff line
@@ -72,9 +72,6 @@ public:
    virtual void resizeBuffers(const ui::Size&) = 0;
    virtual void resizeBuffers(const ui::Size&) = 0;


    virtual const sp<Fence>& getClientTargetAcquireFence() const = 0;
    virtual const sp<Fence>& getClientTargetAcquireFence() const = 0;

    // Returns true if the render surface supports client composition prediction.
    virtual bool supportsCompositionStrategyPrediction() const;
};
};


} // namespace compositionengine
} // namespace compositionengine
+3 −18
Original line number Original line Diff line number Diff line
@@ -35,7 +35,6 @@
#include <utils/Vector.h>
#include <utils/Vector.h>


#include <ui/DisplayIdentification.h>
#include <ui/DisplayIdentification.h>
#include "DisplayHardware/HWComposer.h"


namespace android {
namespace android {


@@ -55,7 +54,6 @@ struct LayerFECompositionState;


namespace impl {
namespace impl {
struct OutputCompositionState;
struct OutputCompositionState;
struct GpuCompositionResult;
} // namespace impl
} // namespace impl


/**
/**
@@ -264,9 +262,6 @@ public:
    // Latches the front-end layer state for each output layer
    // Latches the front-end layer state for each output layer
    virtual void updateLayerStateFromFE(const CompositionRefreshArgs&) const = 0;
    virtual void updateLayerStateFromFE(const CompositionRefreshArgs&) const = 0;


    // Enables predicting composition strategy to run client composition earlier
    virtual void setPredictCompositionStrategy(bool) = 0;

protected:
protected:
    virtual void setDisplayColorProfile(std::unique_ptr<DisplayColorProfile>) = 0;
    virtual void setDisplayColorProfile(std::unique_ptr<DisplayColorProfile>) = 0;
    virtual void setRenderSurface(std::unique_ptr<RenderSurface>) = 0;
    virtual void setRenderSurface(std::unique_ptr<RenderSurface>) = 0;
@@ -283,22 +278,13 @@ protected:
    virtual void updateColorProfile(const CompositionRefreshArgs&) = 0;
    virtual void updateColorProfile(const CompositionRefreshArgs&) = 0;
    virtual void beginFrame() = 0;
    virtual void beginFrame() = 0;
    virtual void prepareFrame() = 0;
    virtual void prepareFrame() = 0;

    using GpuCompositionResult = compositionengine::impl::GpuCompositionResult;
    // Runs prepare frame in another thread while running client composition using
    // the previous frame's composition strategy.
    virtual GpuCompositionResult prepareFrameAsync(const CompositionRefreshArgs&) = 0;
    virtual void devOptRepaintFlash(const CompositionRefreshArgs&) = 0;
    virtual void devOptRepaintFlash(const CompositionRefreshArgs&) = 0;
    virtual void finishFrame(const CompositionRefreshArgs&, GpuCompositionResult&&) = 0;
    virtual void finishFrame(const CompositionRefreshArgs&) = 0;
    virtual std::optional<base::unique_fd> composeSurfaces(
    virtual std::optional<base::unique_fd> composeSurfaces(
            const Region&, const compositionengine::CompositionRefreshArgs&,
            const Region&, const compositionengine::CompositionRefreshArgs& refreshArgs) = 0;
            std::shared_ptr<renderengine::ExternalTexture>, base::unique_fd&) = 0;
    virtual void postFramebuffer() = 0;
    virtual void postFramebuffer() = 0;
    virtual void renderCachedSets(const CompositionRefreshArgs&) = 0;
    virtual void renderCachedSets(const CompositionRefreshArgs&) = 0;
    virtual std::optional<android::HWComposer::DeviceRequestedChanges>
    virtual void chooseCompositionStrategy() = 0;
    chooseCompositionStrategy() = 0;
    virtual void applyCompositionStrategy(
            const std::optional<android::HWComposer::DeviceRequestedChanges>& changes) = 0;
    virtual bool getSkipColorTransform() const = 0;
    virtual bool getSkipColorTransform() const = 0;
    virtual FrameFences presentAndGetFrameFences() = 0;
    virtual FrameFences presentAndGetFrameFences() = 0;
    virtual std::vector<LayerFE::LayerSettings> generateClientCompositionRequests(
    virtual std::vector<LayerFE::LayerSettings> generateClientCompositionRequests(
@@ -309,7 +295,6 @@ protected:
            std::vector<LayerFE::LayerSettings>& clientCompositionLayers) = 0;
            std::vector<LayerFE::LayerSettings>& clientCompositionLayers) = 0;
    virtual void setExpensiveRenderingExpected(bool enabled) = 0;
    virtual void setExpensiveRenderingExpected(bool enabled) = 0;
    virtual void cacheClientCompositionRequests(uint32_t cacheSize) = 0;
    virtual void cacheClientCompositionRequests(uint32_t cacheSize) = 0;
    virtual bool canPredictCompositionStrategy(const CompositionRefreshArgs&) = 0;
};
};


} // namespace compositionengine
} // namespace compositionengine
+0 −3
Original line number Original line Diff line number Diff line
@@ -100,9 +100,6 @@ public:


    // Debugging - gets the page flip count for the RenderSurface
    // Debugging - gets the page flip count for the RenderSurface
    virtual std::uint32_t getPageFlipCount() const = 0;
    virtual std::uint32_t getPageFlipCount() const = 0;

    // Returns true if the render surface supports client composition prediction.
    virtual bool supportsCompositionStrategyPrediction() const = 0;
};
};


} // namespace compositionengine
} // namespace compositionengine
+3 −6
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@
#include <compositionengine/DisplayColorProfile.h>
#include <compositionengine/DisplayColorProfile.h>
#include <compositionengine/DisplayCreationArgs.h>
#include <compositionengine/DisplayCreationArgs.h>
#include <compositionengine/RenderSurface.h>
#include <compositionengine/RenderSurface.h>
#include <compositionengine/impl/GpuCompositionResult.h>
#include <compositionengine/impl/Output.h>
#include <compositionengine/impl/Output.h>
#include <ui/PixelFormat.h>
#include <ui/PixelFormat.h>
#include <ui/Size.h>
#include <ui/Size.h>
@@ -52,14 +51,11 @@ public:
    void setReleasedLayers(const CompositionRefreshArgs&) override;
    void setReleasedLayers(const CompositionRefreshArgs&) override;
    void setColorTransform(const CompositionRefreshArgs&) override;
    void setColorTransform(const CompositionRefreshArgs&) override;
    void setColorProfile(const ColorProfile&) override;
    void setColorProfile(const ColorProfile&) override;

    void chooseCompositionStrategy() override;
    using DeviceRequestedChanges = android::HWComposer::DeviceRequestedChanges;
    std::optional<DeviceRequestedChanges> chooseCompositionStrategy() override;
    void applyCompositionStrategy(const std::optional<DeviceRequestedChanges>&) override;
    bool getSkipColorTransform() const override;
    bool getSkipColorTransform() const override;
    compositionengine::Output::FrameFences presentAndGetFrameFences() override;
    compositionengine::Output::FrameFences presentAndGetFrameFences() override;
    void setExpensiveRenderingExpected(bool) override;
    void setExpensiveRenderingExpected(bool) override;
    void finishFrame(const CompositionRefreshArgs&, GpuCompositionResult&&) override;
    void finishFrame(const CompositionRefreshArgs&) override;


    // compositionengine::Display overrides
    // compositionengine::Display overrides
    DisplayId getId() const override;
    DisplayId getId() const override;
@@ -77,6 +73,7 @@ public:
    using DisplayRequests = android::HWComposer::DeviceRequestedChanges::DisplayRequests;
    using DisplayRequests = android::HWComposer::DeviceRequestedChanges::DisplayRequests;
    using LayerRequests = android::HWComposer::DeviceRequestedChanges::LayerRequests;
    using LayerRequests = android::HWComposer::DeviceRequestedChanges::LayerRequests;
    using ClientTargetProperty = android::HWComposer::DeviceRequestedChanges::ClientTargetProperty;
    using ClientTargetProperty = android::HWComposer::DeviceRequestedChanges::ClientTargetProperty;
    virtual bool anyLayersRequireClientComposition() const;
    virtual bool allLayersRequireClientComposition() const;
    virtual bool allLayersRequireClientComposition() const;
    virtual void applyChangedTypesToLayers(const ChangedTypes&);
    virtual void applyChangedTypesToLayers(const ChangedTypes&);
    virtual void applyDisplayRequests(const DisplayRequests&);
    virtual void applyDisplayRequests(const DisplayRequests&);
Loading