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

Commit 96d3138f authored by Pullakavi Srinivas's avatar Pullakavi Srinivas Committed by Arne Coucheron
Browse files

sf: Fix GPU coordinates computation.

Along with Viewport, final crop need to be
considered to maintain aspect ratio.

CRs-Fixed: 2001126
Change-Id: Ia499cc059a2b0ef65002c60215d2f01ac706867f
parent 0adab82d
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1072,6 +1072,11 @@ void Layer::drawWithOpenGL(const sp<const DisplayDevice>& hw,

        win = s.active.transform.transform(win);
        win.intersect(hw->getViewport(), &win);
        if (!s.finalCrop.isEmpty()) {
            if (!win.intersect(s.finalCrop, &win)) {
                 win.clear();
            }
        }
        win = s.active.transform.inverse().transform(win);
        win.intersect(Rect(s.active.w, s.active.h), &win);
        win = reduce(win, s.activeTransparentRegion);
@@ -1305,6 +1310,11 @@ void Layer::computeGeometry(const sp<const DisplayDevice>& hw, Mesh& mesh,
    if((hw_w * hw_h) > NUM_PIXEL_LOW_RES_PANEL) {
        win = s.active.transform.transform(win);
        win.intersect(hw->getViewport(), &win);
        if (!s.finalCrop.isEmpty()) {
            if (!win.intersect(s.finalCrop, &win)) {
                 win.clear();
            }
        }
        win = s.active.transform.inverse().transform(win);
        win.intersect(Rect(s.active.w, s.active.h), &win);
        win = reduce(win, s.activeTransparentRegion);