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

Commit abc55a6a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix display power state reset in vr flinger path"

parents 852aff0a 0123ac61
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1457,9 +1457,13 @@ void SurfaceFlinger::updateVrFlinger() {

    Mutex::Autolock _l(mStateLock);

    const auto display = getDefaultDisplayDeviceLocked();
    sp<DisplayDevice> display = getDefaultDisplayDeviceLocked();
    LOG_ALWAYS_FATAL_IF(!display);
    const int currentDisplayPowerMode = display->getPowerMode();
    // This DisplayDevice will no longer be relevant once resetDisplayState() is
    // called below. Clear the reference now so we don't accidentally use it
    // later.
    display.clear();

    if (!vrFlingerRequestsDisplay) {
        mVrFlinger->SeizeDisplayOwnership();
@@ -1484,6 +1488,8 @@ void SurfaceFlinger::updateVrFlinger() {
    invalidateHwcGeometry();

    // Re-enable default display.
    display = getDefaultDisplayDeviceLocked();
    LOG_ALWAYS_FATAL_IF(!display);
    setPowerModeInternal(display, currentDisplayPowerMode, /*stateLockHeld*/ true);

    // Reset the timing values to account for the period of the swapped in HWC