1616
1717#pragma once
1818
19+ #include < ftl/optional.h>
20+ #include < memory>
21+ #include < utility>
22+ #include < vector>
23+
1924#include < compositionengine/CompositionEngine.h>
2025#include < compositionengine/LayerFECompositionState.h>
2126#include < compositionengine/Output.h>
2833#include < renderengine/DisplaySettings.h>
2934#include < renderengine/LayerSettings.h>
3035
31- #include < memory>
32- #include < utility>
33- #include < vector>
34-
3536namespace android ::compositionengine::impl {
3637
3738// The implementation class contains the common implementation, but does not
@@ -43,7 +44,7 @@ class Output : public virtual compositionengine::Output {
4344
4445 // compositionengine::Output overrides
4546 bool isValid () const override ;
46- std::optional <DisplayId> getDisplayId () const override ;
47+ ftl::Optional <DisplayId> getDisplayId () const override ;
4748 void setCompositionEnabled (bool ) override ;
4849 void setLayerCachingEnabled (bool ) override ;
4950 void setLayerCachingTexturePoolEnabled (bool ) override ;
@@ -84,13 +85,14 @@ class Output : public virtual compositionengine::Output {
8485 bool supportsOffloadPresent () const override { return false ; }
8586 void offloadPresentNextFrame () override ;
8687
87- void uncacheBuffers (const std::vector<uint64_t >& bufferIdsToUncache) override ;
8888 void rebuildLayerStacks (const CompositionRefreshArgs&, LayerFESet&) override ;
8989 void collectVisibleLayers (const CompositionRefreshArgs&,
9090 compositionengine::Output::CoverageState&) override ;
9191 void ensureOutputLayerIfVisible (sp<compositionengine::LayerFE>&,
9292 compositionengine::Output::CoverageState&) override ;
9393 void setReleasedLayers (const compositionengine::CompositionRefreshArgs&) override ;
94+ void uncacheBuffers (const std::vector<uint64_t >& bufferIdsToUncache) override ;
95+ void commitPictureProfilesToCompositionState ();
9496
9597 void updateCompositionState (const compositionengine::CompositionRefreshArgs&) override ;
9698 void planComposition () override ;
@@ -151,6 +153,9 @@ class Output : public virtual compositionengine::Output {
151153 void setHintSessionRequiresRenderEngine (bool requiresRenderEngine) override ;
152154 bool isPowerHintSessionEnabled () override ;
153155 bool isPowerHintSessionGpuReportingEnabled () override ;
156+ bool hasPictureProcessing () const override ;
157+ int32_t getMaxLayerPictureProfiles () const override ;
158+ void applyPictureProfile () override ;
154159 void dumpBase (std::string&) const ;
155160
156161 // Implemented by the final implementation for the final state it uses.
0 commit comments