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

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

Merge "Fix dequeus outside of frame drawing" into oc-dev

parents 9057f846 32414eea
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -436,8 +436,15 @@ void CanvasContext::draw() {
        swap.vsyncTime = mRenderThread.timeLord().latestVsync();
        if (mNativeSurface.get()) {
            int durationUs;
            nsecs_t dequeueStart = mNativeSurface->getLastDequeueStartTime();
            if (dequeueStart < mCurrentFrameInfo->get(FrameInfoIndex::Vsync)) {
                // Ignoring dequeue duration as it happened prior to vsync
                // and thus is not part of the frame.
                swap.dequeueDuration = 0;
            } else {
                mNativeSurface->query(NATIVE_WINDOW_LAST_DEQUEUE_DURATION, &durationUs);
                swap.dequeueDuration = us2ns(durationUs);
            }
            mNativeSurface->query(NATIVE_WINDOW_LAST_QUEUE_DURATION, &durationUs);
            swap.queueDuration = us2ns(durationUs);
        } else {