@@ -7823,15 +7823,16 @@ ftl::SharedFuture<FenceResult> SurfaceFlinger::renderScreenImpl(
78237823 // Otherwise for seamless transitions it's important to match the current
78247824 // display state as the buffer will be shown under these same conditions, and we
78257825 // want to avoid any flickers.
7826- if (captureResults.capturedHdrLayers && !enableLocalTonemapping &&
7827- args.sdrWhitePointNits > 1 .0f && !args.seamlessTransition ) {
7828- // Restrict the amount of HDR "headroom" in the screenshot to avoid
7829- // over-dimming the SDR portion. 2.0 chosen by experimentation
7830- constexpr float kMaxScreenshotHeadroom = 2 .0f ;
7831- // TODO: Aim to update displayBrightnessNits earlier in screenshot
7832- // path so ScreenshotArgs can be passed as const
7833- args.displayBrightnessNits = std::min (args.sdrWhitePointNits * kMaxScreenshotHeadroom ,
7834- args.displayBrightnessNits );
7826+ if (captureResults.capturedHdrLayers ) {
7827+ if (!enableLocalTonemapping && args.sdrWhitePointNits > 1 .0f && !args.seamlessTransition ) {
7828+ // Restrict the amount of HDR "headroom" in the screenshot to avoid
7829+ // over-dimming the SDR portion. 2.0 chosen by experimentation
7830+ constexpr float kMaxScreenshotHeadroom = 2 .0f ;
7831+ // TODO: Aim to update displayBrightnessNits earlier in screenshot
7832+ // path so ScreenshotArgs can be passed as const
7833+ args.displayBrightnessNits = std::min (args.sdrWhitePointNits * kMaxScreenshotHeadroom ,
7834+ args.displayBrightnessNits );
7835+ }
78357836 } else {
78367837 args.displayBrightnessNits = args.sdrWhitePointNits ;
78377838 }
0 commit comments