diff options
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
| -rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 136a14a654..17d4a2c818 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -806,8 +806,8 @@ status_t BufferQueueProducer::queueBuffer(int slot, mCore->mDequeueBufferCannotBlock || (mCore->mSingleBufferMode && mCore->mSingleBufferSlot == slot); item.mSurfaceDamage = surfaceDamage; - item.mSingleBufferMode = mCore->mSingleBufferMode; item.mQueuedBuffer = true; + item.mAutoRefresh = mCore->mSingleBufferMode && mCore->mAutoRefresh; mStickyTransform = stickyTransform; @@ -1309,6 +1309,16 @@ status_t BufferQueueProducer::setSingleBufferMode(bool singleBufferMode) { return NO_ERROR; } +status_t BufferQueueProducer::setAutoRefresh(bool autoRefresh) { + ATRACE_CALL(); + BQ_LOGV("setAutoRefresh: %d", autoRefresh); + + Mutex::Autolock lock(mCore->mMutex); + + mCore->mAutoRefresh = autoRefresh; + return NO_ERROR; +} + status_t BufferQueueProducer::setDequeueTimeout(nsecs_t timeout) { ATRACE_CALL(); BQ_LOGV("setDequeueTimeout: %" PRId64, timeout); |