From dd102650f92ee345c48cf104551dcdcf2998dd73 Mon Sep 17 00:00:00 2001 From: Long Ling Date: Wed, 23 Feb 2022 20:47:20 -0800 Subject: hwc3: support SDR dimming in linear or gamma space Move SDR dimming to displaycolor. Report dimming stage to SF. Bug: 218954037 Change-Id: Ieacbd427e0d5894c6b0754574af08631d5859f92 --- hwc3/impl/HalImpl.cpp | 7 +++++-- hwc3/impl/HalImpl.h | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'hwc3/impl') diff --git a/hwc3/impl/HalImpl.cpp b/hwc3/impl/HalImpl.cpp index 011fd43..1ec190f 100644 --- a/hwc3/impl/HalImpl.cpp +++ b/hwc3/impl/HalImpl.cpp @@ -953,7 +953,8 @@ int32_t HalImpl::validateDisplay(int64_t display, std::vector* outChang uint32_t* outDisplayRequestMask, std::vector* outRequestedLayers, std::vector* outRequestMasks, - ClientTargetProperty* outClientTargetProperty) { + ClientTargetProperty* outClientTargetProperty, + DimmingStage* outDimmingStage) { ExynosDisplay* halDisplay; RET_IF_ERR(getHalDisplay(display, halDisplay)); @@ -982,7 +983,9 @@ int32_t HalImpl::validateDisplay(int64_t display, std::vector* outChang h2a::translate(hwcRequestedLayers, *outRequestedLayers); hwc_client_target_property hwcProperty; - if (!halDisplay->getClientTargetProperty(&hwcProperty)) { + HwcDimmingStage hwcDimmingStage; + if (!halDisplay->getClientTargetProperty(&hwcProperty, &hwcDimmingStage)) { + h2a::translate(hwcDimmingStage, *outDimmingStage); h2a::translate(hwcProperty, *outClientTargetProperty); } // else ignore this error diff --git a/hwc3/impl/HalImpl.h b/hwc3/impl/HalImpl.h index 8ccd399..1822360 100644 --- a/hwc3/impl/HalImpl.h +++ b/hwc3/impl/HalImpl.h @@ -143,7 +143,8 @@ class HalImpl : public IComposerHal { uint32_t* outDisplayRequestMask, std::vector* outRequestedLayers, std::vector* outRequestMasks, - ClientTargetProperty* outClientTargetProperty) override; + ClientTargetProperty* outClientTargetProperty, + DimmingStage* outDimmingStage) override; int32_t setExpectedPresentTime( int64_t display, const std::optional expectedPresentTime) override; -- cgit v1.2.3