summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Vadim Caen <caen@google.com> 2024-10-29 15:57:24 +0100
committer Vadim Caen <caen@google.com> 2024-11-01 10:47:06 +0000
commitbb561921105876e1be4a82cceb71a475e3fa1adf (patch)
tree5c8156a0f68bdfb9a945bfca82f81965b3781446
parent3013feb2c32687e630d1f6ba71abd1f81ac9fdcb (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.cpp4
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;
}