Loading services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +2 −1 Original line number Diff line number Diff line Loading @@ -163,7 +163,8 @@ public: // Sets the projection state to use virtual void setProjection(const ui::Transform&, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) = 0; const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) = 0; // Sets the bounds to use virtual void setBounds(const ui::Size&) = 0; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +2 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,8 @@ public: std::optional<DisplayId> getDisplayId() const override; void setCompositionEnabled(bool) override; void setProjection(const ui::Transform&, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) override; const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) override; void setBounds(const ui::Size&) override; void setLayerStackFilter(uint32_t layerStackId, bool isInternal) override; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputCompositionState.h +5 −2 Original line number Diff line number Diff line Loading @@ -79,8 +79,11 @@ struct OutputCompositionState { // The logical space user viewport rectangle Rect viewport; // The physical space scissor rectangle Rect scissor; // The physical space source clip rectangle Rect sourceClip; // The physical space destination clip rectangle Rect destinationClip; // If true, RenderEngine filtering should be enabled bool needsFiltering{false}; Loading services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +3 −2 Original line number Diff line number Diff line Loading @@ -37,8 +37,9 @@ public: MOCK_CONST_METHOD0(getDisplayId, std::optional<DisplayId>()); MOCK_METHOD1(setCompositionEnabled, void(bool)); MOCK_METHOD6(setProjection, void(const ui::Transform&, uint32_t, const Rect&, const Rect&, const Rect&, bool)); MOCK_METHOD7(setProjection, void(const ui::Transform&, uint32_t, const Rect&, const Rect&, const Rect&, const Rect&, bool)); MOCK_METHOD1(setBounds, void(const ui::Size&)); MOCK_METHOD2(setLayerStackFilter, void(uint32_t, bool)); Loading services/surfaceflinger/CompositionEngine/src/Output.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -107,11 +107,13 @@ void Output::setCompositionEnabled(bool enabled) { } void Output::setProjection(const ui::Transform& transform, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) { const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) { auto& outputState = editState(); outputState.transform = transform; outputState.orientation = orientation; outputState.scissor = scissor; outputState.sourceClip = sourceClip; outputState.destinationClip = destinationClip; outputState.frame = frame; outputState.viewport = viewport; outputState.needsFiltering = needsFiltering; Loading Loading @@ -834,8 +836,8 @@ std::optional<base::unique_fd> Output::composeSurfaces(const Region& debugRegion const bool supportsProtectedContent = renderEngine.supportsProtectedContent(); renderengine::DisplaySettings clientCompositionDisplay; clientCompositionDisplay.physicalDisplay = outputState.scissor; clientCompositionDisplay.clip = outputState.scissor; clientCompositionDisplay.physicalDisplay = outputState.destinationClip; clientCompositionDisplay.clip = outputState.sourceClip; clientCompositionDisplay.globalTransform = outputState.transform.asMatrix4(); clientCompositionDisplay.orientation = outputState.orientation; clientCompositionDisplay.outputDataspace = mDisplayColorProfile->hasWideColorGamut() Loading Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/Output.h +2 −1 Original line number Diff line number Diff line Loading @@ -163,7 +163,8 @@ public: // Sets the projection state to use virtual void setProjection(const ui::Transform&, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) = 0; const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) = 0; // Sets the bounds to use virtual void setBounds(const ui::Size&) = 0; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/Output.h +2 −1 Original line number Diff line number Diff line Loading @@ -39,7 +39,8 @@ public: std::optional<DisplayId> getDisplayId() const override; void setCompositionEnabled(bool) override; void setProjection(const ui::Transform&, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) override; const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) override; void setBounds(const ui::Size&) override; void setLayerStackFilter(uint32_t layerStackId, bool isInternal) override; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/impl/OutputCompositionState.h +5 −2 Original line number Diff line number Diff line Loading @@ -79,8 +79,11 @@ struct OutputCompositionState { // The logical space user viewport rectangle Rect viewport; // The physical space scissor rectangle Rect scissor; // The physical space source clip rectangle Rect sourceClip; // The physical space destination clip rectangle Rect destinationClip; // If true, RenderEngine filtering should be enabled bool needsFiltering{false}; Loading
services/surfaceflinger/CompositionEngine/include/compositionengine/mock/Output.h +3 −2 Original line number Diff line number Diff line Loading @@ -37,8 +37,9 @@ public: MOCK_CONST_METHOD0(getDisplayId, std::optional<DisplayId>()); MOCK_METHOD1(setCompositionEnabled, void(bool)); MOCK_METHOD6(setProjection, void(const ui::Transform&, uint32_t, const Rect&, const Rect&, const Rect&, bool)); MOCK_METHOD7(setProjection, void(const ui::Transform&, uint32_t, const Rect&, const Rect&, const Rect&, const Rect&, bool)); MOCK_METHOD1(setBounds, void(const ui::Size&)); MOCK_METHOD2(setLayerStackFilter, void(uint32_t, bool)); Loading
services/surfaceflinger/CompositionEngine/src/Output.cpp +6 −4 Original line number Diff line number Diff line Loading @@ -107,11 +107,13 @@ void Output::setCompositionEnabled(bool enabled) { } void Output::setProjection(const ui::Transform& transform, uint32_t orientation, const Rect& frame, const Rect& viewport, const Rect& scissor, bool needsFiltering) { const Rect& viewport, const Rect& sourceClip, const Rect& destinationClip, bool needsFiltering) { auto& outputState = editState(); outputState.transform = transform; outputState.orientation = orientation; outputState.scissor = scissor; outputState.sourceClip = sourceClip; outputState.destinationClip = destinationClip; outputState.frame = frame; outputState.viewport = viewport; outputState.needsFiltering = needsFiltering; Loading Loading @@ -834,8 +836,8 @@ std::optional<base::unique_fd> Output::composeSurfaces(const Region& debugRegion const bool supportsProtectedContent = renderEngine.supportsProtectedContent(); renderengine::DisplaySettings clientCompositionDisplay; clientCompositionDisplay.physicalDisplay = outputState.scissor; clientCompositionDisplay.clip = outputState.scissor; clientCompositionDisplay.physicalDisplay = outputState.destinationClip; clientCompositionDisplay.clip = outputState.sourceClip; clientCompositionDisplay.globalTransform = outputState.transform.asMatrix4(); clientCompositionDisplay.orientation = outputState.orientation; clientCompositionDisplay.outputDataspace = mDisplayColorProfile->hasWideColorGamut() Loading