diff options
author | 2024-10-29 15:57:24 +0100 | |
---|---|---|
committer | 2024-11-01 10:47:06 +0000 | |
commit | bb561921105876e1be4a82cceb71a475e3fa1adf (patch) | |
tree | 5c8156a0f68bdfb9a945bfca82f81965b3781446 | |
parent | 3013feb2c32687e630d1f6ba71abd1f81ac9fdcb (diff) |
Fix condition for waiting next frame
mNextFrameNumber is initiallized to 1. If we want to wait
for the first frame to be drawn, one would expect to call mSurface.waitForNextFrame(0 /* lastFrame */),
but since mNextFrameNumber is always greater then lastFrame, the method
never waits.
Test: N/A
Bug: 376248818
Bug: 376828703
Flag: EXEMPT bug fix
Change-Id: I8804479bad8102a441a95951ac27c1cc0711d7b0
-rw-r--r-- | libs/gui/Surface.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/gui/Surface.cpp b/libs/gui/Surface.cpp index 66e7ddd915..e41f9bbf43 100644 --- a/libs/gui/Surface.cpp +++ b/libs/gui/Surface.cpp @@ -2735,8 +2735,8 @@ status_t Surface::unlockAndPost() bool Surface::waitForNextFrame(uint64_t lastFrame, nsecs_t timeout) { Mutex::Autolock lock(mMutex); - if (mNextFrameNumber > lastFrame) { - return true; + if (mLastFrameNumber > lastFrame) { + return true; } return mQueueBufferCondition.waitRelative(mMutex, timeout) == OK; } |