summaryrefslogtreecommitdiff
path: root/libhwc2.1/libdevice/ExynosLayer.h
diff options
context:
space:
mode:
authorWiwit Rifa'i <wiwitrifai@google.com>2023-04-11 14:59:40 +0800
committerWiwit Rifa'i <wiwitrifai@google.com>2023-06-06 16:51:37 +0800
commitba60527e79815ed03f2760728a0778a2ab6eabba (patch)
treed914cc9f52e31674ddb271b4b7dd2a274636902e /libhwc2.1/libdevice/ExynosLayer.h
parenta5f01d4ae93a775f1eb60f41884c826715bc2bb1 (diff)
libhwc2.1: mark as non-frame update for reverting composition to original
When some layers fallback to CLIENT composition, mCompositionType will be set to CLIENT during acceptDisplayChanges() since SF will update its state according to the validated type. But, SF may revert the requested composition back to the original composition (e.g. DEVICE), so HWC should not consider it as a frame update if there's no other update. This will prevent refresh rate indicator to increase unexpectedly when updating the refresh rate indicator but there are some layers fallback to client composition. Bug: 277999360 Bug: 283352279 Test: refresh rate indicator can enter idle on wallpaper & style Change-Id: Iaa33fbad555d7a0de65d77edc2a287c8e8940dc3 Merged-In: Iaa33fbad555d7a0de65d77edc2a287c8e8940dc3
Diffstat (limited to 'libhwc2.1/libdevice/ExynosLayer.h')
-rw-r--r--libhwc2.1/libdevice/ExynosLayer.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libhwc2.1/libdevice/ExynosLayer.h b/libhwc2.1/libdevice/ExynosLayer.h
index 4dc2423..e1df54d 100644
--- a/libhwc2.1/libdevice/ExynosLayer.h
+++ b/libhwc2.1/libdevice/ExynosLayer.h
@@ -92,10 +92,20 @@ class ExynosLayer : public ExynosMPPSource {
/**
* Layer's compositionType
+ *
+ * If acceptDisplayChanges() is called, it will be set to the validated type
+ * since SF may update their state and doesn't call back into HWC
*/
int32_t mCompositionType;
/**
+ * Composition type that is originally requested by SF only using setLayerComposisionType()
+ *
+ * It will not be changed if applyDisplayChanges() is called.
+ */
+ int32_t mRequestedCompositionType;
+
+ /**
* Composition type that is used by HAL
* (ex: COMPOSITION_G2D)
*/