diff options
author | Matvii Zorin <matvii.zorin@globallogic.com> | 2021-01-29 16:45:25 +0200 |
---|---|---|
committer | Matvii Zorin <matvii.zorin@globallogic.com> | 2021-04-06 12:46:22 +0300 |
commit | ede54b086e6ad6198f836f7b12c8803f8f9c5927 (patch) | |
tree | 0f5fb1c23b072f6f3fcd7ed515069405c77892bc /backend | |
parent | ed74527435bf221b95e744dd67529482ddc8e434 (diff) | |
download | drm_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.cpp | 7 | ||||
-rw-r--r-- | backend/Backend.h | 1 |
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, |