• Home
  • History
  • Annotate
  • only in /frameworks/native/libs/vr/libdvr/
History log of /frameworks/native/libs/vr/libdvr/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bb5767763a07f7f641475939da15cf8863dfa97a 12-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "BufferHubQueue Cleanup" into oc-dev
e08ab3f70982e055d8374db7ece59f90cfe3db3c 09-May-2017 Jiwen 'Steve' Cai <jwcai@google.com> BufferHubQueue Cleanup

1/ Add support for NATIVE_WINDOW_CONSUMER_IS_PROTECTED
2/ Remove BufferHubQueueConsumer as we don't need it after all
3/ Merge BufferHubQueueCore into BufferHubQueueProducer
4/ Remove redundant |onAsBinder|

Bug: 38137120
Test: buffer_hub_queue-test and buffer_hub_queue_producer-test
Merged-In: I32bc040f4ce9c6dc9e4382a589fea241870eeb2d
Change-Id: I10f7780f0172b031cc2acecae436bd1ccde65824
vr_buffer_queue.cpp
3be0aa661faeae6ceb00fad7e5d942e2b964f286 09-May-2017 Steven Thomas <steventhomas@google.com> Make libdvr a shared library

Make libdvr a shared library so it can be loaded by the vr platform
library and accessed externally.

Bug: 38134403
Test: Booted a Marlin.

Change-Id: I9914188c80a9a41902fc4000a4f78f877e5e5695
ndroid.bp
vr_api.cpp
xported_apis.lds
ests/Android.bp
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
ndroid.bp
ndroid.mk
nclude/dvr/dvr_api.h
ests/Android.bp
ests/Android.mk
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
vr_surface.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_surface.h
ests/dvr_buffer_queue-test.cpp
ests/dvr_display_manager-test.cpp
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
ests/dvr_buffer_queue-test.cpp
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
ndroid.mk
isplay_manager_client.cpp
vr_api.cpp
vr_buffer.cpp
vr_buffer_queue.cpp
vr_display_manager.cpp
vr_internal.h
vr_surface.cpp
vr_vsync.cpp
nclude/dvr/display_manager_client.h
nclude/dvr/dvr_api.h
nclude/dvr/dvr_api_entries.h
nclude/dvr/dvr_buffer.h
nclude/dvr/dvr_buffer_queue.h
nclude/dvr/dvr_deleter.h
nclude/dvr/dvr_display_manager.h
nclude/dvr/dvr_surface.h
nclude/dvr/dvr_vsync.h
nclude/dvr/vsync_client_api.h
ests/Android.mk
ests/dvr_buffer_queue-test.cpp
ests/dvr_display_manager-test.cpp
ests/dvr_named_buffer-test.cpp
sync_client_api.cpp
3f82d31341f66d0c58e1ec3360ea5f528ffe0ea4 20-Apr-2017 Corey Tabaka <eieio@google.com> Remove unnecessary clients and rename files.

- Remove clients for obsolete services.
- Rename display protocol defs file to match purpose.
- Rename display manager client file. "impl" does not match naming
conventions used by DVR libraries.
- Remove video mesh surface interface. This will be replaced by more
general surface support in the unified O compositor.

Bug: 36401174
Test: Build; run cube sea.
Change-Id: Idb782623319329f6fa1b0aa45005d9fee3b9957d
isplay_manager_client.cpp
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
isplay_manager_client.cpp
ests/dvr_named_buffer-test.cpp
2c38b56d19f464142e32030b99ac56afd47ab7cd 21-Apr-2017 Mathias Agopian <mathias@google.com> Plumb gralloc producer/consumer bits correctly

Bug: 33350696
Test: compile, boot device, cts
Change-Id: I2f078cf4bbdf0db49f2e914b051f55629fb37eb6
ndroid.mk
isplay_manager_client.cpp
ests/dvr_named_buffer-test.cpp
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
vr_buffer_queue.cpp
nclude/dvr/dvr_api.h
ests/dvr_buffer_queue-test.cpp
b1325574324a7b35f21cdf477bd114dc2ef357d9 19-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "DVRBuffer functions should acquire AHardwareBuffer" into oc-dev
a5d404d8d4f6bb4efa95eaf6d857bc03224606fb 19-Apr-2017 Hendrik Wagenaar <hendrikw@google.com> DVRBuffer functions should acquire AHardwareBuffer

Bug: 37488135
Test: Updated DVR buffer tests
Change-Id: Ia255aca571e7162382e7be3c13be8ea192adbc90
vr_buffer.cpp
nclude/dvr/dvr_buffer.h
ests/dvr_named_buffer-test.cpp
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
vr_api.cpp
vr_buffer.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer.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
isplay_manager_client.cpp
nclude/dvr/display_manager_client.h
nclude/dvr/dvr_api.h
ests/dvr_named_buffer-test.cpp
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
vr_api.cpp
vr_hardware_composer_client.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_hardware_composer_client.h
dc87165eb58d7f0229331ffa18c097cf84b1923e 13-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Cleanup VR HWC type names in libdvr" into oc-dev
bac0159bdbc452162d490a8249c32d8a49008f08 13-Apr-2017 Frank Barchard <fbarchard@google.com> display_manager_client unused parameter warning fixes

Bug: 37206802
Test: builds locally with no warnings
Change-Id: I5755ee30d6ce4057297c367222d3cdd44904e23e
Edit
isplay_manager_client.cpp
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
vr_hardware_composer_client.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_hardware_composer_client.h
nclude/dvr/dvr_hardware_composer_defs.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
isplay_manager_client.cpp
vr_api.cpp
vr_buffer.cpp
vr_surface.cpp
nclude/dvr/display_manager_client.h
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer.h
nclude/dvr/dvr_surface.h
ests/Android.mk
ests/dvr_named_buffer-test.cpp
d3201d1dfc5ecfb9458b4e7bbeb72a7f2e3c49ac 06-Apr-2017 Daniel Nicoara <dnicoara@google.com> Add missing functor for DVR API

Missing initialization of functor.

Bug: 36050795
Test: Ran app using the DVR API and verified API is loaded correctly.
Change-Id: Ia2f7a6cb69e0be724ea0c67ce2d467f8605ec29b
vr_api.cpp
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
ndroid.mk
vr_buffer_queue.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer_queue.h
ests/Android.mk
ests/dvr_buffer_queue-test.cpp
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)
ndroid.mk
vr_api.cpp
vr_hardware_composer_client.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_hardware_composer_client.h
nclude/dvr/dvr_hardware_composer_defs.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
vr_api.cpp
nclude/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
vr_api.cpp
vr_surface.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_surface.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
nclude/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
vr_buffer_queue.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer_queue.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
ndroid.mk
vr_api.cpp
vr_buffer.cpp
vr_buffer_queue.cpp
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer.h
nclude/dvr/dvr_buffer_queue.h
ests/Android.mk
ests/dvr_buffer_queue-test.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.mk
isplay_manager_client.cpp
vr_api.cpp
vr_buffer.cpp
vr_surface.cpp
nclude/CPPLINT.cfg
nclude/dvr/display_manager_client.h
nclude/dvr/dvr_api.h
nclude/dvr/dvr_buffer.h
nclude/dvr/dvr_surface.h
nclude/dvr/vsync_client_api.h
sync_client_api.cpp