History log of /frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
638b7f747df50374d1e91c2496da41f293394e19 08-Sep-2017 Jiwen 'Steve' Cai <jwcai@google.com> Overhual DvrBuffer and DvrBufferQueue API: Step 1

Adding new APIs:

dvrWriteBufferQueueGainBuffer
dvrWriteBufferQueuePostBuffer
dvrReadBufferQueueAcquireBuffer
dvrReadBufferQueueReleaseBuffer

Those new APIs streamlines DVR buffer operations:
1/ It allows static Dvr{Read,Write}Buffer objects to be statically
allocated with the queue.
2/ Symentric Gain/Post on WriteBufferQueue and Acquire/Release on
ReadBufferQueue.
3/ Use fixed buffer metadata.
4/ This is also a prerequisite to using shared memory based metadata and
async buffer IPC.

More details and discussion at: go/gvr-async-bufferhub

Special note regarding DVR API order in this CL: The new buffer queue
API entries are inserted before new PoseClient API as the PoseClient is
still blocked from being released and the new BufferQueue APIs are
expected to be released sooner than that.

Bug: 65455724
Bug: 65468551
Bug: 65458332
Bug: 65165821
Test: dvr_api-test
Change-Id: Iae8e7787d696d72ebf7457df9f98f4467cd20932
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
45516aab4012fb8eec77b09f20d84d470e6aa8a6 08-Sep-2017 Marie White <mariewhite@google.com> Set enum to fixed size type

Bug: 63683612
Test: Manual. Ran O2 on Marlin, tested image streaming manually.

Since DvrPoseRawDataType enum will be part of the public DVR API,
explicitly define the size of the enum.

Change-Id: I3900470ccb3ca7a2c4e7ed8e7f5586c60486d9e6
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
5096c652aa19a501ce28177076de89e58e15b4b3 09-Aug-2017 Marie White <mariewhite@google.com> Add api's to dvr_pose to retrieve data from sensord

Bug: 63683612
Test: Manually tested through VrCore cl/164799996.

To retrieve raw data from Tango, added below api's to dvr_api:
- dvrPoseClientGetDataReader
- dvrPoseClientDataCapture
- dvrPoseClientDataReaderDestroy

Note: These changes have already been reviewed in branch
oc-dr1-daydream-dev branch. See change 2729572.

Changes tested on Pixel XL with and without 02 rendering path. Daydream
Home rendering in VR Mode correctly. Pixel functioning as normal.

Change-Id: Ia934d6a1a0b89edfd4408dde19d38e757d44f785
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
5b5d4e11949ae5fbd370927e721480f91c079857 30-Aug-2017 Jiwen 'Steve' Cai <jwcai@google.com> Rename WriteBufferQueueGetExternalSurface: Step 1

Add new API WriteBufferQueueGetANativeWindow and forward all calls to
the old one with a warning.

Bug: 65133502
Test: dvr_api-test
Change-Id: I6787bc5d341f7e36a8a35102a5ce651c3aa296f8
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
d741b3dfbb60eadaa2c1835e347825e18c19a802 15-Aug-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add dvr API to create write queue locally

Currently, this API is mostly for testing purpose. But also note that
this API might eventually deemed useful if BufferHub-based ANativeWindow
becomes binder parseable.

Bug: 37517761, 64723700
Test: dvr_api-test --gtest_filter='DvrBufferQueueTest.*'
Change-Id: I9429079a4936d474fabb0026c38d3a1a4dcab92e
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
97274870fc8229b507fc71566c0502eb322655cf 21-Jul-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add dvrReadBufferQueueGetEventFd

We need to expose the read queue's event fd, so that a caller can epoll
on a set of queues' fd for efficient buffer acquisition.

Bug: 62359843
Test: dvrapi-test

Change-Id: I1b9271afed9ee6c6675551402cd3f5a66e98ebe2
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
3549db36d897f0d10f52f6c0bfc3a1dab08c98a1 27-Jun-2017 Luke Song <songwalker@google.com> Add dvr api entries for sensor enable/disable

