diff options
-rw-r--r-- | config/display-product.mk | 4 | ||||
-rw-r--r-- | sdm/include/core/layer_stack.h | 4 | ||||
-rw-r--r-- | sdm/libs/hwc2/hwc_display.cpp | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/config/display-product.mk b/config/display-product.mk index 9f96ac41..1cf7fac7 100644 --- a/config/display-product.mk +++ b/config/display-product.mk @@ -102,6 +102,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ vendor.display.disable_decimation=1 \ vendor.display.enable_null_display=0 \ vendor.display.disable_excl_rect=0 \ + vendor.display.disable_excl_rect_partial_fb=1 \ vendor.display.comp_mask=0 \ vendor.display.enable_default_color_mode=1 \ vendor.display.enable_optimize_refresh=1 \ @@ -127,9 +128,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.force_hwc_copy_for_virt PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.max_frame_buffer_acquired_buffers=3 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.max_virtual_display_dimension=4096 -ifeq ($(TARGET_BOARD_PLATFORM),$(TRINKET)) -PRODUCT_PROPERTY_OVERRIDES += vendor.display.disable_excl_rect_partial_fb=1 -endif ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) # Recovery is enabled, logging is enabled diff --git a/sdm/include/core/layer_stack.h b/sdm/include/core/layer_stack.h index b49c425c..81ecfd6d 100644 --- a/sdm/include/core/layer_stack.h +++ b/sdm/include/core/layer_stack.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2014 - 2019, The Linux Foundation. All rights reserved. +* Copyright (c) 2014 - 2019, 2021 The Linux Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted * provided that the following conditions are met: @@ -277,6 +277,8 @@ struct LayerStackFlags { uint32_t config_changed : 1; //!< This flag indicates Display config must be validated. uint32_t mask_present : 1; //!< Set if layer stack has mask layers. + + uint32_t scaling_rgb_layer_present : 1; //!< Set if scaling rgb layer is present }; uint32_t flags = 0; //!< For initialization purpose only. diff --git a/sdm/libs/hwc2/hwc_display.cpp b/sdm/libs/hwc2/hwc_display.cpp index 894d9224..937c0a78 100644 --- a/sdm/libs/hwc2/hwc_display.cpp +++ b/sdm/libs/hwc2/hwc_display.cpp @@ -709,6 +709,10 @@ void HWCDisplay::BuildLayerStack() { is_secure = true; } + if (IS_RGB_FORMAT(layer->input_buffer.format) && hwc_layer->IsScalingPresent()) { + layer_stack_.flags.scaling_rgb_layer_present = true; + } + if (hwc_layer->IsSingleBuffered() && !(hwc_layer->IsRotationPresent() || hwc_layer->IsScalingPresent())) { layer->flags.single_buffer = true; |