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
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h
index 4ff9006..9e3c4db 100644
--- a/services/surfaceflinger/Layer.h
+++ b/services/surfaceflinger/Layer.h
@@ -306,7 +306,8 @@
/*
* Returns if a frame is queued.
*/
- bool hasQueuedFrame() const { return mQueuedFrames > 0 || mSidebandStreamChanged; }
+ bool hasQueuedFrame() const { return mQueuedFrames > 0 ||
+ mSidebandStreamChanged || mSingleBufferMode; }
// -----------------------------------------------------------------------
@@ -489,6 +490,8 @@
Vector<BufferItem> mQueueItems;
uint64_t mLastFrameNumberReceived;
bool mUpdateTexImageFailed; // This is only modified from the main thread
+
+ bool mSingleBufferMode;
};
// ---------------------------------------------------------------------------