summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2023-06-14 14:41:10 -0400
committer John Reck <jreck@google.com> 2023-06-14 21:18:05 -0400
commit5b02fc47b36af39a94a22148eb49b85820d17a5f (patch)
tree6b7cff0f197886726fe808671cf20a43b68770f0 /libs
parent094946bd8c1a8f205417a21755023118857950f7 (diff)
Adjust screenshot behavior of HDR content
Cap the max amount of HDR headroom beyond which the layer is clipped. This avoids over-dimming the SDR content range in the resulting SDR screenshot Test: screenshot of silkfx Bug: 286942637 Change-Id: I67df32d9c192da18df516972ed92e9bd64063186
Diffstat (limited to 'libs')
-rw-r--r--libs/renderengine/skia/SkiaRenderEngine.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/renderengine/skia/SkiaRenderEngine.cpp b/libs/renderengine/skia/SkiaRenderEngine.cpp
index 5854135afe..fda6ea189e 100644
--- a/libs/renderengine/skia/SkiaRenderEngine.cpp
+++ b/libs/renderengine/skia/SkiaRenderEngine.cpp
@@ -86,6 +86,7 @@ namespace {
// Debugging settings
static const bool kPrintLayerSettings = false;
static const bool kFlushAfterEveryLayer = kPrintLayerSettings;
+static constexpr bool kEnableLayerBrightening = true;
} // namespace
@@ -699,7 +700,8 @@ void SkiaRenderEngine::drawLayersInternal(
// ...and compute the dimming ratio if dimming is requested
const float displayDimmingRatio = display.targetLuminanceNits > 0.f &&
- maxLayerWhitePoint > 0.f && display.targetLuminanceNits > maxLayerWhitePoint
+ maxLayerWhitePoint > 0.f &&
+ (kEnableLayerBrightening || display.targetLuminanceNits > maxLayerWhitePoint)
? maxLayerWhitePoint / display.targetLuminanceNits
: 1.f;