diff options
author | Roman Stratiienko <roman.o.stratiienko@globallogic.com> | 2022-01-04 14:30:37 +0200 |
---|---|---|
committer | Roman Stratiienko <roman.o.stratiienko@globallogic.com> | 2022-01-12 11:17:41 +0200 |
commit | 03fd35cdfab014e8f833fdea7ac4e38da0e9c67e (patch) | |
tree | b130fbd8b4bdf1a562c121551481c272223d7262 /backend | |
parent | 26fd2b2606bde8d48f6a5053e52d4102831c737c (diff) | |
download | drm_hwcomposer-03fd35cdfab014e8f833fdea7ac4e38da0e9c67e.tar.gz |
drm_hwcomposer: Move HwcLayer out of DrmHwcTwo class
... to reduce complexity of DrmHwcTwo.* files.
Bump-up tidy level of new files to NORMAL (fix function naming,
add NOLINT, etc.)
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
Diffstat (limited to 'backend')
-rw-r--r-- | backend/Backend.cpp | 25 | ||||
-rw-r--r-- | backend/Backend.h | 15 | ||||
-rw-r--r-- | backend/BackendClient.cpp | 2 | ||||
-rw-r--r-- | backend/BackendRCarDu.cpp | 4 | ||||
-rw-r--r-- | backend/BackendRCarDu.h | 3 |
5 files changed, 21 insertions, 28 deletions
diff --git a/backend/Backend.cpp b/backend/Backend.cpp index 6f334c7..7f87b05 100644 --- a/backend/Backend.cpp +++ b/backend/Backend.cpp @@ -67,8 +67,7 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display, } std::tuple<int, size_t> Backend::GetClientLayers( - DrmHwcTwo::HwcDisplay *display, - const std::vector<DrmHwcTwo::HwcLayer *> &layers) { + DrmHwcTwo::HwcDisplay *display, const std::vector<HwcLayer *> &layers) { int client_start = -1; size_t client_size = 0; @@ -83,10 +82,9 @@ std::tuple<int, size_t> Backend::GetClientLayers( return GetExtraClientRange(display, layers, client_start, client_size); } -bool Backend::IsClientLayer(DrmHwcTwo::HwcDisplay *display, - DrmHwcTwo::HwcLayer *layer) { - return !HardwareSupportsLayerType(layer->sf_type()) || - !BufferInfoGetter::GetInstance()->IsHandleUsable(layer->buffer()) || +bool Backend::IsClientLayer(DrmHwcTwo::HwcDisplay *display, HwcLayer *layer) { + return !HardwareSupportsLayerType(layer->GetSfType()) || + !BufferInfoGetter::GetInstance()->IsHandleUsable(layer->GetBuffer()) || display->color_transform_hint() != HAL_COLOR_TRANSFORM_IDENTITY || (layer->RequireScalingOrPhasing() && display->resource_manager()->ForcedScalingWithGpu()); @@ -97,32 +95,31 @@ bool Backend::HardwareSupportsLayerType(HWC2::Composition comp_type) { comp_type == HWC2::Composition::Cursor; } -uint32_t Backend::CalcPixOps(const std::vector<DrmHwcTwo::HwcLayer *> &layers, +uint32_t Backend::CalcPixOps(const std::vector<HwcLayer *> &layers, size_t first_z, size_t size) { uint32_t pixops = 0; for (size_t z_order = 0; z_order < layers.size(); ++z_order) { if (z_order >= first_z && z_order < first_z + size) { - hwc_rect_t df = layers[z_order]->display_frame(); + hwc_rect_t df = layers[z_order]->GetDisplayFrame(); pixops += (df.right - df.left) * (df.bottom - df.top); } } return pixops; } -void Backend::MarkValidated(std::vector<DrmHwcTwo::HwcLayer *> &layers, +void Backend::MarkValidated(std::vector<HwcLayer *> &layers, size_t client_first_z, size_t client_size) { for (size_t z_order = 0; z_order < layers.size(); ++z_order) { if (z_order >= client_first_z && z_order < client_first_z + client_size) - layers[z_order]->set_validated_type(HWC2::Composition::Client); + layers[z_order]->SetValidatedType(HWC2::Composition::Client); else - layers[z_order]->set_validated_type(HWC2::Composition::Device); + layers[z_order]->SetValidatedType(HWC2::Composition::Device); } } std::tuple<int, int> Backend::GetExtraClientRange( - DrmHwcTwo::HwcDisplay *display, - const std::vector<DrmHwcTwo::HwcLayer *> &layers, int client_start, - size_t client_size) { + DrmHwcTwo::HwcDisplay *display, const std::vector<HwcLayer *> &layers, + int client_start, size_t client_size) { size_t avail_planes = display->primary_planes().size() + display->overlay_planes().size(); diff --git a/backend/Backend.h b/backend/Backend.h index 38376aa..0273570 100644 --- a/backend/Backend.h +++ b/backend/Backend.h @@ -28,21 +28,18 @@ class Backend { uint32_t *num_types, uint32_t *num_requests); virtual std::tuple<int, size_t> GetClientLayers( - DrmHwcTwo::HwcDisplay *display, - const std::vector<DrmHwcTwo::HwcLayer *> &layers); - virtual bool IsClientLayer(DrmHwcTwo::HwcDisplay *display, - DrmHwcTwo::HwcLayer *layer); + DrmHwcTwo::HwcDisplay *display, const std::vector<HwcLayer *> &layers); + virtual bool IsClientLayer(DrmHwcTwo::HwcDisplay *display, HwcLayer *layer); protected: static bool HardwareSupportsLayerType(HWC2::Composition comp_type); - static uint32_t CalcPixOps(const std::vector<DrmHwcTwo::HwcLayer *> &layers, + static uint32_t CalcPixOps(const std::vector<HwcLayer *> &layers, size_t first_z, size_t size); - static void MarkValidated(std::vector<DrmHwcTwo::HwcLayer *> &layers, + static void MarkValidated(std::vector<HwcLayer *> &layers, size_t client_first_z, size_t client_size); static std::tuple<int, int> GetExtraClientRange( - DrmHwcTwo::HwcDisplay *display, - const std::vector<DrmHwcTwo::HwcLayer *> &layers, int client_start, - size_t client_size); + DrmHwcTwo::HwcDisplay *display, const std::vector<HwcLayer *> &layers, + int client_start, size_t client_size); }; } // namespace android diff --git a/backend/BackendClient.cpp b/backend/BackendClient.cpp index 49963b8..73a3b3d 100644 --- a/backend/BackendClient.cpp +++ b/backend/BackendClient.cpp @@ -24,7 +24,7 @@ HWC2::Error BackendClient::ValidateDisplay(DrmHwcTwo::HwcDisplay *display, uint32_t *num_types, uint32_t * /*num_requests*/) { for (auto & [ layer_handle, layer ] : display->layers()) { - layer.set_validated_type(HWC2::Composition::Client); + layer.SetValidatedType(HWC2::Composition::Client); ++*num_types; } return HWC2::Error::HasChanges; diff --git a/backend/BackendRCarDu.cpp b/backend/BackendRCarDu.cpp index 9adfa62..b319d89 100644 --- a/backend/BackendRCarDu.cpp +++ b/backend/BackendRCarDu.cpp @@ -23,10 +23,10 @@ namespace android { bool BackendRCarDu::IsClientLayer(DrmHwcTwo::HwcDisplay *display, - DrmHwcTwo::HwcLayer *layer) { + HwcLayer *layer) { hwc_drm_bo_t bo; - int ret = BufferInfoGetter::GetInstance()->ConvertBoInfo(layer->buffer(), + int ret = BufferInfoGetter::GetInstance()->ConvertBoInfo(layer->GetBuffer(), &bo); if (ret != 0) return true; diff --git a/backend/BackendRCarDu.h b/backend/BackendRCarDu.h index 8a1011a..862bef2 100644 --- a/backend/BackendRCarDu.h +++ b/backend/BackendRCarDu.h @@ -23,8 +23,7 @@ namespace android { class BackendRCarDu : public Backend { public: - bool IsClientLayer(DrmHwcTwo::HwcDisplay *display, - DrmHwcTwo::HwcLayer *layer) override; + bool IsClientLayer(DrmHwcTwo::HwcDisplay *display, HwcLayer *layer) override; }; } // namespace android |