summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-24 23:17:39 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-24 23:17:39 +0000
commitf521426c8dd010c0cebfbd2ee4876a1972f04eca (patch)
tree6139a9fd5812e4ffb3b9aafaba1628ee27447e2c
parent1e14cdfb0e1c2e94f245362f990ce16326e99528 (diff)
parent4546de0814ce7fdd0afed47c5ef833788cb1d79e (diff)
downloadnative-f521426c8dd010c0cebfbd2ee4876a1972f04eca.tar.gz
Snap for 10551705 from 4546de0814ce7fdd0afed47c5ef833788cb1d79e to udc-d1-release
Change-Id: I6cec041379bfc03464ffe7427b50b52f289d7b0d
-rw-r--r--services/surfaceflinger/SurfaceFlinger.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 1c646869a5..f4f4bccc7e 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -7424,7 +7424,10 @@ ftl::SharedFuture<FenceResult> SurfaceFlinger::renderScreenImpl(
renderArea->getHintForSeamlessTransition());
sdrWhitePointNits = state.sdrWhitePointNits;
displayBrightnessNits = state.displayBrightnessNits;
- if (sdrWhitePointNits > 1.0f) {
+ // Only clamp the display brightness if this is not a seamless transition. Otherwise
+ // for seamless transitions it's important to match the current display state as the
+ // buffer will be shown under these same conditions, and we want to avoid any flickers
+ if (sdrWhitePointNits > 1.0f && !renderArea->getHintForSeamlessTransition()) {
// Restrict the amount of HDR "headroom" in the screenshot to avoid over-dimming
// the SDR portion. 2.0 chosen by experimentation
constexpr float kMaxScreenshotHeadroom = 2.0f;