aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Stratiienko <r.stratiienko@gmail.com>2020-08-29 22:16:21 +0300
committerRoman Stratiienko <r.stratiienko@gmail.com>2020-09-12 09:18:27 +0300
commitf2393a48d10d792b79b5ac498f28f77d886910df (patch)
tree54da485a9b88df242f0fc2592011e36fa83c9a59
parentadc5d8229b9ce25f1bf0e4d02bb838eae62b89fc (diff)
downloaddrm_hwcomposer-f2393a48d10d792b79b5ac498f28f77d886910df.tar.gz
drm_hwcomposer: always use PlanStageGreedy
Only PlatformHisi has custom planner. It doesn't makes much sense since for HISI all composition is done on client side and planner should never get buffers with usage flag other than GRALLOC_USAGE_HW_FB. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com> Change-Id: I3db3f96165f4c3aacb8bc43c8ee3ebc877163e1b
-rw-r--r--platform/platformdrmgeneric.cpp2
-rw-r--r--platform/platformhisi.cpp38
-rw-r--r--platform/platformimagination.cpp5
-rw-r--r--platform/platformmeson.cpp5
-rw-r--r--platform/platformminigbm.cpp6
5 files changed, 0 insertions, 56 deletions
diff --git a/platform/platformdrmgeneric.cpp b/platform/platformdrmgeneric.cpp
index d903031..deac477 100644
--- a/platform/platformdrmgeneric.cpp
+++ b/platform/platformdrmgeneric.cpp
@@ -354,13 +354,11 @@ bool DrmGenericImporter::CanImportBuffer(buffer_handle_t handle) {
return true;
}
-#ifdef USE_DRM_GENERIC_IMPORTER
std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
std::unique_ptr<Planner> planner(new Planner);
planner->AddStage<PlanStageGreedy>();
return planner;
}
-#endif
int DrmGenericImporter::ImportHandle(uint32_t gem_handle) {
gem_refcount_[gem_handle]++;
diff --git a/platform/platformhisi.cpp b/platform/platformhisi.cpp
index 8c10e34..67793db 100644
--- a/platform/platformhisi.cpp
+++ b/platform/platformhisi.cpp
@@ -152,42 +152,4 @@ int HisiImporter::ConvertBoInfo(buffer_handle_t handle, hwc_drm_bo_t *bo) {
return 0;
}
-class PlanStageHiSi : public Planner::PlanStage {
- public:
- int ProvisionPlanes(std::vector<DrmCompositionPlane> *composition,
- std::map<size_t, DrmHwcLayer *> &layers, DrmCrtc *crtc,
- std::vector<DrmPlane *> *planes) {
- int layers_added = 0;
- // Fill up as many DRM planes as we can with buffers that have HW_FB usage.
- // Buffers without HW_FB should have been filtered out with
- // CanImportBuffer(), if we meet one here, just skip it.
- for (auto i = layers.begin(); i != layers.end(); i = layers.erase(i)) {
- if (!(i->second->gralloc_buffer_usage & GRALLOC_USAGE_HW_FB))
- continue;
-
- int ret = Emplace(composition, planes, DrmCompositionPlane::Type::kLayer,
- crtc, std::make_pair(i->first, i->second));
- layers_added++;
- // We don't have any planes left
- if (ret == -ENOENT)
- break;
- else if (ret) {
- ALOGE("Failed to emplace layer %zu, dropping it", i->first);
- return ret;
- }
- }
- // If we didn't emplace anything, return an error to ensure we force client
- // compositing.
- if (!layers_added)
- return -EINVAL;
-
- return 0;
- }
-};
-
-std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
- std::unique_ptr<Planner> planner(new Planner);
- planner->AddStage<PlanStageHiSi>();
- return planner;
-}
} // namespace android
diff --git a/platform/platformimagination.cpp b/platform/platformimagination.cpp
index 83cebf3..7001d64 100644
--- a/platform/platformimagination.cpp
+++ b/platform/platformimagination.cpp
@@ -60,9 +60,4 @@ int ImaginationImporter::ConvertBoInfo(buffer_handle_t handle,
return 0;
}
-std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
- std::unique_ptr<Planner> planner(new Planner);
- planner->AddStage<PlanStageGreedy>();
- return planner;
-}
} // namespace android
diff --git a/platform/platformmeson.cpp b/platform/platformmeson.cpp
index ecace29..278eac5 100644
--- a/platform/platformmeson.cpp
+++ b/platform/platformmeson.cpp
@@ -102,9 +102,4 @@ int MesonImporter::ConvertBoInfo(buffer_handle_t handle, hwc_drm_bo_t *bo) {
return 0;
}
-std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
- std::unique_ptr<Planner> planner(new Planner);
- planner->AddStage<PlanStageGreedy>();
- return planner;
-}
} // namespace android
diff --git a/platform/platformminigbm.cpp b/platform/platformminigbm.cpp
index 39decab..4360b0a 100644
--- a/platform/platformminigbm.cpp
+++ b/platform/platformminigbm.cpp
@@ -60,10 +60,4 @@ int DrmMinigbmImporter::ConvertBoInfo(buffer_handle_t handle,
return 0;
}
-std::unique_ptr<Planner> Planner::CreateInstance(DrmDevice *) {
- std::unique_ptr<Planner> planner(new Planner);
- planner->AddStage<PlanStageGreedy>();
- return planner;
-}
-
} // namespace android