aboutsummaryrefslogtreecommitdiff
path: root/backend
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 /backend
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>
Diffstat (limited to 'backend')
-rw-r--r--backend/Backend.cpp7
-rw-r--r--backend/Backend.h1
2 files changed, 7 insertions, 1 deletions
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,