Follow-up to ag/2263549 because we want to use it in VrCore now.

Bug: 63070540
Test: Api call in VrCore
Change-Id: Ic3b2c68ade31008ada8078a74ebe2945748143ae
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
feb636dcd9296c27390b3d729951ceca154cd7d0 24-Jun-2017 Corey Tabaka <eieio@google.com> libdvr: Add performance API to platform library.

- Add dvrPerformanceSetSchedulerPolicy API. Only this API is exposed
through the DVR platform library, the older API will be deprecated.
- Add permission checks to all performanced APIs.
- Allow services with android.permission.RESTRICTED_VR_ACCESS to change
scheduler policy for VR apps.
- Minor updates to use the updated PDX service API. The older API will
be deprecated soon.
- Add tests for permission checks and policy API.

Most of the tests are automatic however, there is one manual step for
testing the android.permission.RESTRICTED_VR_ACCESS (e.g. trusted uid)
check. Because there is no reliable way to determine the UID of VrCore
from the gtest, instead the gtest looks for an env var named
GTEST_TRUSTED_UID; if this is set the value is used as a uid and the
trusted uid tests are enabled.

Bug: 62468109
Test: 'GTEST_TRUSTED_UID=<VrCore UID> performance_service_tests' passes.
Change-Id: I9047b298a015a69535b655a299ca26c179e2d57d
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
c6033316b07615db91360559926459946efbd0f1 09-Jun-2017 Stephen Kiazyk <skiazyk@google.com> Add DVR method to get native display metrics

This seems like the kind of infomration we should be able to communicate
to vrcore.

Bug: 62494565
Test: Builds and loads, still need to test with vrcore
Change-Id: I2342fabcd2bcb8a34c0b783391b60defc381f3c6
(cherry picked from commit 6c5a92f142b5fa1907ff91a7dce4d09ddcb554c6)
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
99c2d73588dad4a4d12a17d37354237b8c11a16a 08-Jun-2017 Corey Tabaka <eieio@google.com> Move global buffer ops to VR display service.

The original home for these ops was the VR display manager service,
which is a protected singleton service that may only have one client.
Since more than one service needs to create global buffers, move these
ops to the display service. They are already protected by permission
checks.

Bug: 62424911
Test: dvr_api-test passes
Change-Id: Ia2f57fdf8a5258b52a652935d160e90db0f1cf9e
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
d8fccf0124b78230ae2071fecc6bc6aebe8c540c 05-Jun-2017 Kevin Schoedel <kpschoedel@google.com> Add DVR API for scroll event injection.

Bug: 62226675
Test: manual, vrcore build
Change-Id: Ic7d329eba8003b0e294b3a11a83ed5f868b801f8
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
4a51d555edaa074ed1e2dc5c26b2cb258497203c 03-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Setting queue metadata size via dvrSurface API"
532e529ec8f87578d024da0c5b71d4b12da21862 03-Jun-2017 Jiwen 'Steve' Cai <jwcai@google.com> Setting queue metadata size via dvrSurface API

This allows VRCore to use metadata feature on each individual DvrBufferQueue.

Bug: 62301995
Test: build, dvr_api-test
Change-Id: I8e0eb8ca1a2c197426c4853cae99a4ed63caeffe
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
0cb04d33d529af1c49725efbe7770f81422ceafa 31-May-2017 Okan Arikan <okana@google.com> Add dvrBufferGlobalLayoutVersion which returns the version number for
the global buffers.

Bug: 62228826
Test: dvrBufferGlobalLayoutVersion == kSharedBufferLayoutVersion
Change-Id: I08eaca128ea5c84739924ab839651088e10c65bc
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
14bc55a2a4a8bc6d811d356431d2b7b68806cd1a 26-May-2017 John Bates <jbates@google.com> Cleanup dvr api headers for exporting

