diff options
author | Roman Stratiienko <r.stratiienko@gmail.com> | 2021-02-13 10:57:47 +0200 |
---|---|---|
committer | Roman Stratiienko <r.stratiienko@gmail.com> | 2021-03-03 16:07:25 +0200 |
commit | e2f2c929243fa52fc1683bc8b22f550446d9535b (patch) | |
tree | 7cda265797d40ae88449210b1b3346f1adc44e35 /backend | |
parent | d6659983335082d4b54ee006626a1ebc29423bcc (diff) | |
download | drm_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.cpp | 30 | ||||
-rw-r--r-- | backend/Backend.h | 2 | ||||
-rw-r--r-- | backend/BackendManager.cpp | 10 | ||||
-rw-r--r-- | backend/BackendManager.h | 2 |
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_; }; |