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

Commit 34885120 authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "Revert "SF: Predict HWC composition strategy"" into tm-dev

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

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

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

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

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

namespace android {

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

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

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

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

protected:
    virtual void setDisplayColorProfile(std::unique_ptr<DisplayColorProfile>) = 0;
    virtual void setRenderSurface(std::unique_ptr<RenderSurface>) = 0;
@@ -283,22 +278,13 @@ protected:
    virtual void updateColorProfile(const CompositionRefreshArgs&) = 0;
    virtual void beginFrame() = 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 finishFrame(const CompositionRefreshArgs&, GpuCompositionResult&&) = 0;
    virtual void finishFrame(const CompositionRefreshArgs&) = 0;
    virtual std::optional<base::unique_fd> composeSurfaces(
            const Region&, const compositionengine::CompositionRefreshArgs&,
            std::shared_ptr<renderengine::ExternalTexture>, base::unique_fd&) = 0;
            const Region&, const compositionengine::CompositionRefreshArgs& refreshArgs) = 0;
    virtual void postFramebuffer() = 0;
    virtual void renderCachedSets(const CompositionRefreshArgs&) = 0;
    virtual std::optional<android::HWComposer::DeviceRequestedChanges>
    chooseCompositionStrategy() = 0;
    virtual void applyCompositionStrategy(
            const std::optional<android::HWComposer::DeviceRequestedChanges>& changes) = 0;
    virtual void chooseCompositionStrategy() = 0;
    virtual bool getSkipColorTransform() const = 0;
    virtual FrameFences presentAndGetFrameFences() = 0;
    virtual std::vector<LayerFE::LayerSettings> generateClientCompositionRequests(
@@ -309,7 +295,6 @@ protected:
            std::vector<LayerFE::LayerSettings>& clientCompositionLayers) = 0;
    virtual void setExpensiveRenderingExpected(bool enabled) = 0;
    virtual void cacheClientCompositionRequests(uint32_t cacheSize) = 0;
    virtual bool canPredictCompositionStrategy(const CompositionRefreshArgs&) = 0;
};

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

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

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

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

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

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