Bug: b/38379392
Test: ran generate_dvr_api.py
Change-Id: I8f07e0c28da77df7b1beccfad427f445ad59e64a
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
d9741ebbe46c4e8d4a3a4f063cf09f159f938d6e 25-May-2017 Jiwen Cai <jiwen@google.com> Merge "DvrBufferQueue: Add basic event callbacks"
0b80155bf5c27b47c160d1904ad442842dc8f0c5 24-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> DvrBufferQueue: Add basic event callbacks

Currently, there is no guarantee of thread safty and on which thread
those callbacks are going to be fired.

Three new DVR APIs introduced:
1/ dvrReadBufferQueueSetBufferAvailableCallback
2/ dvrReadBufferQueueSetBufferRemovedCallback
3/ dvrReadBufferQueueHandleEvents

Bug: 36748012
Test: buffer_hub_queue-test, dvr_api-test
Change-Id: I79900c9d205f1808b02400b379c79adb366a1104
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
6dacbb9ac68ac17e850f03b959c490dac6edc55c 24-May-2017 John Bates <jbates@google.com> Add correct header paths to dvr_api.h

Allows export script to find them for documentation insertion.

Also rename the included dvr_hardware_composer_defs file to
_types to match the copy that is in google3.

Bug: b/38379392
Test: ran export script
Change-Id: I9c9fe40bc1e6cc07739997f143fa036e713487c6
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
dcb4344bb6969ef8bedd55fb5539deeb6d807ec1 25-May-2017 Hendrik Wagenaar <hendrikw@google.com> Expose WriteBufferQueueResizeBuffer

* We need a way to resize the queue in vrcore

Bug: 38324405
Test: None
Change-Id: I4041c3a789c3f72a0e885b518ee2b06f846ad800
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
10ac320023dcfc3383f6ba42f32f70cf6eb72d16 24-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Cleanup dvr_api.h to make it closer to the exported SDK version"
02199c25e3663ceaf7544c1f9c39546a9c9c3141 18-May-2017 John Bates <jbates@google.com> Cleanup dvr_api.h to make it closer to the exported SDK version

Also fixed include guards on dvr_display_manager.h to avoid
collision with display_manager_client.h.

build_sdk.py has been moved to vendor/google_daydream/build.

Bug: b/38379392
Test: Built libdvr, surfaceflinger, ran libdvr/tests
Change-Id: I2807be6d2fd5c2814e86e5d8fae8de181397e4a6
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
bcb03d005a4ccca20a0723f087e90e8b503b4848 23-May-2017 Hendrik Wagenaar <hendrikw@google.com> Move dvr config data from display manager to display service

* The limitation of creating only one display manager client
is preventing config data access on multiple threads

Bug: 38269706
Test: DvrDisplayManagerTest::ConfigurationData
Change-Id: Ifc14cf0dd79248aea6367aca70c4e4f8359a25de
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
822b710a714c342dda0087f594c8ababa6630f44 08-May-2017 Okan Arikan <okana@google.com> Adopt the use of shared buffers.

Bug: 37001948
Test: Make system image
Change-Id: I032574f250e0f0fe7768af649730406e24d853db
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
36d23803882c64b1006cd3b8a47e00a4193a9b49 16-May-2017 Okan Arikan <okana@google.com> Int key for the named buffers.

Also, rename them to global buffers from named buffers.

Bug: 38320428
Test: Run frameworks/native/libs/vr/libdvr/tests on device
Change-Id: I2109aea77e35f2ccd8055208058df4b7287c1d5e
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
010fe955420fa98caa7570a4d33c5f9bac2c5607 10-May-2017 Hendrik Wagenaar <hendrikw@google.com> Add ability to pass device metrics to GVR

* Passes config file data for the device to VrCore

Bug: 36215727
Test: DvrDisplayManagerTest::ConfigurationData - on marlin, SELinux on,
with and without setenforce.
Change-Id: Iee05b90a21937ed9b60658c70da87a8c99dfcbb2
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
64177e82296a330bdd3c131a020aaffea4905df0 09-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> Split libdvr_headers from libdvr: Step 1

