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

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

Merge "Force client composition if we'd use rotator"

parents 45863f5f 5a96326e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -626,9 +626,15 @@ void Layer::setGeometry(const sp<const DisplayDevice>& displayDevice, uint32_t z
        transform = Transform(invTransform) * tr * bufferOrientation;
    }

    // STOPSHIP (b/72106793): If we have less than 25% scaling, HWC usually needs to use the rotator
    // to handle it. However, there is one guaranteed frame of jank when we switch to using the
    // rotator. In the meantime, we force GL composition instead until we have a better fix for the
    // HWC issue.
    bool extremeScaling = abs(t[0][0]) <= 0.25 || abs(t[1][1]) <= 0.25;

    // this gives us only the "orientation" component of the transform
    const uint32_t orientation = transform.getOrientation();
    if (orientation & Transform::ROT_INVALID) {
    if (orientation & Transform::ROT_INVALID || extremeScaling) {
        // we can only handle simple transformation
        hwcInfo.forceClientComposition = true;
    } else {