diff options
author | Alec Mouri <alecmouri@google.com> | 2022-02-10 15:10:41 -0800 |
---|---|---|
committer | Alec Mouri <alecmouri@google.com> | 2022-02-23 23:04:48 +0000 |
commit | 86d9463ab7383b080994481887a1359ae27b4523 (patch) | |
tree | 12b9dac7177857c52ac3cfa19499786c25474163 /hwc3 | |
parent | ab41f421c73e1eb42f7185a1a2fdbed7ff0253fe (diff) |
Composer reports dimming ratio for client composition instead of nits
Hal interface is changing to remove nits from the composer interface,
and instead operate on a ratio of the current brightness.
Bug: 217961164
Test: builds, boots
Change-Id: Ia27a6038ba98d51bbdf5127ee7e8f9ef99e8c119
Merged-In: Ia27a6038ba98d51bbdf5127ee7e8f9ef99e8c119
Diffstat (limited to 'hwc3')
-rw-r--r-- | hwc3/ComposerClient.cpp | 4 | ||||
-rw-r--r-- | hwc3/ComposerCommandEngine.cpp | 10 | ||||
-rw-r--r-- | hwc3/ComposerServiceWriter.h | 12 | ||||
-rw-r--r-- | hwc3/impl/HalImpl.cpp | 5 | ||||
-rw-r--r-- | hwc3/impl/HalImpl.h | 3 | ||||
-rw-r--r-- | hwc3/include/IComposerHal.h | 5 |
6 files changed, 16 insertions, 23 deletions
diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp index 49d0e80..8638d08 100644 --- a/hwc3/ComposerClient.cpp +++ b/hwc3/ComposerClient.cpp @@ -553,10 +553,8 @@ void ComposerClient::destroyResources() { std::vector<int64_t> requestedLayers; std::vector<int32_t> requestMasks; ClientTargetProperty clientTargetProperty; - float clientWhitePointNits; mHal->validateDisplay(display, &changedLayers, &compositionTypes, &displayRequestMask, - &requestedLayers, &requestMasks, &clientTargetProperty, - &clientWhitePointNits); + &requestedLayers, &requestMasks, &clientTargetProperty); mHal->acceptDisplayChanges(display); ndk::ScopedFileDescriptor presentFence; diff --git a/hwc3/ComposerCommandEngine.cpp b/hwc3/ComposerCommandEngine.cpp index 01fef69..a856f9e 100644 --- a/hwc3/ComposerCommandEngine.cpp +++ b/hwc3/ComposerCommandEngine.cpp @@ -130,17 +130,17 @@ int32_t ComposerCommandEngine::executeValidateDisplayInternal(int64_t display) { uint32_t displayRequestMask = 0x0; std::vector<int64_t> requestedLayers; std::vector<int32_t> requestMasks; - float clientTargetWhitePointNits; ClientTargetProperty clientTargetProperty{common::PixelFormat::RGBA_8888, common::Dataspace::UNKNOWN}; - auto err = mHal->validateDisplay(display, &changedLayers, &compositionTypes, - &displayRequestMask, &requestedLayers, &requestMasks, - &clientTargetProperty, &clientTargetWhitePointNits); + auto err = + mHal->validateDisplay(display, &changedLayers, &compositionTypes, &displayRequestMask, + &requestedLayers, &requestMasks, &clientTargetProperty); mResources->setDisplayMustValidateState(display, false); if (!err) { mWriter->setChangedCompositionTypes(display, changedLayers, compositionTypes); mWriter->setDisplayRequests(display, displayRequestMask, requestedLayers, requestMasks); - mWriter->setClientTargetProperty(display, clientTargetProperty, clientTargetWhitePointNits); + static constexpr float kBrightness = 1.f; + mWriter->setClientTargetProperty(display, clientTargetProperty, kBrightness); } else { LOG(ERROR) << __func__ << ": err " << err; mWriter->setError(mCommandIndex, err); diff --git a/hwc3/ComposerServiceWriter.h b/hwc3/ComposerServiceWriter.h index e2197e1..ee1607b 100644 --- a/hwc3/ComposerServiceWriter.h +++ b/hwc3/ComposerServiceWriter.h @@ -108,12 +108,12 @@ public: } void setClientTargetProperty(int64_t display, const ClientTargetProperty& clientTargetProperty, - float whitePointNits) { - ClientTargetPropertyWithNits clientTargetPropertyWithNits; - clientTargetPropertyWithNits.display = display; - clientTargetPropertyWithNits.clientTargetProperty = clientTargetProperty; - clientTargetPropertyWithNits.whitePointNits = whitePointNits; - mCommandsResults.emplace_back(std::move(clientTargetPropertyWithNits)); + float brightness) { + ClientTargetPropertyWithBrightness clientTargetPropertyWithBrightness; + clientTargetPropertyWithBrightness.display = display; + clientTargetPropertyWithBrightness.clientTargetProperty = clientTargetProperty; + clientTargetPropertyWithBrightness.brightness = brightness; + mCommandsResults.emplace_back(std::move(clientTargetPropertyWithBrightness)); } std::vector<CommandResultPayload> getPendingCommandResults() { diff --git a/hwc3/impl/HalImpl.cpp b/hwc3/impl/HalImpl.cpp index eb82a70..011fd43 100644 --- a/hwc3/impl/HalImpl.cpp +++ b/hwc3/impl/HalImpl.cpp @@ -953,8 +953,7 @@ int32_t HalImpl::validateDisplay(int64_t display, std::vector<int64_t>* outChang uint32_t* outDisplayRequestMask, std::vector<int64_t>* outRequestedLayers, std::vector<int32_t>* outRequestMasks, - ClientTargetProperty* outClientTargetProperty, - float* outClientTargetWhitePointNits) { + ClientTargetProperty* outClientTargetProperty) { ExynosDisplay* halDisplay; RET_IF_ERR(getHalDisplay(display, halDisplay)); @@ -977,8 +976,6 @@ int32_t HalImpl::validateDisplay(int64_t display, std::vector<int64_t>* outChang RET_IF_ERR(halDisplay->getDisplayRequests(&displayReqs, &reqsCount, hwcRequestedLayers.data(), outRequestMasks->data())); - RET_IF_ERR(halDisplay->getClientTargetWhitePointNits(outClientTargetWhitePointNits)); - h2a::translate(hwcChangedLayers, *outChangedLayers); h2a::translate(hwcCompositionTypes, *outCompositionTypes); *outDisplayRequestMask = displayReqs; diff --git a/hwc3/impl/HalImpl.h b/hwc3/impl/HalImpl.h index d60d7d0..8ccd399 100644 --- a/hwc3/impl/HalImpl.h +++ b/hwc3/impl/HalImpl.h @@ -143,8 +143,7 @@ class HalImpl : public IComposerHal { uint32_t* outDisplayRequestMask, std::vector<int64_t>* outRequestedLayers, std::vector<int32_t>* outRequestMasks, - ClientTargetProperty* outClientTargetProperty, - float* outClientTargetWhitePointNits) override; + ClientTargetProperty* outClientTargetProperty) override; int32_t setExpectedPresentTime( int64_t display, const std::optional<ClockMonotonicTimestamp> expectedPresentTime) override; diff --git a/hwc3/include/IComposerHal.h b/hwc3/include/IComposerHal.h index 00bfdee..b49bd0c 100644 --- a/hwc3/include/IComposerHal.h +++ b/hwc3/include/IComposerHal.h @@ -34,7 +34,7 @@ #include <aidl/android/hardware/graphics/composer3/ChangedCompositionTypes.h> #include <aidl/android/hardware/graphics/composer3/ClientTarget.h> #include <aidl/android/hardware/graphics/composer3/ClientTargetProperty.h> -#include <aidl/android/hardware/graphics/composer3/ClientTargetPropertyWithNits.h> +#include <aidl/android/hardware/graphics/composer3/ClientTargetPropertyWithBrightness.h> #include <aidl/android/hardware/graphics/composer3/Color.h> #include <aidl/android/hardware/graphics/composer3/ColorMode.h> #include <aidl/android/hardware/graphics/composer3/CommandError.h> @@ -210,8 +210,7 @@ class IComposerHal { uint32_t* outDisplayRequestMask, std::vector<int64_t>* outRequestedLayers, std::vector<int32_t>* outRequestMasks, - ClientTargetProperty* outClientTargetProperty, - float* outClientTargetWhitePointNits) = 0; + ClientTargetProperty* outClientTargetProperty) = 0; virtual int32_t setExpectedPresentTime( int64_t display, const std::optional<ClockMonotonicTimestamp> expectedPresentTime) = 0; virtual int32_t setIdleTimerEnabled(int64_t display, int32_t timeout) = 0; |