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
/frameworks/native/libs/vr/libpdx/private/pdx/client.h
|
f0a7bd033941e26e380232a0515e903cf8e678e5 |
|
01-Apr-2017 |
Alex Vakulenko <avakulenko@google.com> |
pdx: Rework error reporting when transfering file and channel handles There is a lot of confusion about reporting errors when passing file and channel handles over PDX transport between client and service. Methods like Message::PushFileHandle return an integer which means both a file handle reference value (if positive) and a possible error code (if negative). But file handles could contain negative values too (when they are empty). This is used frequently when passing buffer fences around (when a fence is not being used, its fd is set to -1). This results in a special case of when PushFileHandle is called with a file handle with value of -1, the return value is actually "-errno" which becomes dependent on a global state (errno is not set by PushFileHandle itself in case file handle value is negative) and results in unpredicted behavior (sometimes errno is 0, sometimes its >0). Cleaned this all up by using Status<T> everywhere we used an int to pass value payload along with possible error code. Now the semantics of the calls are more clear. Bug: 36866492 Test: `m -j32` for sailfish-eng succeeds Ran unit tests on device (pdx_tests, libpdx_uds_tests, bufferhub_tests, buffer_hub_queue-test, buffer_hub_queue_producer-test), all pass Ran CubeSea, NativeTreasureHunt and Ithaca on Sailfish with vrflinger enabled, was able to use controller and screen rendered correctly. Change-Id: I0f40c3f356fcba8bc217d5219a0ddf9685e57fd7
/frameworks/native/libs/vr/libpdx/private/pdx/client.h
|
6890d95ec8b96970202518b439bfa8ab2d9dbf77 |
|
20-Jan-2017 |
Corey Tabaka <eieio@google.com> |
libpdx: Add support for more event bits. - Add generic abstraction for multiple event bits with an implementation- defined mechanism to deliver the bits. - Update ServiceFS backend to pass through event bits. - Implement EPOLLIN, EPOLLPRI, and EPOLLHUP event bit for UDS backed. Bug: 34466748 Test: Build/flash system; observe stable operation. Change-Id: I86afb5645b72ec69c095734c7891a690432150a3
/frameworks/native/libs/vr/libpdx/private/pdx/client.h
|
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
/frameworks/native/libs/vr/libpdx/private/pdx/client.h
|