Loading services/surfaceflinger/CompositionEngine/include/compositionengine/CompositionEngine.h +3 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,9 @@ public: virtual bool needsAnotherUpdate() const = 0; virtual nsecs_t getLastFrameRefreshTimestamp() const = 0; // Updates the cursor position for the indicated outputs. virtual void updateCursorAsync(CompositionRefreshArgs&) = 0; // TODO(b/121291683): These will become private/internal virtual void preComposition(CompositionRefreshArgs&) = 0; }; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFE.h +4 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,10 @@ public: // geometry state can be skipped. virtual void latchCompositionState(LayerFECompositionState&, bool includeGeometry) const = 0; // Latches the minimal bit of state for the cursor for a fast asynchronous // update. virtual void latchCursorCompositionState(LayerFECompositionState&) const = 0; struct ClientCompositionTargetSettings { // The clip region, or visible region that is being rendered to const Region& clip; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h +7 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,13 @@ struct LayerFECompositionState { // True if the layer has protected content bool hasProtectedContent{false}; /* * Cursor state */ // The output-independent frame for the cursor Rect cursorFrame; }; } // namespace android::compositionengine services/surfaceflinger/CompositionEngine/include/compositionengine/OutputLayer.h +6 −0 Original line number Diff line number Diff line Loading @@ -78,12 +78,18 @@ public: // skipped. virtual void writeStateToHWC(bool includeGeometry) = 0; // Updates the cursor position with the HWC virtual void writeCursorPositionToHWC() const = 0; // Returns the HWC2::Layer associated with this layer, if it exists virtual HWC2::Layer* getHwcLayer() const = 0; // Returns true if the current layer state requires client composition virtual bool requiresClientComposition() const = 0; // Returns true if the current layer should be treated as a cursor layer virtual bool isHardwareCursor() const = 0; // Applies a HWC device requested composition type change virtual void applyDeviceCompositionTypeChange(Hwc2::IComposerClient::Composition) = 0; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/CompositionEngine.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ public: bool needsAnotherUpdate() const override; nsecs_t getLastFrameRefreshTimestamp() const override; void updateCursorAsync(CompositionRefreshArgs&) override; void preComposition(CompositionRefreshArgs&) override; // Testing Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/CompositionEngine.h +3 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,9 @@ public: virtual bool needsAnotherUpdate() const = 0; virtual nsecs_t getLastFrameRefreshTimestamp() const = 0; // Updates the cursor position for the indicated outputs. virtual void updateCursorAsync(CompositionRefreshArgs&) = 0; // TODO(b/121291683): These will become private/internal virtual void preComposition(CompositionRefreshArgs&) = 0; }; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFE.h +4 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,10 @@ public: // geometry state can be skipped. virtual void latchCompositionState(LayerFECompositionState&, bool includeGeometry) const = 0; // Latches the minimal bit of state for the cursor for a fast asynchronous // update. virtual void latchCursorCompositionState(LayerFECompositionState&) const = 0; struct ClientCompositionTargetSettings { // The clip region, or visible region that is being rendered to const Region& clip; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/LayerFECompositionState.h +7 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,13 @@ struct LayerFECompositionState { // True if the layer has protected content bool hasProtectedContent{false}; /* * Cursor state */ // The output-independent frame for the cursor Rect cursorFrame; }; } // namespace android::compositionengine
services/surfaceflinger/CompositionEngine/include/compositionengine/OutputLayer.h +6 −0 Original line number Diff line number Diff line Loading @@ -78,12 +78,18 @@ public: // skipped. virtual void writeStateToHWC(bool includeGeometry) = 0; // Updates the cursor position with the HWC virtual void writeCursorPositionToHWC() const = 0; // Returns the HWC2::Layer associated with this layer, if it exists virtual HWC2::Layer* getHwcLayer() const = 0; // Returns true if the current layer state requires client composition virtual bool requiresClientComposition() const = 0; // Returns true if the current layer should be treated as a cursor layer virtual bool isHardwareCursor() const = 0; // Applies a HWC device requested composition type change virtual void applyDeviceCompositionTypeChange(Hwc2::IComposerClient::Composition) = 0; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/CompositionEngine.h +2 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,8 @@ public: bool needsAnotherUpdate() const override; nsecs_t getLastFrameRefreshTimestamp() const override; void updateCursorAsync(CompositionRefreshArgs&) override; void preComposition(CompositionRefreshArgs&) override; // Testing Loading