Converts libdvr's Android file into Android.bp as now we have no Java
deps anymore. Then we added header only library libdvr_headers for all
headers.

Next step is to figure out how to split out public headers and make them
easy to be copied into Google3.

Bug: 37578558
Test: dvr_api-test
Change-Id: Idf15cfd5aa61cd7d6f5cc15c4db7cce485b3b293
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.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
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
2251d822dac2a96aad4184a6fdc2690f0a58af7c 21-Apr-2017 Corey Tabaka <eieio@google.com> Remove the VR compositor from the framework.

Remove the VR compositor framework and enable out-of-process VR composition
in VrCore.

This CL seems large due to the ripple effect of changing the VrFlinger
API and protocol types. There are three major modules that require
concurrent changes:
1. Protocol definitions and low-level VrFlinger API in libdisplay.
* Additional changes needed to keep old interfaces working for
a short time while replacing the dependent code (dvrGraphics*).
2. VrFlinger service implementation changes to support VrCore compositor
and the removal of the internal compositor.
3. Changes to libdvr platform library API due to changes in #1 and #2.

Because of the nature of the interdependence of types and other defs it is
difficult to break this CL into smaller chunks. However, review of the three
major modules (libdisplay, libdvr, and libvrflinger) may be done separately
to ease the mental burden on reviewers.

Change Summary:
- Remove obsolete screenshot service. VR screenshots will be implemented
by VrCore.
- Update display protocol definitions for changes in VrFlinger service
requirements. The majority of the changes in libdisplay are a
consequence of these protocol and service changes.
- Update VrFlinger to support two kinds of surfaces:
1. Application - use by VR apps.
2. Direct - used by VrCore (protected by permission check).
- Remove VrFlinger internal compositor and GL context.
- Remove obsolete debug console.
- Update VrFlinger hardware composer interface to handle direct
surfaces only, removing the concept of GPU (compositor) layers.
- Update display manager to expose access to application surface info
to VrCore (protected by permission check).
- Update libdvr platform library interfaces for changes to VrFlinger
API / protocol.
- Clean up libdvr API struct setup using a common include.
- Add C++ header-only helpers for DVR platform library opaque types.

Bug: 36401174
Test: Build; run VrFlinger display test tool.
Change-Id: I15abfde5f72dbb3725a3f58621486afba6b64902
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
cb4751c52a5625a22b6a11b4de537ff026d9bfe3 15-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> Fix minor corner cases in BufferHubQueueProducer

1/ Set reasonable return value BufferHubQueueProducer::query.
2/ Don't error out for setSharedBufferMode(false),
setAutoRefresh(false), as they are just setting default values again.
3/ Supports addition buffer metadata: transformt, crop,
data_format (a.k.a. color_format).
4/ This also changes BufferHubQueueProducer to be based of
BnInterface<IGraphicBufferProducer> so that itself can be passed via Binder.

Bug: 37342387
Bug: 36907193
Test: exoplayer_demo
Change-Id: Ie00bb79f6a249e09905ae52f85a85a67744cc90d
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
1ab06328bb45f3f8ba4a3780ceaf6d8564ee75cf 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[vr] Add DVR API to get native handle for buffers" into oc-dev
28b58bfdcce253358120d1554755d71c2226f8fd 18-Apr-2017 John Bates <jbates@google.com> [vr] Add DVR API to get native handle for buffers

This is required to support GPU late latching features in
VRCore. This can be removed once vendors support using
AHardwareBuffer instead of int fd for shared memory
buffer objects.

Bug: b/37472908
Test: builds and runs
Change-Id: I2a957723c4025773181071491a45a53b83e5ba64
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
db5763834df1b6a1a3aef9442982451f7505f402 18-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> Dvr api usages should follow AHardwareBuffer

