diff options
author | Roman Stratiienko <r.stratiienko@gmail.com> | 2020-08-29 22:16:21 +0300 |
---|---|---|
committer | Roman Stratiienko <r.stratiienko@gmail.com> | 2020-09-12 09:18:27 +0300 |
commit | f2393a48d10d792b79b5ac498f28f77d886910df (patch) | |
tree | 54da485a9b88df242f0fc2592011e36fa83c9a59 | |
parent | adc5d8229b9ce25f1bf0e4d02bb838eae62b89fc (diff) | |
download | drm_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.cpp | 2 | ||||
-rw-r--r-- | platform/platformhisi.cpp | 38 | ||||
-rw-r--r-- | platform/platformimagination.cpp | 5 | ||||
-rw-r--r-- | platform/platformmeson.cpp | 5 | ||||
-rw-r--r-- | platform/platformminigbm.cpp | 6 |
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 |