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 | |
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>
-rw-r--r-- | DrmHwcTwo.cpp | 6 | ||||
-rw-r--r-- | DrmHwcTwo.h | 1 | ||||
-rw-r--r-- | backend/Backend.cpp | 7 | ||||
-rw-r--r-- | backend/Backend.h | 1 |
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, |