0262d6035ed6a382b2b3c5582fe6c38a2130fd63 |
|
11-Apr-2018 |
Jiwen 'Steve' Cai <jwcai@google.com> |
Deprecate legacy and unused DVR API Bug: 65469368 Test: Build system and run VrHome; dvr_api-test Change-Id: I366549319e96ed936815f100f8e64e6a1c4f52bb
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_buffer_queue.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_buffer_queue.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_buffer_queue.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_buffer_queue.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_buffer_queue.h
|
42c6f3adbc8473efb0d375e1d564d1522723c6be |
|
01-Jul-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
dvrReadBufferQueueDequeue: allow empty metadata Currently, when there is no metadata on the read buffer queue, we have to pass in dummy out_metadata; otherwise the API always return -EINVAL. This CL allows (nullptr, 0) as legit input and add test to cover that. Bug: 62958474 Test: Ran the updated DvrBufferQueueTest Change-Id: I0ad666006a5d93b67a48b9c34f27e325dfa9a419
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
|
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_buffer_queue.h
|
656f406fcb0c45fd3c729a513bdd3f353cc6ec1f |
|
22-May-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
DvrWriteBufferQueue: support buffer resizing Currently, the buffer resising is implemented at the C API's implementation level, i.e. it's a pure client side logic out of the core BufferHubQueue C++/PDX implementation. The logic is similar to BufferHubQueueProducer's buffer resizing logic. Other minor changes: 1/ Use ProducerQueueConfig in DisplaySurface as well, and plumb default width, height, and format to bufferhubd when a BufferHubQueue is created through a Display Surface. 2/ Added detailed dvr_buffer_queue comments. 3/ Since we now have more and more logic in dvr_buffer_queue, refactored Dvr{Read,Write}BufferQueue to be C++-styled class. Bug: 38324405 Test: buffer_hub_queue_producer-test, buffer_hub_queue-test, dvr_api-test Change-Id: I7186fc04e84eafda46eca316a94739bb3b5c07ca
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_buffer_queue.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_buffer_queue.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_buffer_queue.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_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
/frameworks/native/libs/vr/libdvr/include/dvr/dvr_buffer_queue.h
|