History log of /frameworks/native/include/gui/IGraphicBufferProducer.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c90a77f1e5b42d8fcf336d2b9bd2259280814df2 15-Jan-2018 Jiwen 'Steve' Cai <jwcai@google.com> Add BufferHub backend for android::view::Surface

This CL allows BufferHubProducer to be used as alternative backend of
parcelable Surface.

When sent over binder, BufferHubProducer serializes itself differently
from Binder-based IGBP objects. Instead of writing to a Parcel object as
strong binder object, BufferHubProducer asks libbufferhubqueue to
generate a BufferHubQueueParcelable object (which packs all the FDs
representing the BufferHub channel).

When received from a binder interface, BufferHubProducer object can be
reconstructed from the BufferHubQueueParcelable object. The newly
constructed object has all the FDs (i.e. UDS channels) directly
connected to bufferhubd. Thus, on going buffer transport operations can
happen directly between the receiving process and bufferhubd. This
elimates one extra binder hop.

Bug: 37517761
Bug: 70046255
Test: libgui_test, buffer_transport_benchmark,
buffer_hub_queue_producer-test, dvr_api-test,
SurfaceParcelable_test
Change-Id: I78bd879f36d3196f3d74c76c79d27467740792f7
/frameworks/native/libs/gui/include/gui/IGraphicBufferProducer.h
9bad0d7e726e6b264c528a3dd13d0c58fd92c0e1 19-Dec-2017 Courtney Goeltzenleuchter <courtneygo@google.com> Add plumbing for HDR metadata

Allow a ANativeWindow client to send HDR metadata to SurfaceFlinger.
The metadata can be queried with
BufferLayerConsumer::getCurrentHdrMetadata.

Written by Courtney. Updated by olv@.

Bug: 63710530
Test: builds
Change-Id: I23192d4750950664b57863a533bffd72397255b4
/frameworks/native/libs/gui/include/gui/IGraphicBufferProducer.h
e2786ea5aec3a12d948feb85ffbb535fc89c0fe6 07-Aug-2017 Chia-I Wu <olv@google.com> libgui: support 64-bit BQ consumer usage

Add NATIVE_WINDOW_GET_CONSUMER_USAGE64. Support 64-bit consumer
usage flags in BufferItemConsumer and GLConsumer.

In H2BGraphicBufferProducer::getConsumerUsage, however, we will
issue a warning and return 32-bit consumer usage. We will need a
HIDL interface version bump to fix it.

Bug: 35215313
Test: manual
Change-Id: I1f8884a7db71bbdb269d05b94443ddec2ff46f8a
/frameworks/native/libs/gui/include/gui/IGraphicBufferProducer.h
a2eb34cfbe089deb9a519e9702e17d9dfe26f9e8 18-Jul-2017 Ian Elliott <ianelliott@google.com> 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
(cherry picked from commit d11b044864be525a1646f93106ab496195bb8239)
/frameworks/native/libs/gui/include/gui/IGraphicBufferProducer.h
172bd727181da158c40100795cff279b9721559d 20-Jun-2017 Jiyong Park <jiyong@google.com> Make libgui available to vendors

libgui is now available to vendors, especially for BufferQueue in
between the OMX and Camera HALs for encoding the captured video stream.

In doing so, its headers were moved from frameworks/native/include to
its local directory frameworks/native/libs/gui/include. This is required
because global include path is not supported when building for vendor.
However, in order not to affect platform modules that are still relying
on the global include path, symlinks are provided.

frameworks/native/include/gui -> frameworks/native/libs/include/gui
frameworks/native/include/private/gui ->
frameworks/native/libs/include/private/gui

Bug: 37731063
Test: BOARD_VNDK_VERSION=current m -j libgui.vendor
Change-Id: I0bab8d2e31959085ad58b1ce4c610334ee3da033
/frameworks/native/libs/gui/include/gui/IGraphicBufferProducer.h