Merge "Treat dimming-disabled layers as HDR" into tm-dev am: 00679b8ab4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/17714862
Change-Id: I8afa4defd53f2b4144024c5840ac0af8b24eae3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 5deb18f..ccd218d 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -2347,7 +2347,12 @@
}
bool SurfaceFlinger::isHdrLayer(Layer* layer) const {
- if (!isHdrDataspace(layer->getDataSpace())) {
+ // Treat all layers as non-HDR if:
+ // 1. They do not have a valid HDR dataspace. Currently we treat those as PQ or HLG. and
+ // 2. The layer is allowed to be dimmed. WindowManager may disable dimming in order to
+ // keep animations invoking SDR screenshots of HDR layers seamless. Treat such tagged
+ // layers as HDR so that DisplayManagerService does not try to change the screen brightness
+ if (!isHdrDataspace(layer->getDataSpace()) && layer->isDimmingEnabled()) {
return false;
}
if (mIgnoreHdrCameraLayers) {