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>
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 @@
}
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 @@
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 @@
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 @@
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 @@
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 @@
class BackendRCarDu : public Backend {
public:
- bool IsClientLayer(DrmHwcTwo::HwcDisplay *display,
- DrmHwcTwo::HwcLayer *layer) override;
+ bool IsClientLayer(DrmHwcTwo::HwcDisplay *display, HwcLayer *layer) override;
};
} // namespace android