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>
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 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 @@
return geometry_changed_;
}
- uint64_t frame_no() const {
- return frame_no_;
- }
-
DrmCompositionType type() const {
return type_;
}
@@ -155,10 +148,6 @@
return crtc_;
}
- Importer *importer() const {
- return importer_;
- }
-
Planner *planner() const {
return planner_;
}
@@ -176,9 +165,7 @@
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 @@
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 @@
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 @@
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 @@
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);