summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2021-04-24 13:42:19 -0700
committerLinux Build Service Account <lnxbuild@localhost>2021-04-24 13:42:19 -0700
commit72bb67aa9098b8d158be0a4df94679794d477759 (patch)
treefd9dd3a450ce90aa5b0f3b7dc5c9020908338fd3
parent5ed4047791d280a9bc2d80c3f70103399d949ab4 (diff)
parentb3ca2d754b89fb723222a2609e54d5841a49dbcc (diff)
Merge b3ca2d754b89fb723222a2609e54d5841a49dbcc on remote branch
Change-Id: I48af765d5a1a31adf3bc92b5bea2da460377bf5c
-rw-r--r--config/display-product.mk4
-rw-r--r--sdm/include/core/layer_stack.h4
-rw-r--r--sdm/libs/hwc2/hwc_display.cpp4
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;