diff options
| author | 2022-03-03 08:27:58 -0800 | |
|---|---|---|
| committer | 2022-03-15 11:34:30 -0700 | |
| commit | 6c7b36e812413a8fb0ada8e287a648dcedfbb107 (patch) | |
| tree | 5891f5b2b6d108bd26dd3ba8ed163b6a67ae0d69 /services/surfaceflinger/DisplayDevice.cpp | |
| parent | 32d9f66b9796a4ee82707cec6da4dbaafe0f2991 (diff) | |
SF: Clean up plumbing for boot display mode
Avoid CE round trip, and validate API against virtual displays.
Bug: 182939859
Test: Boot
Change-Id: Ic4e14dcc06218097c65f9374f2962a345d347820
Diffstat (limited to 'services/surfaceflinger/DisplayDevice.cpp')
| -rw-r--r-- | services/surfaceflinger/DisplayDevice.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index 45b98bb3d3..99335e59c0 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -227,21 +227,23 @@ const DisplayModes& DisplayDevice::getSupportedModes() const { } DisplayModePtr DisplayDevice::getMode(DisplayModeId modeId) const { - const auto it = std::find_if(mSupportedModes.begin(), mSupportedModes.end(), - [&](DisplayModePtr mode) { return mode->getId() == modeId; }); + const auto it = + std::find_if(mSupportedModes.begin(), mSupportedModes.end(), + [&](const DisplayModePtr& mode) { return mode->getId() == modeId; }); if (it != mSupportedModes.end()) { return *it; } return nullptr; } -DisplayModePtr DisplayDevice::getModefromHwcId(uint32_t hwcId) const { - const auto it = std::find_if(mSupportedModes.begin(), mSupportedModes.end(), - [&](DisplayModePtr mode) { return mode->getHwcId() == hwcId; }); +std::optional<DisplayModeId> DisplayDevice::translateModeId(hal::HWConfigId hwcId) const { + const auto it = + std::find_if(mSupportedModes.begin(), mSupportedModes.end(), + [&](const DisplayModePtr& mode) { return mode->getHwcId() == hwcId; }); if (it != mSupportedModes.end()) { - return *it; + return (*it)->getId(); } - return nullptr; + return {}; } nsecs_t DisplayDevice::getVsyncPeriodFromHWC() const { @@ -468,16 +470,6 @@ HdrCapabilities DisplayDevice::getHdrCapabilities() const { capabilities.getDesiredMinLuminance()); } -ui::DisplayModeId DisplayDevice::getPreferredBootModeId() const { - const auto preferredBootHwcModeId = mCompositionDisplay->getPreferredBootHwcConfigId(); - const auto mode = getModefromHwcId(preferredBootHwcModeId); - if (mode == nullptr) { - ALOGE("%s: invalid display mode (%d)", __FUNCTION__, preferredBootHwcModeId); - return BAD_VALUE; - } - return mode->getId().value(); -} - void DisplayDevice::enableRefreshRateOverlay(bool enable, bool showSpinnner) { if (!enable) { mRefreshRateOverlay.reset(); |