aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatvii Zorin <matvii.zorin@globallogic.com>2021-01-29 16:45:25 +0200
committerMatvii Zorin <matvii.zorin@globallogic.com>2021-04-06 12:46:22 +0300
commitede54b086e6ad6198f836f7b12c8803f8f9c5927 (patch)
tree0f5fb1c23b072f6f3fcd7ed515069405c77892bc
parented74527435bf221b95e744dd67529482ddc8e434 (diff)
downloaddrm_hwcomposer-ede54b086e6ad6198f836f7b12c8803f8f9c5927.tar.gz
drm_hwcomposer: Move HardwareSupportsLayerType into Backend
The HardwareSupportsLayerType function is used only for display validation which is implemented in the generic backend. Signed-off-by: Matvii Zorin <matvii.zorin@globallogic.com>
-rw-r--r--DrmHwcTwo.cpp6
-rw-r--r--DrmHwcTwo.h1
-rw-r--r--backend/Backend.cpp7
-rw-r--r--backend/Backend.h1
4 files changed, 7 insertions, 8 deletions
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 90d39f0..76eba84 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -619,12 +619,6 @@ void DrmHwcTwo::HwcDisplay::AddFenceToPresentFence(int fd) {
}
}
-bool DrmHwcTwo::HwcDisplay::HardwareSupportsLayerType(
- HWC2::Composition comp_type) {
- return comp_type == HWC2::Composition::Device ||
- comp_type == HWC2::Composition::Cursor;
-}
-
HWC2::Error DrmHwcTwo::HwcDisplay::CreateComposition(bool test) {
// order the layers by z-order
bool use_client_layer = false;
diff --git a/DrmHwcTwo.h b/DrmHwcTwo.h
index 251c765..bcd7eb1 100644
--- a/DrmHwcTwo.h
+++ b/DrmHwcTwo.h
@@ -174,7 +174,6 @@ class DrmHwcTwo : public hwc2_device_t {
void RegisterRefreshCallback(hwc2_callback_data_t data,
hwc2_function_pointer_t func);
HWC2::Error CreateComposition(bool test);
- bool HardwareSupportsLayerType(HWC2::Composition comp_type);
void ClearDisplay();
diff --git a/backend/Backend.cpp b/backend/Backend.cpp
index c7e78c9..4c2a931 100644
--- a/backend/Backend.cpp
+++ b/backend/Backend.cpp
@@ -93,13 +93,18 @@ std::tuple<int, size_t> Backend::GetClientLayers(
bool Backend::IsClientLayer(DrmHwcTwo::HwcDisplay *display,
DrmHwcTwo::HwcLayer *layer) {
- return !display->HardwareSupportsLayerType(layer->sf_type()) ||
+ return !HardwareSupportsLayerType(layer->sf_type()) ||
!BufferInfoGetter::GetInstance()->IsHandleUsable(layer->buffer()) ||
display->color_transform_hint() != HAL_COLOR_TRANSFORM_IDENTITY ||
(layer->RequireScalingOrPhasing() &&
display->resource_manager()->ForcedScalingWithGpu());
}
+bool Backend::HardwareSupportsLayerType(HWC2::Composition comp_type) {
+ return comp_type == HWC2::Composition::Device ||
+ comp_type == HWC2::Composition::Cursor;
+}
+
uint32_t Backend::CalcPixOps(const std::vector<DrmHwcTwo::HwcLayer *> &layers,
size_t first_z, size_t size) {
uint32_t pixops = 0;
diff --git a/backend/Backend.h b/backend/Backend.h
index 821994f..6aca247 100644
--- a/backend/Backend.h
+++ b/backend/Backend.h
@@ -34,6 +34,7 @@ class Backend {
DrmHwcTwo::HwcLayer *layer);
protected:
+ bool HardwareSupportsLayerType(HWC2::Composition comp_type);
uint32_t CalcPixOps(const std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map,
size_t first_z, size_t size);
void MarkValidated(std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map,