drm_hwcomposer: Cleanup Planner class
Remove unused code.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
Tested-by: Martin Juecker <martin.juecker@gmail.com>
Reviewed-by: Matvii Zorin <matvii.zorin@globallogic.com>
diff --git a/compositor/Planner.h b/compositor/Planner.h
index b54a9be..ff059f5 100644
--- a/compositor/Planner.h
+++ b/compositor/Planner.h
@@ -32,53 +32,47 @@
class DrmDevice;
class Planner {
+ private:
+ // Removes and returns the next available plane from planes
+ static DrmPlane *PopPlane(std::vector<DrmPlane *> *planes) {
+ if (planes->empty())
+ return NULL;
+ DrmPlane *plane = planes->front();
+ planes->erase(planes->begin());
+ return plane;
+ }
+
+ // Inserts the given layer:plane in the composition at the back
+ static int Emplace(std::vector<DrmCompositionPlane> *composition,
+ std::vector<DrmPlane *> *planes,
+ std::pair<size_t, DrmHwcLayer *> layer) {
+ DrmPlane *plane = PopPlane(planes);
+ std::vector<DrmPlane *> unused_planes;
+ int ret = -ENOENT;
+ while (plane) {
+ ret = plane->IsValidForLayer(layer.second) ? 0 : -EINVAL;
+ if (!ret)
+ break;
+ if (!plane->zpos_property().is_immutable())
+ unused_planes.push_back(plane);
+ plane = PopPlane(planes);
+ }
+
+ if (!ret) {
+ composition->emplace_back(plane, layer.first);
+ planes->insert(planes->begin(), unused_planes.begin(),
+ unused_planes.end());
+ }
+
+ return ret;
+ }
+
+ int ProvisionPlanesInternal(std::vector<DrmCompositionPlane> *composition,
+ std::map<size_t, DrmHwcLayer *> &layers,
+ std::vector<DrmPlane *> *planes);
+
public:
- class PlanStage {
- public:
- virtual ~PlanStage() {
- }
-
- virtual int ProvisionPlanes(std::vector<DrmCompositionPlane> *composition,
- std::map<size_t, DrmHwcLayer *> &layers,
- std::vector<DrmPlane *> *planes) = 0;
-
- protected:
- // Removes and returns the next available plane from planes
- static DrmPlane *PopPlane(std::vector<DrmPlane *> *planes) {
- if (planes->empty())
- return NULL;
- DrmPlane *plane = planes->front();
- planes->erase(planes->begin());
- return plane;
- }
-
- // Inserts the given layer:plane in the composition at the back
- static int Emplace(std::vector<DrmCompositionPlane> *composition,
- std::vector<DrmPlane *> *planes,
- std::pair<size_t, DrmHwcLayer *> layer) {
- DrmPlane *plane = PopPlane(planes);
- std::vector<DrmPlane *> unused_planes;
- int ret = -ENOENT;
- while (plane) {
- ret = plane->IsValidForLayer(layer.second) ? 0 : -EINVAL;
- if (!ret)
- break;
- if (!plane->zpos_property().is_immutable())
- unused_planes.push_back(plane);
- plane = PopPlane(planes);
- }
-
- if (!ret) {
- composition->emplace_back(plane, layer.first);
- planes->insert(planes->begin(), unused_planes.begin(),
- unused_planes.end());
- }
-
- return ret;
- }
- };
-
- // Creates a planner instance with platform-specific planning stages
+ // Creates a planner instance
static std::unique_ptr<Planner> CreateInstance(DrmDevice *drm);
// Takes a stack of layers and provisions hardware planes for them. If the
@@ -95,37 +89,10 @@
std::vector<DrmPlane *> *primary_planes,
std::vector<DrmPlane *> *overlay_planes);
- template <typename T, typename... A>
- void AddStage(A &&...args) {
- stages_.emplace_back(
- std::unique_ptr<PlanStage>(new T(std::forward(args)...)));
- }
-
private:
std::vector<DrmPlane *> GetUsablePlanes(
DrmCrtc *crtc, std::vector<DrmPlane *> *primary_planes,
std::vector<DrmPlane *> *overlay_planes);
-
- std::vector<std::unique_ptr<PlanStage>> stages_;
-};
-
-// This plan stage extracts all protected layers and places them on dedicated
-// planes.
-class PlanStageProtected : public Planner::PlanStage {
- public:
- int ProvisionPlanes(std::vector<DrmCompositionPlane> *composition,
- std::map<size_t, DrmHwcLayer *> &layers,
- std::vector<DrmPlane *> *planes);
-};
-
-// This plan stage places as many layers on dedicated planes as possible (first
-// come first serve), and then sticks the rest in a precomposition plane (if
-// needed).
-class PlanStageGreedy : public Planner::PlanStage {
- public:
- int ProvisionPlanes(std::vector<DrmCompositionPlane> *composition,
- std::map<size_t, DrmHwcLayer *> &layers,
- std::vector<DrmPlane *> *planes);
};
} // namespace android
#endif