OSDN Git Service

libgui: Add generation numbers to BufferQueue
authorDan Stoza <stoza@google.com>
Tue, 2 Jun 2015 22:45:22 +0000 (15:45 -0700)
committerDan Stoza <stoza@google.com>
Wed, 3 Jun 2015 18:09:33 +0000 (11:09 -0700)
commit812ed0644f8f8f71ca403f4e5793f0dbc1fcf9b2
treeceb7515f9f4ded20808bdb322eb9af77366d0629
parenta8c2454d52d3c23bd53b4a172eff8e5f4af30168
libgui: Add generation numbers to BufferQueue

This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
18 files changed:
include/gui/BufferQueueCore.h
include/gui/BufferQueueProducer.h
include/gui/IGraphicBufferConsumer.h
include/gui/IGraphicBufferProducer.h
include/gui/Surface.h
include/ui/GraphicBuffer.h
libs/gui/BufferQueueConsumer.cpp
libs/gui/BufferQueueCore.cpp
libs/gui/BufferQueueProducer.cpp
libs/gui/IGraphicBufferProducer.cpp
libs/gui/Surface.cpp
libs/gui/tests/BufferQueue_test.cpp
libs/gui/tests/Surface_test.cpp
libs/ui/GraphicBuffer.cpp
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
services/surfaceflinger/MonitoredProducer.cpp
services/surfaceflinger/MonitoredProducer.h