drm_hwcomposer: Add property that allows disabling of hardware scaling
Set `hwc.drm.scale_with_gpu` property to 1 in case composer hardware
do not have scaling support.
That will force layers that require scaling to be merged by GPU,
and allow other layers to be merged by DRM.
Signed-off-by: Roman Stratiienko <roman.stratiienko@globallogic.com>
diff --git a/drmhwctwo.cpp b/drmhwctwo.cpp
index 5e07f2f..e2c943a 100644
--- a/drmhwctwo.cpp
+++ b/drmhwctwo.cpp
@@ -903,7 +903,9 @@
for (std::pair<const uint32_t, DrmHwcTwo::HwcLayer *> &l : z_map) {
if (!HardwareSupportsLayerType(l.second->sf_type()) ||
!importer_->CanImportBuffer(l.second->buffer()) ||
- color_transform_hint_ != HAL_COLOR_TRANSFORM_IDENTITY) {
+ color_transform_hint_ != HAL_COLOR_TRANSFORM_IDENTITY ||
+ (l.second->RequireScalingOrPhasing() &&
+ resource_manager_->ForcedScalingWithGpu())) {
if (client_start < 0)
client_start = l.first;
client_size = (l.first - client_start) + 1;