replicant-frameworks_native/services
Dan Stoza ecc504043f SurfaceFlinger: Fix PTS on stale buffers
SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was
getting out of sync for a few reasons. This change fixes these by
doing the following:

- Adds a check to re-synchronize the shadow copy every time we
  successfully acquire a buffer by first dropping stale buffers before
  removing the current buffer.
- Avoids trying to perform updates for buffers which have been rejected
  (for incorrect dimensions) by SurfaceFlinger.
- Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the
  consumer to notify the BufferQueue that it is maintaining a shadow
  copy of the queue and prevents it from dropping so many buffers
  during acquireBuffer that it ends up returning a buffer for which the
  consumer has not yet received an onFrameAvailable call.

Bug: 20096136
Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
(cherry picked from commit 2e36f2283f)
2015-05-01 12:23:44 -07:00
..
batteryservice Replace IInterface::asBinder() with a static 2014-11-17 08:47:01 -08:00
inputflinger Merge "Default to TOOL_TYPE_STYLUS for external stylus events." 2015-04-21 21:46:32 +00:00
powermanager Frameworks/native: Wall Werror in batteryservice & powermanager 2014-11-13 14:31:11 -08:00
sensorservice Enable data injection mode in SensorService. 2015-04-23 17:42:37 -07:00
surfaceflinger SurfaceFlinger: Fix PTS on stale buffers 2015-05-01 12:23:44 -07:00