aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorRoman Stratiienko <r.stratiienko@gmail.com>2021-02-13 10:57:47 +0200
committerRoman Stratiienko <r.stratiienko@gmail.com>2021-03-03 16:07:25 +0200
commite2f2c929243fa52fc1683bc8b22f550446d9535b (patch)
tree7cda265797d40ae88449210b1b3346f1adc44e35 /backend
parentd6659983335082d4b54ee006626a1ebc29423bcc (diff)
downloaddrm_hwcomposer-e2f2c929243fa52fc1683bc8b22f550446d9535b.tar.gz
drm_hwcomposer: enable code analysis using clang-tidy
Drm hwcomposer project has some code-style inconsistencies. This is the initial step to unify code-style of the code. Clang-tidy is a great tool which can not only suggest correct styling, but also allow predicting the errors in the code and suggest correct coding approaches to avoid potential weaknesses. CI was tuned to check clang-tidy recommendation for some part of the code which is ready ATM (can be built outside AOSP tree). For this part a limited set of clang-tidy checks has applied (coarse check). Header files aren't checked at all. Starting from now new code files must be included into the list that is checked by almost all clang-tidy checks (fine checklist). New header files should be also included into this list. See '.gitlab-ci-clang-tidy-fine.sh'. Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
Diffstat (limited to 'backend')
-rw-r--r--backend/Backend.cpp30
-rw-r--r--backend/Backend.h2
-rw-r--r--backend/BackendManager.cpp10
-rw-r--r--backend/BackendManager.h2
4 files changed, 24 insertions, 20 deletions
diff --git a/backend/Backend.cpp b/backend/Backend.cpp
index 887eb0e..15a9ff1 100644
--- a/backend/Backend.cpp
+++ b/backend/Backend.cpp
@@ -36,7 +36,8 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
if (avail_planes < display->layers().size())
avail_planes--;
- std::map<uint32_t, DrmHwcTwo::HwcLayer *> z_map, z_map_tmp;
+ std::map<uint32_t, DrmHwcTwo::HwcLayer *> z_map;
+ std::map<uint32_t, DrmHwcTwo::HwcLayer *> z_map_tmp;
uint32_t z_index = 0;
// First create a map of layers and z_order values
for (std::pair<const hwc2_layer_t, DrmHwcTwo::HwcLayer> &l :
@@ -49,7 +50,8 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
uint32_t total_pixops = display->CalcPixOps(z_map, 0, z_map.size());
uint32_t gpu_pixops = 0;
- int client_start = -1, client_size = 0;
+ int client_start = -1;
+ size_t client_size = 0;
if (display->compositor().ShouldFlattenOnClient()) {
client_start = 0;
@@ -58,17 +60,18 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
} else {
std::tie(client_start, client_size) = GetClientLayers(display, z_map);
- int extra_client = (z_map.size() - client_size) - avail_planes;
+ size_t extra_client = (z_map.size() - client_size) - avail_planes;
if (extra_client > 0) {
- int start = 0, steps;
+ int start = 0;
+ size_t steps;
if (client_size != 0) {
- int prepend = std::min(client_start, extra_client);
- int append = std::min(int(z_map.size() - (client_start + client_size)),
- extra_client);
- start = client_start - prepend;
+ size_t prepend = std::min((size_t)client_start, extra_client);
+ size_t append = std::min(z_map.size() - (client_start + client_size),
+ extra_client);
+ start = client_start - (int)prepend;
client_size += extra_client;
steps = 1 + std::min(std::min(append, prepend),
- int(z_map.size()) - (start + client_size));
+ z_map.size() - (start + client_size));
} else {
client_size = extra_client;
steps = 1 + z_map.size() - extra_client;
@@ -107,15 +110,16 @@ HWC2::Error Backend::ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
return *num_types ? HWC2::Error::HasChanges : HWC2::Error::None;
}
-std::tuple<int, int> Backend::GetClientLayers(
+std::tuple<int, size_t> Backend::GetClientLayers(
DrmHwcTwo::HwcDisplay *display,
const std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map) {
- int client_start = -1, client_size = 0;
+ int client_start = -1;
+ size_t client_size = 0;
- for (auto & [ z_order, layer ] : z_map) {
+ for (auto &[z_order, layer] : z_map) {
if (IsClientLayer(display, layer)) {
if (client_start < 0)
- client_start = z_order;
+ client_start = (int)z_order;
client_size = (z_order - client_start) + 1;
}
}
diff --git a/backend/Backend.h b/backend/Backend.h
index 898fece..2725809 100644
--- a/backend/Backend.h
+++ b/backend/Backend.h
@@ -27,7 +27,7 @@ class Backend {
virtual HWC2::Error ValidateDisplay(DrmHwcTwo::HwcDisplay *display,
uint32_t *num_types,
uint32_t *num_requests);
- virtual std::tuple<int, int> GetClientLayers(
+ virtual std::tuple<int, size_t> GetClientLayers(
DrmHwcTwo::HwcDisplay *display,
const std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map);
virtual bool IsClientLayer(DrmHwcTwo::HwcDisplay *display,
diff --git a/backend/BackendManager.cpp b/backend/BackendManager.cpp
index 0bacdcd..a346d46 100644
--- a/backend/BackendManager.cpp
+++ b/backend/BackendManager.cpp
@@ -23,7 +23,7 @@
namespace android {
-const std::vector<std::string> BackendManager::client_devices_ = {
+const std::vector<std::string> BackendManager::kClientDevices = {
"kirin",
"mediatek-drm",
};
@@ -45,7 +45,7 @@ int BackendManager::SetBackendForDisplay(DrmHwcTwo::HwcDisplay *display) {
char backend_override[PROPERTY_VALUE_MAX];
property_get("vendor.hwc.backend_override", backend_override,
driver_name.c_str());
- std::string backend_name(std::move(backend_override));
+ std::string backend_name(backend_override);
display->set_backend(GetBackendByName(backend_name));
if (!display->backend()) {
@@ -63,15 +63,15 @@ int BackendManager::SetBackendForDisplay(DrmHwcTwo::HwcDisplay *display) {
}
std::unique_ptr<Backend> BackendManager::GetBackendByName(std::string &name) {
- if (!available_backends_.size()) {
+ if (available_backends_.empty()) {
ALOGE("No backends are specified");
return nullptr;
}
auto it = available_backends_.find(name);
if (it == available_backends_.end()) {
- auto it = std::find(client_devices_.begin(), client_devices_.end(), name);
- name = it == client_devices_.end() ? "generic" : "client";
+ auto it = std::find(kClientDevices.begin(), kClientDevices.end(), name);
+ name = it == kClientDevices.end() ? "generic" : "client";
}
return available_backends_[name]();
diff --git a/backend/BackendManager.h b/backend/BackendManager.h
index e86c098..9b314db 100644
--- a/backend/BackendManager.h
+++ b/backend/BackendManager.h
@@ -48,7 +48,7 @@ class BackendManager {
private:
BackendManager() = default;
- static const std::vector<std::string> client_devices_;
+ static const std::vector<std::string> kClientDevices;
std::map<std::string, backend_constructor_t> available_backends_;
};