aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-01-04 14:30:37 +0200
committerRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-01-12 11:17:41 +0200
commit03fd35cdfab014e8f833fdea7ac4e38da0e9c67e (patch)
treeb130fbd8b4bdf1a562c121551481c272223d7262 /backend
parent26fd2b2606bde8d48f6a5053e52d4102831c737c (diff)
downloaddrm_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.cpp25
-rw-r--r--backend/Backend.h15
-rw-r--r--backend/BackendClient.cpp2
-rw-r--r--backend/BackendRCarDu.cpp4
-rw-r--r--backend/BackendRCarDu.h3
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