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

Commit 6d4164bc authored by Pablo Ceballos's avatar Pablo Ceballos Committed by android-build-merger
Browse files

SF: Make screenshot surface async

am: 605d15af

Change-Id: Id24c7ccb275dcad914bda83b825c71af90aac637
parents e7f20597 605d15af
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3622,6 +3622,14 @@ status_t SurfaceFlinger::captureScreenImplLocked(
    // create a surface (because we're a producer, and we need to
    // dequeue/queue a buffer)
    sp<Surface> sur = new Surface(producer, false);

    // Put the screenshot Surface into async mode so that
    // Layer::headFenceHasSignaled will always return true and we'll latch the
    // first buffer regardless of whether or not its acquire fence has
    // signaled. This is needed to avoid a race condition in the rotation
    // animation. See b/30209608
    sur->setAsyncMode(true);

    ANativeWindow* window = sur.get();

    status_t result = native_window_api_connect(window, NATIVE_WINDOW_API_EGL);