diff options
author | Matvii Zorin <matvii.zorin@globallogic.com> | 2021-01-08 12:55:45 +0200 |
---|---|---|
committer | Matvii Zorin <matvii.zorin@globallogic.com> | 2021-04-06 12:46:22 +0300 |
commit | 704ea0e8fb58b68f46e8a1207dec3615514aa4ad (patch) | |
tree | 2bffb5dda65c73f263456a553ad9ad71375bfddb | |
parent | d21071f7d5eaa8385fac8eabee73c17d2868775d (diff) | |
download | drm_hwcomposer-704ea0e8fb58b68f46e8a1207dec3615514aa4ad.tar.gz |
drm_hwcomposer: Cleanup DrmDisplayComposition initialization
Remove unused members (drm, importer, frame_no). Move initialization
from the proper function to the constructor.
Signed-off-by: Matvii Zorin <matvii.zorin@globallogic.com>
-rw-r--r-- | DrmHwcTwo.cpp | 15 | ||||
-rw-r--r-- | compositor/DrmDisplayComposition.cpp | 13 | ||||
-rw-r--r-- | compositor/DrmDisplayComposition.h | 19 | ||||
-rw-r--r-- | compositor/DrmDisplayCompositor.cpp | 19 | ||||
-rw-r--r-- | compositor/DrmDisplayCompositor.h | 1 |
5 files changed, 13 insertions, 54 deletions
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp index 056b167..617dddb 100644 --- a/DrmHwcTwo.cpp +++ b/DrmHwcTwo.cpp @@ -669,9 +669,8 @@ HWC2::Error DrmHwcTwo::HwcDisplay::CreateComposition(bool test) { map.layers.emplace_back(std::move(layer)); } - std::unique_ptr<DrmDisplayComposition> composition = compositor_ - .CreateComposition(); - composition->Init(drm_, crtc_, importer_.get(), planner_.get(), frame_no_); + auto composition = std::make_unique<DrmDisplayComposition>(crtc_, + planner_.get()); // TODO(nobody): Don't always assume geometry changed int ret = composition->SetLayers(map.layers.data(), map.layers.size(), true); @@ -748,9 +747,8 @@ HWC2::Error DrmHwcTwo::HwcDisplay::SetActiveConfig(hwc2_config_t config) { return HWC2::Error::BadConfig; } - std::unique_ptr<DrmDisplayComposition> composition = compositor_ - .CreateComposition(); - composition->Init(drm_, crtc_, importer_.get(), planner_.get(), frame_no_); + auto composition = std::make_unique<DrmDisplayComposition>(crtc_, + planner_.get()); int ret = composition->SetDisplayMode(*mode); if (ret) { return HWC2::Error::BadConfig; @@ -854,9 +852,8 @@ HWC2::Error DrmHwcTwo::HwcDisplay::SetPowerMode(int32_t mode_in) { return HWC2::Error::BadParameter; }; - std::unique_ptr<DrmDisplayComposition> composition = compositor_ - .CreateComposition(); - composition->Init(drm_, crtc_, importer_.get(), planner_.get(), frame_no_); + auto composition = std::make_unique<DrmDisplayComposition>(crtc_, + planner_.get()); composition->SetDpmsMode(dpms_value); int ret = compositor_.ApplyComposition(std::move(composition)); if (ret) { diff --git a/compositor/DrmDisplayComposition.cpp b/compositor/DrmDisplayComposition.cpp index 31d8693..0d1278e 100644 --- a/compositor/DrmDisplayComposition.cpp +++ b/compositor/DrmDisplayComposition.cpp @@ -32,16 +32,9 @@ namespace android { -int DrmDisplayComposition::Init(DrmDevice *drm, DrmCrtc *crtc, - Importer *importer, Planner *planner, - uint64_t frame_no) { - drm_ = drm; - crtc_ = crtc; // Can be NULL if we haven't modeset yet - importer_ = importer; - planner_ = planner; - frame_no_ = frame_no; - - return 0; +DrmDisplayComposition::DrmDisplayComposition(DrmCrtc *crtc, Planner *planner) + : crtc_(crtc), // Can be NULL if we haven't modeset yet + planner_(planner) { } bool DrmDisplayComposition::validate_composition_type(DrmCompositionType des) { diff --git a/compositor/DrmDisplayComposition.h b/compositor/DrmDisplayComposition.h index 5d99d23..3a10a8c 100644 --- a/compositor/DrmDisplayComposition.h +++ b/compositor/DrmDisplayComposition.h @@ -107,13 +107,10 @@ class DrmCompositionPlane { class DrmDisplayComposition { public: - DrmDisplayComposition() = default; DrmDisplayComposition(const DrmDisplayComposition &) = delete; + DrmDisplayComposition(DrmCrtc *crtc, Planner *planner); ~DrmDisplayComposition() = default; - int Init(DrmDevice *drm, DrmCrtc *crtc, Importer *importer, Planner *planner, - uint64_t frame_no); - int SetLayers(DrmHwcLayer *layers, size_t num_layers, bool geometry_changed); int AddPlaneComposition(DrmCompositionPlane plane); int AddPlaneDisable(DrmPlane *plane); @@ -135,10 +132,6 @@ class DrmDisplayComposition { return geometry_changed_; } - uint64_t frame_no() const { - return frame_no_; - } - DrmCompositionType type() const { return type_; } @@ -155,10 +148,6 @@ class DrmDisplayComposition { return crtc_; } - Importer *importer() const { - return importer_; - } - Planner *planner() const { return planner_; } @@ -176,9 +165,7 @@ class DrmDisplayComposition { private: bool validate_composition_type(DrmCompositionType desired); - DrmDevice *drm_ = NULL; DrmCrtc *crtc_ = NULL; - Importer *importer_ = NULL; Planner *planner_ = NULL; DrmCompositionType type_ = DRM_COMPOSITION_TYPE_EMPTY; @@ -187,11 +174,9 @@ class DrmDisplayComposition { UniqueFd out_fence_ = -1; - bool geometry_changed_; + bool geometry_changed_ = true; std::vector<DrmHwcLayer> layers_; std::vector<DrmCompositionPlane> composition_planes_; - - uint64_t frame_no_ = 0; }; } // namespace android diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp index fd60f97..e063385 100644 --- a/compositor/DrmDisplayCompositor.cpp +++ b/compositor/DrmDisplayCompositor.cpp @@ -125,11 +125,6 @@ int DrmDisplayCompositor::Init(ResourceManager *resource_manager, int display) { return 0; } -std::unique_ptr<DrmDisplayComposition> DrmDisplayCompositor::CreateComposition() - const { - return std::make_unique<DrmDisplayComposition>(); -} - std::unique_ptr<DrmDisplayComposition> DrmDisplayCompositor::CreateInitializedComposition() const { DrmDevice *drm = resource_manager_->GetDrmDevice(display_); @@ -138,18 +133,8 @@ DrmDisplayCompositor::CreateInitializedComposition() const { ALOGE("Failed to find crtc for display = %d", display_); return std::unique_ptr<DrmDisplayComposition>(); } - std::unique_ptr<DrmDisplayComposition> comp = CreateComposition(); - std::shared_ptr<Importer> importer = resource_manager_->GetImporter(display_); - if (!importer) { - ALOGE("Failed to find resources for display = %d", display_); - return std::unique_ptr<DrmDisplayComposition>(); - } - int ret = comp->Init(drm, crtc, importer.get(), planner_.get(), 0); - if (ret) { - ALOGE("Failed to init composition for display = %d", display_); - return std::unique_ptr<DrmDisplayComposition>(); - } - return comp; + + return std::make_unique<DrmDisplayComposition>(crtc, planner_.get()); } FlatteningState DrmDisplayCompositor::GetFlatteningState() const { diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h index 9ce91b7..aebb6ff 100644 --- a/compositor/DrmDisplayCompositor.h +++ b/compositor/DrmDisplayCompositor.h @@ -65,7 +65,6 @@ class DrmDisplayCompositor { refresh_callback_hook_ = reinterpret_cast<HWC2_PFN_REFRESH>(hook); } - std::unique_ptr<DrmDisplayComposition> CreateComposition() const; std::unique_ptr<DrmDisplayComposition> CreateInitializedComposition() const; int ApplyComposition(std::unique_ptr<DrmDisplayComposition> composition); int TestComposition(DrmDisplayComposition *composition); |