summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueue.cpp
diff options
context:
space:
mode:
author Jiwen 'Steve' Cai <jwcai@google.com> 2018-01-14 15:42:29 -0800
committer Jiwen 'Steve' Cai <jwcai@google.com> 2018-02-13 13:18:17 -0800
commitc90a77f1e5b42d8fcf336d2b9bd2259280814df2 (patch)
treee919c1e50e1c0e2b87cac01690db508873a50004 /libs/gui/BufferQueue.cpp
parent5a8f0d49f9ab6105a975741ff31c681f2db63d35 (diff)
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
Diffstat (limited to 'libs/gui/BufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions