f5f36c75527b1924ef8cb5cb66eb745dd27a0fc6 |
02-May-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Remove libpdx*, libbufferhub* from VNDK This is largely inspired by ag/3865679: dependencies from libui and libgui to libpdx_default_transport and libbufferhubque are cut when building libui and libgui for vendors. This is primarily to exclude libpdx* and libbufferhubqueue from VNDK. Bug: 79151096 Test: Build system and inspect bufferhub/pdx related libraries are no longer in vendor partition. Change-Id: Idcd524db2a9f6ec96262bcf590fc0f80a0bd26e7 Merged-In: Id4768162aeb72b71d63d7e4498980f276ef58e6b
ndroid.bp
|
0728fa93c12145c2337a0033eb69056520b7bcd8 |
25-Apr-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Implement DetachedBuffer::Promote 1/ This enables a BufferHub-backed DetachedBuffer to be promoted into the ProducerBuffer. 2/ Add DetachedBuffer::IsConnected in addition to DetachedBuffer::IsValid. 3/ Cleaned up some using pdx:: namespace statements. Bug: 69982239 Bug: 69981968 Bug: 70046255 Test: buffer_hub-test Change-Id: I6ee99507b190d142647455532cdce0c2c780b2b0
uffer_hub-test.cpp
etached_buffer.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/detached_buffer.h
|
a8049a284ecf3eafddbacf5230b0fefe85de8446 |
29-Mar-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
bufferhubd: Implement more DetachedBuffer logic 1/ Separate DetachedBuffer related logic into a dedicated subclass of BufferHubRPC. This actually is the right thing to do as it utilizes the PDX's client/service programming pattern better. 2/ Add IsValid() check for the DetachedBufferChannel object. 3/ Add BufferHubClient to handle general PDX operations. 4/ Add DetachedBuffer which composites a BufferHubClient. 5/ Fully functional logic of allocating a DetachedBuffer, converting it to a BufferHub-backed GraphicBuffer, then converting it back to a DetachedBuffer. Bug: 38137191 Bug: 70046255 Bug: 70912269 Test: buffer_hub-test Change-Id: I81bf9259cbbaeb29a6df2769363b5a03464e7864
ndroid.bp
uffer_hub-test.cpp
uffer_hub_client.cpp
etached_buffer.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/detached_buffer.h
nclude/private/dvr/ion_buffer.h
|
fe924f35e25d1fc583be979ed7799cb922dd6675 |
27-Mar-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Fix broken BufferHubQueueTest.TestRemoveBuffer Under certain condition, it's unsafe to nullify the consumer channel within producer channel's destructor. Bug: 38137191 Bug: 70046255 Bug: 70912269 Test: buffer_hub-test, buffer_hub_queue-tests, buffer_hub_queue_producer-tesst Change-Id: Ifbed85e687e71340f6876e4e85c792ae1d6b06f6
uffer_hub-test.cpp
|
23c1a735b673a9310f05b893a3d01de38d8c1166 |
12-Mar-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
bufferhubd: Add DetachedBufferChannel 1/ Introduces four new BufferHub RPC operations. 2/ Implements the ProducerBufferDetach with test case. 3/ Also fixes a bug that Hangup signal wasn't propogated to the client when bufferhubd closes a producer channel. Bug: 38137191 Bug: 70046255 Bug: 70912269 Test: buffer_hub-test Change-Id: Ia2ba0e95abd3c1b960670c505c6fdb9c9de3a6dd
uffer_hub-test.cpp
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
|
06e6451bd9fcf3eac37d28091f19ba8391fdecc8 |
09-Nov-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Remove NativeBuffer from libbufferhub This code is long dead and completely unused. Let's keep buffer hub related code clean. Bug: 70046255 Test: buffer_hub_queue-test, buffer_hub-test, build system Change-Id: I106f1f339757a03af50c318de77199d01765093f
nclude/private/dvr/native_buffer.h
|
f01081742669b883c0e0c7b39ec527317d800fd5 |
09-Mar-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Deprecate producer/consumer usage in BufferHub producer_usage and consuemr_usage were introduced in Android O temporarily then removed not long after. BufferHub added those then we also removed them, but there appeared to be some leftovers. Bug: 37881101 Test: buffer_hub-test, buffer_hub_queue-test, libdvr-test, libgui-test Change-Id: I8551627bc820ddd04f6d6d7250d631fa54a78b72
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
|
08300cf571a45404d712cb366b88f75b8841fff0 |
27-Feb-2018 |
Chih-hung Hsieh <chh@google.com> |
Merge "Revert "Use arm instruction set with clang 7.0 LTO""
|
9da3732eea7cf32fb12cc08f03e9b16a588d0d96 |
27-Feb-2018 |
Chih-hung Hsieh <chh@google.com> |
Revert "Use arm instruction set with clang 7.0 LTO" This reverts commit 94574f271fe8730d841a286069c198c6e74fc9e5. Clang 7.0 LTO shouldn't need arm instruction set, if we revert one LLVM recent change. Bug: 72619014 Change-Id: Ic1ee146b823602ae419891f5e0956640109dd397
ndroid.bp
|
2f260339e4b32f41db6699c69cf0d568c396bcf5 |
16-Feb-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Remove legacy persistent BufferHub use case This CL cleans up unused BufferHub code path. The motivation of doing this is multifold: 1. Reduces future maintainace cost (e.g. when moving to libgui, there will be less code to rename and re-style). 2. Removes unnecessary code complexity so that the code base is easier and cleaner for future new reader to understand. 3. Prepares future work for supporting standalone GraphicBuffer in BufferHub by avoid future logical and naming conflicts between legacy PersistentBuffer/Detach/Attach and newly proposed detached GraphicBuffer in BufferHub. Bug: 70046255 Bug: 70912269 Test: buffer_hub-test, buffer_hub_queue-test, buffer_hub_queue_producer-test, dvr_api-test, libgui_test Change-Id: Ie9a0f55e3f620769bac58c81439d840402451b82
uffer_hub-test.cpp
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
|
94574f271fe8730d841a286069c198c6e74fc9e5 |
08-Feb-2018 |
Chih-Hung Hsieh <chh@google.com> |
Use arm instruction set with clang 7.0 LTO * surfaceflinger.so uses LTO. clang 7.0 LTO inlined more code and some references are too far away to use thumb instructions. Bug: 72619014 Test: run Forrest Change-Id: Ia09931e93a170ac58007f80da2d580bb9b9635a6
ndroid.bp
|
037f35aea612c0b4f3976e9e27cf68a0b8913e2f |
26-Jan-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Build libbufferhubqueue and libpdx_default_transport as shared library Now that we are moving BufferHub into libgui, these two libraries are being linked into libgui.so and libdvr.so respectively as static lib. This is cauing issues when a binary/app depends on both, i.e. two copies of the static lib will live in the same binary. We can avoid this issue by building these two as shared library. Test: Build system Bug: 72763929 Change-Id: I26ba18f2b84d43cbd62b26dbb9ee0574c2974f7d
ndroid.bp
|
0f950843530825907f8311b199b01c32899c2c92 |
17-Jan-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Move BufferHub-based IGBP into libgui Currently the BufferHub based IGBP implementation lives inside frameworks/libs/vr and libbufferhubqueue is depending on libgui. This CL reverses the dependency and paves the way of future integration of BufferHub into libgui. Mirrors changes to make this work: 1/ Fix shared lib dependency of libpdx 2/ Allow implicit template instantiation in libgui 3/ Mute clang warnings caused by libpdx Bug: 72051005 Bug: 70046255 Test: libgui-test, buffer_hub_queue_producer-test, dvr_api-test Change-Id: I7541498f78aaeb4b15fc6cb6439a2e2d706b9e99
ndroid.bp
nclude/private/dvr/bufferhub_rpc.h
|
36b5a0f502068c17da3ae0d9855807863fbb23cf |
15-Jan-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
BufferHub: Clean up unnecessary DVR dependency As we are upstreaming BufferHub to Android maintain, let's make sure there is no unnecessary dependency on DVR. Bug: 70046255 Test: buffer_hub-test, buffer_hub_queue-test Change-Id: Idc3cb30c9629374ebbc94d6ff095447dc02928d5
ndroid.bp
|
2d89e6b3e82803083290ed0bb6de84e4512fff90 |
07-Dec-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Fix a flaky test in buffer_hub-test UDS-based PDX guarantees commands execution on the same channel. However, where there are incoming commands from different channels, the execution order can no longer be guaranteed as the service basical holds a epoll on sockets from different FDs. The original test we put up is flaky for the following commands: c1->ReleaseAsync p->CreateConsumer Not that the ReleaseAsync call may actually happen after a new consumer gets created, which prevents the buffer from being fulling released back to the producer. To de-flaky the test, simplily poll the producer after the release to confirm that the buffer is indeed released before moving on. Bug: 70298522 Bug: 70046255 Test: buffer_hub-test Change-Id: Ia3987642a40f62e7d151edbdf0f11dd9bee57223
uffer_hub-test.cpp
|
44d644466e5d9b1848d93f9b4792df1e51d67573 |
14-Nov-2017 |
Chih-Hung Hsieh <chh@google.com> |
Merge "Use -Werror in frameworks/native/libs/vr" am: 79ce1748ea am: 397c7d31db am: de73ca4825 Change-Id: Icca8a42d838161bbba84dd87674185c69f60f03c
|
a88e3ee3a33a60e72bd976cfb5b9fc0bd15a1078 |
04-Nov-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Make BufferHubQueue binder parcelable The goal of this CL is to enable sending BufferHubQueue clients over binder, so that ANativeWindow/Surface backed by BufferHub can be send over binder just like the current binder BufferQueue based implementation. To enable PDX clients to be binder parcelable, this CL introduced new DPX interface: pdx::ChannelParcelable with UDS-backed implementation. Note that the ChannelParcelable interface is only exposed to each implementation of PDX client (BufferHubQueue clients in this CL) through protected pdx::Client interface. The reason for doing that is each client implementation may require different custom clean up logic between the client can be safely exported to another process. Thus, we don't want to expose this export-to-binder becomes a pdx-Client level feature, but let each client implement their own. In addition, there is no immediate need for all types of pdx::Client implementation being binder parcelable, thus we only implemented the logic for BufferHubQueue. This is the first of a seriers of CLs to eventually enable binder parcelable ANativeSurface backed by BufferHub. Bug: 37517761 Bug: 63909629 Test: buffer_hub_queue-test Change-Id: I41c8a710af3095312db823ff01bc5aa526775edd
ndroid.bp
|
de73ca4825ca1948cb20f991a026be7af55bfc9a |
14-Nov-2017 |
Chih-Hung Hsieh <chh@google.com> |
Merge "Use -Werror in frameworks/native/libs/vr" am: 79ce1748ea am: 397c7d31db Change-Id: If99d869b0bd87a695c2683c676e06eaf02c9c847
|
e19008350e91367c3d18410dad5cedf369ea3258 |
05-Oct-2017 |
Chih-Hung Hsieh <chh@google.com> |
Use -Werror in frameworks/native/libs/vr * Suppress/fix warnings of unused variable, parameter, private-field, and function. * Fix warnings about typedef missing declarator. * Use -Wno-error to keep existing warnings, to fix later. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: Iae96af3f6a17623befe73a9db2c81275fee44fa6
ndroid.bp
|
30be1118bec14c42472d86f185bf377bf7f1a3a7 |
09-Nov-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Reduce buffer_hub-test flakiness Increase the poll() timeout to 100ms to reduce test flakiness. Also update to use glocal const kPollTimeoutMs so that we can easily tune it in future. This also fix some compiler warnings around EXPECT_EQ. Bug: 63909629 Bug: 68152849 Test: buffer_hub-test Change-Id: I4e0e891125e0a1763b0f319bf47e71bc59213024
uffer_hub-test.cpp
|
9e7f303680b022ff6578b9824dad7146e78332c8 |
21-Oct-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Add more unit test for bufferhub TestAsyncStateTransitions TestZeroConsumer TestMaxConsumers TestCreateConsumerWhenBufferGained TestCreateConsumerWhenBufferPosted TestCreateConsumerWhenBufferReleased This also renames the test to buffer_hub-test to match the name scheme we are using elsewhere (i.e. buffer_hub_xxx instead of bufferhub_xxx and yyy-test vs yyy_tests). Bug: 68152849 Test: buffer_hub-test Change-Id: I18ed32862bbee207e2751139599eff4f6f6e8618
ndroid.bp
uffer_hub-test.cpp
ufferhub_tests.cpp
nclude/private/dvr/buffer_hub_client.h
|
d14ee8e15ca7a8d1319a0965916b1b66c4cc19a2 |
12-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Merge "Revert "Use -Werror in frameworks/native/libs/vr"" am: a6d2f5571c am: 4276e8a1e7 am: 3975700384 Change-Id: I20cdc3eb77519a45cd15e96118e5c6db0e818adb
|
4276e8a1e7d5f054afe57fd4fbfbbe560d9ff864 |
12-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Merge "Revert "Use -Werror in frameworks/native/libs/vr"" am: a6d2f5571c Change-Id: I1bb99bebeb4f1b27849f827e0a9a3f51d0eda2ec
|
d980f7a91d54da257a0b2d94a2d70263d11229e9 |
12-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Revert "Use -Werror in frameworks/native/libs/vr" This reverts commit 38a11928990e62b263abe2dada0ff1f43d878e7c. Change-Id: I2315300d0c8d52e224907a4f8edcf0d53658a742
ndroid.bp
|
300cf20369e3bda20022c906036148cba01b19de |
12-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Merge "Use -Werror in frameworks/native/libs/vr" am: 8ad1b2872d am: 37e64c30af am: 5e5014b84b Change-Id: I55ed73815587aa773686ad60e4fda3bd65e8d032
|
37e64c30afae2bcf1a0a5fc54cca8a392a33421e |
12-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Merge "Use -Werror in frameworks/native/libs/vr" am: 8ad1b2872d Change-Id: I6b259336b1ecfa2564f4c2c2de9a5734a8666342
|
38a11928990e62b263abe2dada0ff1f43d878e7c |
05-Oct-2017 |
Chih-Hung Hsieh <chh@google.com> |
Use -Werror in frameworks/native/libs/vr * Suppress/fix warnings of unused variable, parameter, private-field, and function. * Fix warnings about typedef missing declarator. * Use -Wno-error to keep existing warnings, to fix later. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: Ifb82fcd76fcb5d9c9d9f017f2541581661493bd5
ndroid.bp
|
3ab6cf9d67803671a22830ce9c1ec0716e113a09 |
11-Oct-2017 |
Chih-hung Hsieh <chh@google.com> |
Merge "Cherry pick -DATRACE_TAG=... from goog/master branch." am: 6cfabaeb66 Change-Id: I4f25849a7bcd8d0b73d2fd9071f53afe9ae19b46
|
91f2522f5c0a64bd11b3ac27c4aa5775489db5a4 |
11-Oct-2017 |
Chih-Hung Hsieh <chh@google.com> |
Cherry pick -DATRACE_TAG=... from goog/master branch. Test: normal build Change-Id: I6410b9e99dab76cbfbc27041f461ba46f9abf539
ndroid.bp
|
52ea25cf06cef250ec73052611b48556b3fce4d5 |
14-Sep-2017 |
Corey Tabaka <eieio@google.com> |
Add shared memory based buffer metadata This CLs reduces BufferHub CPU consumption by adding asynchronous state transition so that out-of-process VR composition can run on 2016 pixel devices smoothly. In addition, this CL addresses a couple corner cases in the existing bufferhub logic, which fixes various blackscreen issues. 1/ Tracks buffer transition states (gained, posted, acquired, released) from the client side via atomic shared memory and adds PostAsync/AcquireAsync/ReleaseAsync/GainAsync with metadata and fence support. 2/ Adds dequeue order guarantee for buffers enqueued with dvrWriteBufferQueuePostBuffer. 3/ Synchronous BuffeHub operations are still supported. 4/ Bump up the bufferhubd's soft limit of open file descriptor. 5/ Handle orphaned consumer in acquired state. This is a corner case that consumer process goes aways (most likely due to a crash) leaving buffer stuck in acquired state with inconsistent buffer state. 6/ Fixes a race condition for released buffer to be Gain'ed and Acquire'd when a new consumer is created in released state. 7/ Improve silent consumer queue efficiency: Silent queues no longer import buffers or receive signals about new buffers and they are limited to only spawning other consumers and notifications about producers hanging up. 8/ Modify PDX/UDS channel event signaling to work around epoll behavior. PDX UDS uses a combination of an eventfd and an epoll set to simulate the original PDX transport channel events. An odd behavior discovered in the kernel implementation of epoll was found that causes the epoll fd to "unsignal" itself whenever epoll_wait() is called on it, regardless of whether it should still be pending. This breaks the edge triggerd behavior in nested epoll sets that channel events depend on. Since this is unlikely to ever be fixed in the kernel we work around the behavior by using the epoll set only as a logical OR of two eventfds and never calling epoll_wait() on it. When polling is required we use regluar poll() with the eventfds and data fd to avoid the bad behavior in epoll_wait(). 9/ Keep reading data after PDX hangup signal. UDS will signal hangup when the other end of the socket closes. However, data could still be in the kerenl buffer and should be consumed. Fix an issue where the service misses an impulse sent right before the socket is closed. Bug: 65455724 Bug: 65458354 Bug: 65458312 Bug: 64027135 Bug: 67424527 Test: libpdx_uds_tests bufferhub_tests buffer_hub_queue-test buffer_hub_queue_producer-test dvr_api-test Change-Id: Id07db1f206ccf4e06f7ee3c671193334408971ca
ndroid.bp
uffer_hub_client.cpp
ufferhub_tests.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
|
d53870c58cbb3671c2efdae3cc53850b962aa9dc |
07-Jul-2017 |
Corey Tabaka <eieio@google.com> |
Fix BufferHub state machine to return errors on invalid transitions. The consumer side of the BufferHub flow did not have an adequate state machine to track transitions and return errors when Acquire or Release are requested from the wrong state. This bug allowed other buggy usage to go unnoticed. - Fix the consumer state machine to correctly validate all requests. - Add tests to verify correctness of the fix. Tested BufferHub with the new test before and after the fix and verified that the test catches the problem and that the fix solves the problem. Bug: 62886596 Bug: 63149525 Test: bufferhub_tests passes. Change-Id: I802679ed74c7f505b9243ba4048824350d4e37be
ufferhub_tests.cpp
|
26b7bd48940bd2cc808b72c46917edbd3debb99a |
11-May-2017 |
Corey Tabaka <eieio@google.com> |
libbufferhub: Fix native buffer. This class was broken during a clean up. Fix the code in preparation for adding tools that will use it again. Bug: None Test: build; flash Change-Id: I8e60c7ba316080a24ff8914807972886e21ebce9
nclude/private/dvr/native_buffer.h
|
bb701dbac7c9c9eb2a7d0ec48c5e020f1272de13 |
23-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
BufferHubQueue rename DetachBuffer to RemoveBuffer Test: buffer_hub_queue_producer-test, buffer_hub_queue-test, dvr_api-test Bug: 37164481 Change-Id: I05ba0f9f96cf60b64cb8b76482301440d40aa82a
nclude/private/dvr/bufferhub_rpc.h
|
6bffc67cec8bd8ad086d5a6265dedb737073bdea |
19-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Add more attribute when creating ProducerQueue Add `is_async`, `default_width`, `default_height` and `default_format`. Note that these attributes are currently treated as immutable after queue gets created. Bug: 38324405 Bug: 38430974 Bug: 36724099 Test: buffer_hub_queue_producer-test, buffer_hub_queue-test, dvr_api-test Change-Id: Id242a15388a1f1457ad89d11336f5643685e8361
nclude/private/dvr/bufferhub_rpc.h
|
cbd32bfd3a8dbac30228acbaee1daaf2466d643f |
19-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Simplify ProducerQueue::Create This is a preparation CL that simplifies ProducerQueue's constructor, Create(), and bufferhub_rpc::CreateProducerQueue prior to introducing more queue attributes (is_async, width, height, max_capacity, etc) on creation. 1/ Consolidate and/or remove unnecessary ProducerQueue::Create's overloading (we had way too many overloads of the create function and I figured it's awfully painful to introduce new attributes). 2/ Use UsagePolicy in ProducerQueue::Create. Also added default values for UsagePolicy, so that empty uniform initialization gives us a default policy. This helps us removing all ProducerQueue::Create overloading on whether default usage policy is needed. 3/ Move |meta_size_bytes| into ProducerQueueConfig. Bug: 38430974 Test: buffer_hub_queue_producer-test, buffer_hub_queue-test, dvr_api-test Change-Id: Ieba9f4d1bce2162bd1e6063989985afc8d014dc7
nclude/private/dvr/bufferhub_rpc.h
|
5d67165bee53c5003d8661c9561574408e3ac185 |
12-May-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
Merge "Remove QCom specific flags" into oc-dev am: cd43683371 am: 86b4423b58 Change-Id: Ia1251190bb8402279c26fe1c96357dfb103fab0e
|
cd43683371f158b77e934e7cb71a9fdc65a122ed |
12-May-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "Remove QCom specific flags" into oc-dev
|
a202147c9a69f9bbd4d6598cef61d2df8cf8a966 |
12-May-2017 |
Gaurav Shah <gauravsh@google.com> |
Merge "Remove libbufferhub mocks/" into oc-dev am: 68d36a3cbb am: 7adb6b418f Change-Id: If4ccf55048a0269871acf0c52777094aa4a5e87e
|
deb91680bac3cda4284cc5ffe96d76b32243868a |
11-May-2017 |
Gaurav Shah <gauravsh@google.com> |
Remove libbufferhub mocks/ It is not used anywhere. Bug: 36040117 Test: built. no code changes, only dead code removal. Change-Id: Ia9c52379ac2dabf0179f92c0c2d5ffd4ff92d357
ocks/client/private/dvr/buffer_hub_client.h
ocks/gralloc/BUILD.gn
ocks/gralloc/gralloc.cpp
ocks/gralloc/gralloc_mock.h
ocks/ion_buffer/private/dvr/ion_buffer.h
|
4720c9db1fd7777af57fd25e375cd8a3e72ea305 |
11-May-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
Remove QCom specific flags * We can't have any device specific code on Android Bug: 38207381 Test: Compiled Change-Id: I0cab52d71c65ff401985b01140452c7901eef855
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
|
6a3c05bcfab588fd99dd8d619a53d15374e99507 |
28-Apr-2017 |
Mathias Agopian <mathias@google.com> |
fix circular dependency libnativewindow <-> libui Bug: 37647680 Bug: 37648355 Test: compile, manual Change-Id: I9631beea52e23ebb519411f943c6f5062aedd2e5
ndroid.bp
nclude/private/dvr/native_buffer.h
|
108e84f7e6a9117b66dba000dcf16c6d8c862e16 |
08-May-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
dvrapi: Pass layer_count down * We were missing layer count, which would prevent multiview from working Bug: 37245304 Test: MultiLayerBufferQueue Change-Id: I88b41f1aa7665df01e89a7386cbc23b15c9a79b0
uffer_hub_client.cpp
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/ion_buffer.h
on_buffer.cpp
ocks/ion_buffer/private/dvr/ion_buffer.h
|
4d3590f3fd0fd65f4e8758d3228de9f55cf135d0 |
07-May-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
Remove slices from buffers * code no longer required, as it will be handled in vrcore Bug: 38076195 Test: Manually ran testing Change-Id: Id28918a3bf73b99cbb57aad4c21251b7a9623074
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/native_buffer.h
|
ec971362bc651d8c98febb8399981877da859c14 |
05-May-2017 |
Corey Tabaka <eieio@google.com> |
Revert "Deprecate producer/consumer usage: Step 3" These changes are effectively handled as part of another, higher priority CL. This reverts commit 7cab28591d5cdc26913a0882df1b28e3f5393066. Change-Id: I4cf47eee219870b2758997fe5bd6019d83b82451
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
|
7cab28591d5cdc26913a0882df1b28e3f5393066 |
03-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Deprecate producer/consumer usage: Step 3 Remove all remaining client side reference to producer/consumer usage and update dvr_xxx API. Bug: 37881101 Test: Build, flash, ran particles.apk and dvr_api-test Change-Id: I6a60b8f97264f131cd5b9a5de8db0ca178d55097
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
|
0057fddc71d1c3c3de8f9d0bd45a51bb293bfa3c |
02-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Deprecate producer/consumer usage: Step 2 Clean up bufferhub_rpc, display_rpc and service side producer/consumer usage reference. Next (final) step is to remove all remaining client side reference to producer/consumer usage and update dvr_xxx API. This also fixes a minor typo in dvr_named_buffer-test Bug: 37881101 Test: Build, flash, ran particles.apk and buffer_hub_queue-test Change-Id: Ibae4376c1fd1ed964843d8b2ad2fb27204fe5e28
uffer_hub_client.cpp
nclude/private/dvr/bufferhub_rpc.h
|
044963e1dd0479035b6e5f2c6bd618bde7143710 |
02-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Deprecate producer/consumer usage: Step 1 Clean up producer/consumer usage from IonBuffer. Bug: 37881101 Test: Build, flash, ran particles.apk Change-Id: I66a8c4db2348b014a7b458b69157ed7c150112e1
ndroid.bp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/ion_buffer.h
on_buffer.cpp
|
73feb0676635da6c0f738c10e04052a8162a4095 |
20-Apr-2017 |
Chris Forbes <chrisforbes@google.com> |
vr: Adjust for libui gralloc flags change Change-Id: I24dbe407ad9139ba1d206b9074c7c507537d198c Bug: b/33350696 Test: Bullhead: booted to launcher, take photo, watch youtube
ndroid.bp
on_buffer.cpp
|
eaa5522feac452703a0836310047d4b15702487d |
06-Apr-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
Convert the pose buffer into a more generic named buffer * It's likely that we'll have more than one pose buffer * It's cleaner to separate the vsync info into a separate buffer Bug: 37001881 Bug: 37240552 Test: Added and manually ran TestNamedBuffersSetup Change-Id: I76621d3cfa8c21c9d5d1e6e648854067673be9ab
uffer_hub_client.cpp
nclude/private/dvr/bufferhub_rpc.h
|
cd52dd9f1b301854b4e1734e3741d9cef8f784b1 |
08-Apr-2017 |
Corey Tabaka <eieio@google.com> |
Update BufferHub service/client with support for gralloc1 usage. - Add support for gralloc1 usage flags. - Mimic how GraphicBuffer supports gralloc0 usage flags: (usage, usage). - Move to using pdx::Status<T> since we're touching signatures everywhere. Bug: 36401174 Test: bufferhub_tests; buffer_hub_queue-test Change-Id: I0e5184197b21eda9806bbea44f63b546b030692a
uffer_hub_client.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/ion_buffer.h
on_buffer.cpp
|
2655e1cd5498749381701aa1fa7f29c66364a7ef |
04-Apr-2017 |
Corey Tabaka <eieio@google.com> |
Add additional accessors to IonBuffer and BufferHubBuffer. - Add accessor to underlying GraphicBuffer in IonBuffer. - Add const accessors to underlying IonBuffer(s) in BufferHubBuffer. Bug: 36401174 Test: bufferhub_tests; buffer_hub_queue-test Change-Id: I24a6c19b141bb50ffa06e861a4533e10d55b5b20
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/ion_buffer.h
|
1db8a5d7e3b0565b976e77859e28d77f6a451a2b |
22-Mar-2017 |
Corey Tabaka <eieio@google.com> |
Update BufferHubQueue in preparation for VrFlinger refactor. - Expose buffer hub queue id to the client. This helpful as an id in queue enumeration in the DisplayManager API. - Address log convention deviations. - Clean up BufferHub service error paths. - Clean up queue importing logic to query the service for queue parameters to avoid accidental abuse. - Make spawning consumer queues more efficient in RPC only cases. - Clean up ConsumerQueue constructor logic; move to pdx::Client base class (through BufferHubQueue) instead of pdx::ClientBase. ConsumerQueue::Create doesn't make sense as a ConsumerQueue can only be created from another queue. Bug: 36401174 Test: build; run buffer_hub_queue-test Change-Id: I0530f64ecb514d0f37bb13f9ce201b6ff51502b6
nclude/private/dvr/bufferhub_rpc.h
|
b42f171a5a76985fde2689d90fd6d2d7e4920564 |
21-Mar-2017 |
Chia-I Wu <olv@google.com> |
libui: clean up GraphicBuffer interface Other than transferring the ownership, some callers want to control whether to register or to clone the handle when creating a GraphicBuffer from a handle. Add a new constructor with HandleWrapMethod for finer controls, to replace the one that has only a boolean, keepOwnership. The motivation is to enable users to construct GraphicBuffer without fighting with GraphicBufferMapper::registerBuffer first. More generally, GraphicBufferMapper::{registerBuffer,unregisterBuffer} is tricky to use correctly. They should really be considered private by most. While at it, deprecate constructors that do not distinguish producer/consumer usage. It turns out GraphicBuffer is used by some proprietary libraries. I have to maintain the ABI and cannot remove the deprecated constructors. Bug: 36355756 Test: boots Change-Id: Ieea618d8495f06a6233299d076fb821127cd6bf8
on_buffer.cpp
|
bdcee79b0d7e87cb48049907a7ba8201d0288f75 |
23-Mar-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Move DVR platform C API into libdvr Introduce a new static library build with Android.mk. The reasoning behind this is: 1/ This library is going to consolidate all C headers and implementation of the DVR platform library. 2/ No other internal system components need to depend on this library. 3/ This library is build with Android.mk so that it has depend on other system components (such as libandroid_runtime) without worrying about that Android.bp-based libs cannot depent and Androib.mk-based libraries. 4/ This library defines dvr_api.h header as the official definition of DVR platform library headers. The header is moved from 'vendor/unbundled_google/packages/PrebuiltGoogleVr', which is not an ideal place to hold the platform library anyway. 5/ If we ever decide to move these C wrappers out of frameworks/native, this makes it easier to do so by bundling things now. TODO: C APIs from libvrsensor and libvirtualtouchpadclient are not moved into this bundle as some functions are still used by internal system components. Ideally, these will be moved either to Google3 or vendor projects. Test: Built and flash Bug: 36563654 Change-Id: Ie5ce89faa70f86ac934a77d8f7d4fca7e94112ee
ndroid.bp
vr_buffer.cpp
nclude/private/dvr/dvr_buffer.h
|
10e68eb8aa4db8b6f8cfbf2c3754e2677d7bf848 |
15-Mar-2017 |
Hendrik Wagenaar <hendrikw@google.com> |
Add dvr_buffer apis Test: None Bug: None Change-Id: I234d7ef4dabb4453cdbc67d3112adf2ffbbadaf4
ndroid.bp
uffer_hub_client.cpp
vr_buffer.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/dvr_buffer.h
|
8a71b13127f737a46c55ba94d31ba0262e7cbf8a |
16-Mar-2017 |
Mark Urbanus <urbanus@google.com> |
Refactor IonBuffer to use GraphicBuffer - Replace gralloc0 based implementation with GraphicBuffer implementation. - Removed incompatible ion-buffer unit-tests. - Added libui dependencies to dependants. Bug: 34879523 Test: Tested on Lucid, validated graphics and poses are working Change-Id: I49a129f269d54c81bda93b44d879d4b8dee2006a
uffer_hub_client.cpp
nclude/private/dvr/ion_buffer.h
on_buffer.cpp
ests/Android.mk
ests/ion_buffer/Android.mk
ests/ion_buffer/ion_buffer-test.cpp
|
e77dce28e5e9a7f078cb324a7b9320802fca8469 |
14-Mar-2017 |
Stephen Kiazyk <skiazyk@google.com> |
Force vrhwc/wm to report the native resolution Due to some Yak-shaving, this also involved a partial conversion of our libraries to soong. Notes: * I also changed the name of libsensor to libvrsensor to avoid a naming clash with an existing library * The remaining libraries will be soongified in a separate CL Bug: 36139334 Test: Build and run vr apps. Change-Id: Ib39687bd01e3d2e1c30adc54e18f362a85954ab9
ndroid.bp
ndroid.mk
|
89ed4c8cfd8ad64269dfcff9742e16bdd705b926 |
10-Feb-2017 |
Mathias Agopian <mathias@google.com> |
split libandroid.so - ANativeWindow (native_window.h) and AHardwareBuffer (hardware_buffer.h) now live in libnativewindow.so, which is a vodka library. - libandroid.so still provide those symbols via a static library version (libnativewindow.a) - removed libbinder dependency as well Test: compiled & booted Bug: 35164655 Change-Id: Ib4bc8e8fc9ec1891bcbee63c28fd0131d82edf29
ufferhub_tests.cpp
|
a9347647eca3101c014be902b713772de3977d87 |
14-Feb-2017 |
Mathias Agopian <mathias@google.com> |
Break a dependency of libui on libandroid This was only a header dependency, but it still created a circular dependency, which will cause problems in another CL. We fix this by creating a libarect static library containing only that header. both libui and libandroid now depend on it and reexport the header. We also make sure rect.h ends-up in the right place. Test: built and booted device Bug: 35164655 Change-Id: Iba25b8b801b26b26ec1401c00caf367a06f197ca
nclude/private/dvr/native_buffer.h
|
3079cb7c32421099a73e1a774b228635eeb3f189 |
20-Jan-2017 |
Corey Tabaka <eieio@google.com> |
Use generic libpdx event bits facility in libvrflinger and bufferhubd. Use the generic event bits abstraction to support UDS and ServiceFS backends properly. Bug: 34466748 Test: start/stop basicvr repeatedly; observe stable bufferhub counts. Change-Id: I9f2ea67c25860ad7fb931938991a29a37f3391fc
nclude/private/dvr/buffer_hub_client.h
|
4fe60582f314e381098f8f3bc2e39c5880e9243a |
02-Feb-2017 |
Alex Vakulenko <avakulenko@google.com> |
Remove references to libchrome Removed dependencies on libchrome which was used mostly for logging and switched over to standard Android log macros. Bug: None Test: `m -j32` still succeeds Change-Id: I0a841c19c15c02f9a031af200e82837f9450d88a
ndroid.mk
uffer_hub_client.cpp
ufferhub_tests.cpp
nclude/private/dvr/native_buffer.h
on_buffer.cpp
|
e4eec20f6263f4a42ae462456f60ea6c4518bb0a |
27-Jan-2017 |
Alex Vakulenko <avakulenko@google.com> |
Add DaydreamVR native libraries and services Upstreaming the main VR system components from master-dreamos-dev into goog/master. Bug: None Test: `m -j32` succeeds. Sailfish boots and basic_vr sample app works Change-Id: I853015872afc443aecee10411ef2d6b79184d051
ndroid.mk
uffer_hub_client.cpp
uffer_hub_rpc.cpp
ufferhub_tests.cpp
nclude/private/dvr/buffer_hub_client.h
nclude/private/dvr/bufferhub_rpc.h
nclude/private/dvr/ion_buffer.h
nclude/private/dvr/native_buffer.h
on_buffer.cpp
ocks/client/private/dvr/buffer_hub_client.h
ocks/gralloc/BUILD.gn
ocks/gralloc/gralloc.cpp
ocks/gralloc/gralloc_mock.h
ocks/ion_buffer/private/dvr/ion_buffer.h
ests/Android.mk
ests/ion_buffer/Android.mk
ests/ion_buffer/ion_buffer-test.cpp
|