Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c86265dc authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10643491 from 7912d80f to udc-qpr1-release

Change-Id: I72bce782ae153cda772bbfaa2f7139cdaa985c17
parents 1c085b04 7912d80f
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -213,10 +213,7 @@ void DisplayDevice::setActiveMode(DisplayModeId modeId, Fps displayFps, Fps rend
    ATRACE_INT(mRenderFrameRateFPSTrace.c_str(), renderFps.getIntValue());

    mRefreshRateSelector->setActiveMode(modeId, renderFps);

    if (mRefreshRateOverlay) {
        mRefreshRateOverlay->changeRefreshRate(displayFps, renderFps);
    }
    updateRefreshRateOverlayRate(displayFps, renderFps);
}

status_t DisplayDevice::initiateModeChange(const ActiveModeInfo& info,
@@ -446,7 +443,7 @@ void DisplayDevice::enableRefreshRateOverlay(bool enable, bool setByHwc, bool sh
    mRefreshRateOverlay = std::make_unique<RefreshRateOverlay>(fpsRange, features);
    mRefreshRateOverlay->setLayerStack(getLayerStack());
    mRefreshRateOverlay->setViewport(getSize());
    updateRefreshRateOverlayRate(getActiveMode().modePtr->getFps(), getActiveMode().fps);
    updateRefreshRateOverlayRate(getActiveMode().modePtr->getFps(), getActiveMode().fps, setByHwc);
}

void DisplayDevice::updateRefreshRateOverlayRate(Fps displayFps, Fps renderFps, bool setByHwc) {
+15 −12
Original line number Diff line number Diff line
@@ -7826,19 +7826,22 @@ void SurfaceFlinger::enableRefreshRateOverlay(bool enable) {
    bool setByHwc = getHwComposer().hasCapability(Capability::REFRESH_RATE_CHANGED_CALLBACK_DEBUG);
    for (const auto& [id, display] : mPhysicalDisplays) {
        if (display.snapshot().connectionType() == ui::DisplayConnectionType::Internal) {
            if (const auto device = getDisplayDeviceLocked(id)) {
                const auto enableOverlay = [&](const bool setByHwc) FTL_FAKE_GUARD(
                                                   kMainThreadContext) {
                    device->enableRefreshRateOverlay(enable, setByHwc, mRefreshRateOverlaySpinner,
                                                     mRefreshRateOverlayRenderRate,
                                                     mRefreshRateOverlayShowInMiddle);
                };
                enableOverlay(setByHwc);
                if (setByHwc) {
                    const auto status =
                            getHwComposer().setRefreshRateChangedCallbackDebugEnabled(id, enable);
                    if (status != NO_ERROR) {
                        ALOGE("Error updating the refresh rate changed callback debug enabled");
                    return;
                        enableOverlay(/*setByHwc*/ false);
                    }
                }

            if (const auto device = getDisplayDeviceLocked(id)) {
                device->enableRefreshRateOverlay(enable, setByHwc, mRefreshRateOverlaySpinner,
                                                 mRefreshRateOverlayRenderRate,
                                                 mRefreshRateOverlayShowInMiddle);
            }
        }
    }