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

Commit c9275a3b authored by Adrian Salido's avatar Adrian Salido Committed by android-build-merger
Browse files

Merge "libhwc2on1adapter: avoid marking changes if visible regions unchanged" into oc-mr1-dev

am: 55f8883b

Change-Id: I677625eeccc6372d58785ebc12ae053f0c62b2be
parents 95d4273e 55f8883b
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -2005,10 +2005,21 @@ Error HWC2On1Adapter::Layer::setTransform(Transform transform) {
    return Error::None;
}

static bool compareRects(const hwc_rect_t& rect1, const hwc_rect_t& rect2) {
    return rect1.left == rect2.left &&
            rect1.right == rect2.right &&
            rect1.top == rect2.top &&
            rect1.bottom == rect2.bottom;
}

Error HWC2On1Adapter::Layer::setVisibleRegion(hwc_region_t visible) {
    if ((getNumVisibleRegions() != visible.numRects) ||
        !std::equal(mVisibleRegion.begin(), mVisibleRegion.end(), visible.rects,
                    compareRects)) {
        mVisibleRegion.resize(visible.numRects);
        std::copy_n(visible.rects, visible.numRects, mVisibleRegion.begin());
        mDisplay.markGeometryChanged();
    }
    return Error::None;
}