OSDN Git Service

Have the Surface class track the buffer age.
authorIan Elliott <ianelliott@google.com>
Tue, 18 Jul 2017 17:05:49 +0000 (11:05 -0600)
committerIan Elliott <ianelliott@google.com>
Thu, 27 Jul 2017 14:51:35 +0000 (08:51 -0600)
commitd11b044864be525a1646f93106ab496195bb8239
tree259c69333b05790f7b79031ea50475977e1765e3
parentdba34b72c40dbb354fe7dc67e43123ea30900915
Have the Surface class track the buffer age.

Have the Surface class track the buffer age, so that Surface::query()
can return the buffer age without having to use a binder call to
BufferQueueProducer::query().  The idea is for
BufferQueueProducer::dequeueBuffer() to return the value, which the
Surface class will cache for later use by Surface::query().

Bug: b/27903668
Test: Use systrace to no ensure query binder call after dequeueBuffer.
Change-Id: I106a7bd27461d381f0bd84df70d804de56a128ab
20 files changed:
libs/gui/BufferQueueProducer.cpp
libs/gui/IGraphicBufferProducer.cpp
libs/gui/Surface.cpp
libs/gui/bufferqueue/1.0/H2BGraphicBufferProducer.cpp
libs/gui/include/gui/BufferQueueProducer.h
libs/gui/include/gui/IGraphicBufferProducer.h
libs/gui/include/gui/Surface.h
libs/gui/include/gui/bufferqueue/1.0/H2BGraphicBufferProducer.h
libs/gui/tests/BufferItemConsumer_test.cpp
libs/gui/tests/BufferQueue_test.cpp
libs/gui/tests/IGraphicBufferProducer_test.cpp
libs/gui/tests/Malicious.cpp
libs/gui/tests/StreamSplitter_test.cpp
libs/vr/libbufferhubqueue/buffer_hub_queue_producer.cpp
libs/vr/libbufferhubqueue/include/private/dvr/buffer_hub_queue_producer.h
libs/vr/libbufferhubqueue/tests/buffer_hub_queue_producer-test.cpp
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.cpp
services/surfaceflinger/DisplayHardware/VirtualDisplaySurface.h
services/surfaceflinger/MonitoredProducer.cpp
services/surfaceflinger/MonitoredProducer.h