* Since vrcore doesn't have access to gralloc1 usages
* Since gralloc1 may be replaced in the future

Bug: 37435415
Test: TestNamedBufferUsage
Change-Id: Iaa47396aca26460541d1b9031dce0b971b630555
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
730c89a8042e277304a90bff180348fcda75d5a7 10-Apr-2017 Albert Chaulk <achaulk@google.com> vrwm: Push all the properties to vr window manager

Bug: 37204430
Test: Manual
Change-Id: I6cda2732f4aff2433152ffc3549677d23bc598b3
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
736b6058d8c91ec4ad295c0a04c7b81d8119268c 06-Apr-2017 Daniel Nicoara <dnicoara@google.com> Cleanup VR HWC type names in libdvr

Add DvrHwc prefix to enums and types defined in the API to avoid naming
conflicts.

Bug: 36050795
Test: Compiled
Change-Id: Ic5071ccd6f2b16863f0001009a4255f8279ce1e8
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
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
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
960bcfffefa76d535c5aecd303d755be3fbc59f1 05-Apr-2017 Jiwen 'Steve' Cai <jwcai@google.com> dvr_api GetExternalSurface returns ANativeWindow

Now that we have a public NDK API to convert an ANativeWindow to a Java
Surface, we no longer need to mess with Jni and libandroid_runtime in
libdvr.

See more information at:
http://ag/#/q/topic:ANativeWindow_toSurface+(status:open+OR+status:merged)

Also, as a side effect, we are now free to convert this library to use
Android.bp (though we probably want to hold off for a while).

Bug: 36266201
Test: Built and ran dvr_buffer_queue-test
Change-Id: Ia0f6a8735c7d508195c30e3c7d040791e13a6ce3
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
37cdc8d0b9803e0c3dc17640534b74cd45fa4bd8 27-Mar-2017 Daniel Nicoara <dnicoara@google.com> VR: Move VR HWC DVR API to libdvr

Moved VR HWC API into a common API library.

Bug: 36050795
Test: Compiled
Change-Id: I1af32f4dedb7a6d4bb77a18d3c48cfbc8ea00a66
(cherry picked from commit 3d3fb3960f9c3956074496fd7fa1beb230ac1043)
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
9255e3ea9b8acae7d34a9cbe58d9e598b71bfe8e 30-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> fix the api style

google3 c++ style says "no _ on struct members"

Happy to oblige

Bug: None
Test: Compiled
Change-Id: I74b65908339551b703125fe16e5a6d11cd3e9a89
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
74cf084cab653537e89f46b90344b3133a94b3a3 24-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add basic dvrSurface C API

Test: Build and flash system
Bug: 36563654
Change-Id: Id6c79d33d80e719b1d1d7f43aec99aadfad40c03
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
84d90f316c01aadd1e6e0acbc94d51be24ec211f 29-Mar-2017 Hendrik Wagenaar <hendrikw@google.com> Make sure dvr functions are prepended with dvr

* Fix some inconsistencies

Bug: None
Test: Compiled
Change-Id: I9d67d2335f543700bd1a90d329e4b155f4c22c69
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
19ef01c88daa165279c3555fe35d896e8b6336a5 29-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Return jobject when getting android Java Surface

This logic is originally borrowed from similar API from shim_gvr API
where we cannot explicity deps on JNI.h in the public header. This
constrain no longer exists as libdvr is an Android platform library.

Bug: 2013449
Test: Built libdvr
Change-Id: Ide72f5fb706cd24e13507749216d7708f1f40fcc
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
2d82ceb8dc1bc9066bd5ad98ee0926289cb0b7cc 23-Mar-2017 Jiwen 'Steve' Cai <jwcai@google.com> Add dvr_buffer_queue C API

Bug: 36401767
Bug: 32213274
Bug: 36266201
Test: build and ran dvr_buffer_queue-test
Change-Id: Icd8d063bd8b7adb15bf67f7e543b87dad1c32a68
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h
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
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_api.h