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

Commit a4adfb19 authored by LuK1337's avatar LuK1337
Browse files

surfaceflinger: Pass proper transform orientation to setProjection()

* Without adding display install orientation,
  the orientation passed to setProjection()
  is incorrect thus screen contents aren't
  rendered properly.

Change-Id: Ieba6992bd6148c0480a2cae681c85bed75de30f1
parent b5f8331e
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -272,13 +272,17 @@ void DisplayDevice::setProjection(int orientation,
        scissor = displayBounds;
    }

    uint32_t transformOrientation;

    if (isPrimary()) {
        sPrimaryDisplayOrientation = displayStateOrientationToTransformOrientation(orientation);
        transformOrientation = displayStateOrientationToTransformOrientation(
                (orientation + mDisplayInstallOrientation) % (DisplayState::eOrientation270 + 1));
    } else {
        transformOrientation = displayStateOrientationToTransformOrientation(orientation);
    }

    getCompositionDisplay()->setProjection(globalTransform,
                                           displayStateOrientationToTransformOrientation(
                                                   orientation),
    getCompositionDisplay()->setProjection(globalTransform, transformOrientation,
                                           frame, viewport, scissor, needsFiltering);
}