diff options
author | 2015-10-07 16:32:12 -0700 | |
---|---|---|
committer | 2015-11-03 12:04:10 -0800 | |
commit | 063121849890da78b1ad7fb96c54c795de5d1fd6 (patch) | |
tree | 47e2449faae2ae494528edecb4ba5cdb55fdda85 /libs/gui/BufferQueueConsumer.cpp | |
parent | ccdfd60d79a8b7f1ed6401d0f2e8e29166a10584 (diff) |
SF: Force refresh when in single buffer mode
- Add a boolean to BufferItem to track whether single buffer mode is
enabled. When it is, force SurfaceFlinger to acquire a new buffer
and refresh on every vsync.
Bug 24940410
Change-Id: Iea67330c416b6fb14500865f98c67f1c12f23197
Diffstat (limited to 'libs/gui/BufferQueueConsumer.cpp')
-rw-r--r-- | libs/gui/BufferQueueConsumer.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/gui/BufferQueueConsumer.cpp b/libs/gui/BufferQueueConsumer.cpp index 8e2afd0012..6f9f21f296 100644 --- a/libs/gui/BufferQueueConsumer.cpp +++ b/libs/gui/BufferQueueConsumer.cpp @@ -203,11 +203,15 @@ status_t BufferQueueConsumer::acquireBuffer(BufferItem* outBuffer, (mCore->mSingleBufferCache.transform & NATIVE_WINDOW_TRANSFORM_INVERSE_DISPLAY) != 0; outBuffer->mSurfaceDamage = Region::INVALID_REGION; + outBuffer->mSingleBufferMode = true; + outBuffer->mQueuedBuffer = false; } else { slot = front->mSlot; *outBuffer = *front; } + outBuffer->mSingleBufferMode = mCore->mSingleBufferMode; + ATRACE_BUFFER_INDEX(slot); BQ_LOGV("acquireBuffer: acquiring { slot=%d/%" PRIu64 " buffer=%p }", |