OSDN Git Service
Yifan Hong [Wed, 12 Apr 2017 23:53:00 +0000 (23:53 +0000)]
Merge "Add PERMISSION_DENIED to convertResult." into oc-dev
Steven Moreland [Wed, 12 Apr 2017 23:10:18 +0000 (23:10 +0000)]
Merge "Mark as vendor_available" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 22:08:34 +0000 (22:08 +0000)]
Merge "Correct configure direct report function document" into oc-dev
Brian C. Anderson [Wed, 12 Apr 2017 21:26:22 +0000 (21:26 +0000)]
Merge changes from topic 'presentFenceNotReliable' into oc-dev
* changes:
egl: Use reserved values for eglGetFrameTimestamps
egl: Differentiate pending vs invalid timestamps.
egl: Avoid use of retire as present
TreeHugger Robot [Wed, 12 Apr 2017 21:11:42 +0000 (21:11 +0000)]
Merge "Link vndservicemanager against libselinux statically." into oc-dev
Martijn Coenen [Wed, 12 Apr 2017 18:50:42 +0000 (11:50 -0700)]
Link vndservicemanager against libselinux statically.
Bug:
37189668
Test: vndservicemanager works
Change-Id: I8187fb86371d5a2073287beb6b17e263eedfb17b
Dianne Hackborn [Wed, 12 Apr 2017 17:55:49 +0000 (17:55 +0000)]
Merge "Add private helpers needed for job queue." into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 17:19:19 +0000 (17:19 +0000)]
Merge "Otapreopt: Check dexopt return status before retry" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 08:01:41 +0000 (08:01 +0000)]
Merge changes Ia1fa4a32,I2a4c3d9f into oc-dev
* changes:
hwc2: Remove Display::{mIsVirtual,setVirtual}
hwc2: Cache display type at construction
TreeHugger Robot [Wed, 12 Apr 2017 07:37:16 +0000 (07:37 +0000)]
Merge "Convert the pose buffer into a more generic named buffer" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 05:01:12 +0000 (05:01 +0000)]
Merge "IDirectReport.configure returns token" into oc-dev
Andreas Gampe [Tue, 21 Mar 2017 01:42:49 +0000 (18:42 -0700)]
Otapreopt: Check dexopt return status before retry
Only retry compilation (triggering a wipe and boot image regeneration)
when dex2oat failed in runtime creation.
(cherry picked from commit
2c925927ee7524086965be324e614c9041126085)
Bug:
36336122
Test: m
Test: Device boots
Test: Can install apps
Test: Can run A/B OTA
Change-Id: I1a2ae3a871a926002980acd8b7fa777fe8f7d739
TreeHugger Robot [Wed, 12 Apr 2017 01:11:33 +0000 (01:11 +0000)]
Merge "VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger" into oc-dev
Brian Anderson [Tue, 11 Apr 2017 19:54:59 +0000 (12:54 -0700)]
egl: Use reserved values for eglGetFrameTimestamps
Also update opengl/specs/README so it's clear which blocks
of values are already reserved.
Bug:
36887025
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: I2cd83553cc475fdf3f8cdfadf2eaf32abc8a7c09
Brian Anderson [Mon, 20 Mar 2017 23:54:25 +0000 (16:54 -0700)]
egl: Differentiate pending vs invalid timestamps.
Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Change-Id: Iaa418ff1753a4339bfefaa68a6b03e8c96366a87
TreeHugger Robot [Tue, 11 Apr 2017 23:52:37 +0000 (23:52 +0000)]
Merge "libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 23:52:19 +0000 (23:52 +0000)]
Merge "Avoid a potential race condition on mDisplays" into oc-dev
Hendrik Wagenaar [Thu, 6 Apr 2017 17:56:23 +0000 (10:56 -0700)]
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
Brian Anderson [Tue, 4 Apr 2017 17:51:39 +0000 (10:51 -0700)]
egl: Avoid use of retire as present
Retire fences from HWC1 are implemented inconsitently,
so present emulation doesn't always work well.
This patch disables present for all HWC1 based devices.
Test: adb shell /data/nativetest/libgui_test/libgui_test
--gtest_filter=*GetFrameTimestamps*
Bug:
36730849,
36887025
Change-Id: I1eba2f8490c2f6feced2a36d1efc4cd66be7da40
TreeHugger Robot [Tue, 11 Apr 2017 21:45:01 +0000 (21:45 +0000)]
Merge "schedulerservice: implement getMaxAllowedPriority" into oc-dev
Chris Forbes [Tue, 11 Apr 2017 19:20:00 +0000 (12:20 -0700)]
hwc2: Remove Display::{mIsVirtual,setVirtual}
Trivial cleanup.
Now that mType is available, we don't need a separate flag for whether
the display is virtual. The remaining effect of setVirtual was to set
the display connected, so just use setConnected.
Bug: b/
36597125
Test: build
Change-Id: Ia1fa4a324cc07b0d6c124f4f50966c8b0cbe4827
Chris Forbes [Tue, 11 Apr 2017 17:04:31 +0000 (10:04 -0700)]
hwc2: Cache display type at construction
The display type is constant for the life of the display. Query it
upfront to avoid the binder transaction later.
V2: fixup HWC1 path
Test: boot to launcher on bullhead; build on fugu for HWC1 path
Bug: b/
36597125
Change-Id: I2a4c3d9ff449960957376afef78f424261fcc282
Stephen Kiazyk [Wed, 5 Apr 2017 23:46:49 +0000 (16:46 -0700)]
Avoid a potential race condition on mDisplays
Update: The HWC1 path needed to be updated in light of a change to
SurfaceFlinger.h. The build now works for both paths.
Original Message:
The race could occur when transitioning in/out of VR flinger mode.
It is now avoided by ensuring that the primary |DisplayDevice| is always
created once |mStateLock| is released, and ensuring that all accesses
to the primary |DisplayDevice| are guarded by |mStateLock|.
Bug:
36194616
Bug:
37249613
Test: Compiled for both HWC1 and HWC2 surface flinger builds.
Normal behavior is unchanged. Explicitly testing the race
condition required instrumenting code with sleep statements.
Change-Id: I0b00e857a3b2fd01948a888db2f0715d2a8204c1
Yifan Hong [Mon, 10 Apr 2017 19:47:45 +0000 (12:47 -0700)]
IDirectReport.configure returns token
Test: pass
Test: VtsHalSensorManagerV1_0TargetTest
Bug:
37244013
Change-Id: I104a33420089c13cc85973b470f8179292d8094d
Chia-I Wu [Tue, 11 Apr 2017 17:03:38 +0000 (10:03 -0700)]
libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE
Honor GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE in
GraphicBufferMapper and advertise the cap in the adapter.
Bug:
36355756
Test: boots on gralloc0 and gralloc1 devices
Change-Id: I54a4855883904255fba9a0821ff9d866d265d25a
Dan Willemsen [Fri, 7 Apr 2017 21:14:08 +0000 (14:14 -0700)]
Mark as vendor_available
By setting vendor_available, the following may become true:
* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).
Background:
This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.
At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.
It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:
https://android-review.googlesource.com/368372
None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.
Bug:
36426473
Bug:
36079834
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Merged-In: I875a75d785aa13b97751e1c145183d87add01845
Change-Id: I875a75d785aa13b97751e1c145183d87add01845
TreeHugger Robot [Tue, 11 Apr 2017 16:51:44 +0000 (16:51 +0000)]
Merge "Update BufferHub service/client with support for gralloc1 usage." into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 16:28:45 +0000 (16:28 +0000)]
Merge "android.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 16:28:45 +0000 (16:28 +0000)]
Merge "Prevent runtime restart for crashed clients to framework sensorservice." into oc-dev
Yifan Hong [Mon, 10 Apr 2017 18:49:21 +0000 (11:49 -0700)]
android.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO
Looper thread uses SCHED_FIFO with a priority 10.
Test: sensor works (sanity checks with camera app), logcat
doesn't show SCHED_FIFO could not be used
b/
34386025 [Treble] Identify and fix Binder usage by camera HALs that isn't NDK-based
b/
35219747 [Treble] Figure out the new interface between camera and sensor
b/
36651814 [QCOM Treble] [REDACTED] Camera HAL uses Binder
b/
36651420 [QCOM Treble] [REDACTED] location daemon uses Binder
Change-Id: I0f236a77cccdc8d67a933daf7d5046947c82a3cf
Daniel Nicoara [Mon, 10 Apr 2017 17:27:32 +0000 (13:27 -0400)]
VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger
Without gralloc1 support, need to pass buffer metadata in order to
import native buffers and used them as graphic buffers.
Bug:
36481301
Test: Compiled and ran on device; Verified VR Window Manager properly
displays SurfaceFlinger buffers.
Change-Id: I8426be1d79dcc2fbd631c399427ae03cb2afc21d
Iliyan Malchev [Mon, 10 Apr 2017 21:09:04 +0000 (14:09 -0700)]
IServiceManager: dump stack on blocked vndbinder requests
Dump the stack of the thread requesting a service over /dev/vndbinder,
when the requestor is blocked waiting on the service. This is very
helpful in identifying bugs in converting code to /dev/vndbinder.
Test: sailfish
Change-Id: Iaaf6a83df3465dd5b64cd83c19d8918cfa01d3d8
Signed-off-by: Iliyan Malchev <malchev@google.com>
Iliyan Malchev [Mon, 10 Apr 2017 21:06:11 +0000 (14:06 -0700)]
binder: add getDriverName()
Ass ProcessState::getDriverName() to retrieve the /dev node that
libbinder is initialized with in this process. This can be used
elsewhere to add debug code that is enabled for only one binder domain
or another.
Test: sailfish
Change-Id: I3ea9f0dcc97204508791bdeb70f790980be278a5
Signed-off-by: Iliyan Malchev <malchev@google.com>
TreeHugger Robot [Tue, 11 Apr 2017 07:22:19 +0000 (07:22 +0000)]
Merge changes from topic 'llndk_rename' into oc-dev
* changes:
Remove .(ll)ndk suffix from (ll)ndk_library
Remove .(ll)ndk suffix from (ll)ndk_library
Steven Moreland [Tue, 11 Apr 2017 05:09:03 +0000 (22:09 -0700)]
schedulerservice: implement getMaxAllowedPriority
Test: SCHED_FIFO gets set on vendor marlin camera
Bug:
29251823
Change-Id: Ia6231651acb30620dd1655c8e65f3b380ec575d0
Andreas Huber [Fri, 7 Apr 2017 19:52:17 +0000 (12:52 -0700)]
Prevent runtime restart for crashed clients to framework sensorservice.
This only happens when the client dies, in which case the event queue
reference will be dropped on the client side, so the call to handleEvent
won't even be fired, except for a race condition.
The race condition is, if handleEvent is already fired,
then client dies and the event queue is going to be destroyed and the
fd is going to be removed, but before that the call onEvent fails.
Test: clients of SensorManager that uses event queue no longer
crashes.
Bug:
35219747
Change-Id: Ibdf062528a219fae65ee6263ed742229ec3cd0d6
TreeHugger Robot [Tue, 11 Apr 2017 03:14:13 +0000 (03:14 +0000)]
Merge "Load Vulkan driver into sphal namespace" into oc-dev
Yifan Hong [Mon, 10 Apr 2017 20:37:25 +0000 (13:37 -0700)]
Add PERMISSION_DENIED to convertResult.
Test: pass
Change-Id: Idb0316a21ec22fca07168a25e15acc18652ff0ff
Chia-I Wu [Tue, 11 Apr 2017 01:08:37 +0000 (01:08 +0000)]
Merge "libui: update for revised HIDL gralloc" into oc-dev
Dianne Hackborn [Mon, 10 Apr 2017 22:34:35 +0000 (15:34 -0700)]
Add private helpers needed for job queue.
We need to compare the data in parcels. Bleah.
Test: not relevant here.
Change-Id: I7b694ec89793449bf7ac342f663dc534feedf9b6
TreeHugger Robot [Tue, 11 Apr 2017 00:47:50 +0000 (00:47 +0000)]
Merge "Work on issue #
36863299: [Fugu] CTS: PermissionFeatureTest failures:..." into oc-dev
Steven Moreland [Mon, 10 Apr 2017 19:56:54 +0000 (12:56 -0700)]
Remove .(ll)ndk suffix from (ll)ndk_library
Soong handles these automatically now.
Bug:
33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Change-Id: I5a16edfb57ca9d3059cdef0a57c7c79e614878fe
Dan Willemsen [Fri, 7 Apr 2017 22:48:39 +0000 (15:48 -0700)]
Remove .(ll)ndk suffix from (ll)ndk_library
Soong handles these automatically now.
Bug:
33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Change-Id: Ie1cd267564095c51e536b7a84d53e7aed9dca288
Dianne Hackborn [Mon, 10 Apr 2017 18:55:24 +0000 (11:55 -0700)]
Work on issue #
36863299: [Fugu] CTS: PermissionFeatureTest failures:...
...File ata/etc/tv_core_hardware.xml does not exist
Add new separate file for the CTS feature.
Test: none needed
Change-Id: I3be83072e65781224c735b920b0b4fba22f57e4c
TreeHugger Robot [Mon, 10 Apr 2017 18:45:47 +0000 (18:45 +0000)]
Merge "Get a hack in place for broken quotas." into oc-dev
Chia-I Wu [Thu, 6 Apr 2017 19:34:32 +0000 (12:34 -0700)]
libui: update for revised HIDL gralloc
The revised HIDL gralloc is implementable on top of gralloc0 and
gralloc1, which enables us to remove all legacy code.
However, it lacks the ability to query buffer properties from a
buffer handle. GetBufferFromHandle in VR always fails.
Bug:
36481301
Test: builds and boots on Pixel
Change-Id: Id7cfa2d2172dfc008803860f24fcf4f03ba05f11
TreeHugger Robot [Mon, 10 Apr 2017 15:46:58 +0000 (15:46 +0000)]
Merge "Add missing functor for DVR API" into oc-dev
Polina Bondarenko [Mon, 10 Apr 2017 11:07:31 +0000 (11:07 +0000)]
Merge "Revert "Avoid a potential race condition on mDisplays"" into oc-dev
Polina Bondarenko [Mon, 10 Apr 2017 10:15:42 +0000 (10:15 +0000)]
Revert "Avoid a potential race condition on mDisplays"
This reverts commit
5576a555a14edd8c76addce2cee37b9b9ced2c3f.
Change-Id: I5d5889fccd94acacfbfef29847e4b65ef2543c75
Jeff Sharkey [Mon, 10 Apr 2017 06:19:46 +0000 (00:19 -0600)]
Get a hack in place for broken quotas.
Sadly we mixed together both UID and GID quotas in such a way that
we couldn't detangle the actual data-vs-cache usage in all cases.
Temporarily patch over this to get CTS passing until we can circle
back and try again.
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug:
36731175,
37193650
Change-Id: I5870b4e9c22398762fc47672e4d5d78c06bef79f
TreeHugger Robot [Mon, 10 Apr 2017 01:53:32 +0000 (01:53 +0000)]
Merge "Load GL graphics drivers explicitly from sphal namespace" into oc-dev
Jesse Hall [Fri, 7 Apr 2017 23:48:02 +0000 (16:48 -0700)]
Load Vulkan driver into sphal namespace
Test: bit CtsGraphicsTestCases:.VulkanFeaturesTest
Bug:
37143654
Change-Id: I4d14b7a7642071648d52d716870a41cfb4e844f1
Jiyong Park [Wed, 5 Apr 2017 05:23:52 +0000 (14:23 +0900)]
Load GL graphics drivers explicitly from sphal namespace
In Treble term, GL wrappers (libEGL.so, libGLES*.so, ...) are called
SP-NDK and actual drivers (libEGL_*.so, libGLESv2_*.so, ...)
are called SP-HALs. (SP = Same-Process).
SP-HALs are developed by vendors and thus they can use only a subset of
framework libraries that we call vndk-stable and subset of NDK
libraries. It consists of libc, libm, liblog, libz, libnativewindow,
libc++, ..., but not framework-only libraries such as libui, libandroid,
etc.
In order to enforce such restriction at run-time, we will use the linker
namespace. Specifically, we create a new namespace named 'sphal' and
configure it so that...
1) it can only search and load libraries from /vendor/lib,
2) it redirects the load/link request to the default namespace when the
allowed list of libraries are requested from the caller, and
3) it rejects to search/load any library other than 1) and 2).
The problem here is, GL wrapper need to tell the linker to load the
drivers from the separate namespace (the 'sphal' namespace other than
the default namespace. To specify the namespace, we need to use
android_dlopen_ext() instead of dlopen().`
Bug:
34407260
Bug:
37049319
Test: none, no op for now since we haven't create sphal namespace.
Change-Id: I376dd9e5cc904452f669c27eb85c59b30b43dc39
TreeHugger Robot [Sat, 8 Apr 2017 02:26:56 +0000 (02:26 +0000)]
Merge "Add HIDL Scheduler Service implementation." into oc-dev
Andrii Kulian [Sat, 8 Apr 2017 01:51:23 +0000 (01:51 +0000)]
Merge "Enable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets" into oc-dev
TreeHugger Robot [Sat, 8 Apr 2017 01:48:20 +0000 (01:48 +0000)]
Merge "Avoid a potential race condition on mDisplays" into oc-dev
Corey Tabaka [Sat, 8 Apr 2017 01:03:57 +0000 (18:03 -0700)]
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
Steven Moreland [Fri, 7 Apr 2017 17:46:25 +0000 (10:46 -0700)]
Add HIDL Scheduler Service implementation.
Test: marlin camera successfully sets permissions
Bug:
29251823
Change-Id: Ic7dc0377e5b0c3b08d32cf97dae39b6d35a0f631
TreeHugger Robot [Sat, 8 Apr 2017 00:02:08 +0000 (00:02 +0000)]
Merge "(DO NOT MERGE) media: Add new OMX extension for setting latency." into oc-dev
Stephen Kiazyk [Wed, 5 Apr 2017 23:46:49 +0000 (16:46 -0700)]
Avoid a potential race condition on mDisplays
The race could occur when transitioning in/out of VR flinger mode.
It is now avoided by ensuring that the primary |DisplayDevice| is always
created once |mStateLock| is released, and ensuring that all accesses
to the primary |DisplayDevice| are guarded by |mStateLock|.
Bug:
36194616
Test: Normal behavior is unchanged. Explicitly testing the race
condition required instrumenting code with sleep statements.
Change-Id: I1f8fcf23982c311d47267beca8127b6c29562ce5
Andrii Kulian [Fri, 7 Apr 2017 23:12:44 +0000 (16:12 -0700)]
Enable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets
Bug:
36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: If3fbf32f1f6c3de2f12f4b446f9350ea666a0d97
TreeHugger Robot [Fri, 7 Apr 2017 22:53:02 +0000 (22:53 +0000)]
Merge "Don't stack-allocate binder objects." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 22:27:03 +0000 (22:27 +0000)]
Merge "Fix binderValueTypeTest" into oc-dev
Tri Vo [Fri, 7 Apr 2017 20:15:06 +0000 (13:15 -0700)]
Fix binderValueTypeTest
Bug:
36903040
Test: compile, push, run on device.
Change-Id: I788dd7f5b5800a894aba4262553c7c6361549850
TreeHugger Robot [Fri, 7 Apr 2017 20:03:29 +0000 (20:03 +0000)]
Merge "Add separate 'vndservice' binary." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 18:35:08 +0000 (18:35 +0000)]
Merge "vr_hwc: Address ion buffer leakage" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 17:49:22 +0000 (17:49 +0000)]
Merge "libpdx: Fix ThreadLocalBufferTest.InitialValue unittest" into oc-dev
Martijn Coenen [Fri, 7 Apr 2017 17:46:57 +0000 (10:46 -0700)]
Add separate 'vndservice' binary.
This is installed on the vendor partition,
and can be used to call into vndservicemanager
and the services it hosts.
Bug:
36987120
Test: vndservice list works
Change-Id: I2d72312276cd4402ee1b399713cd5322b125b00f
Daniel Nicoara [Thu, 6 Apr 2017 15:10:33 +0000 (11:10 -0400)]
VR HWC: Relax checks around layer presentation
Rather than error out on layers without buffers, simply discard them.
This is more in line with other HWComposer implementations which deal
with this error, since SurfaceFlinger doesn't handle it appropriately.
Bug:
37091090
Test: Ran on device and verified errors are no longer reported in logcat
Change-Id: Iacfd9fa707d86367c7b6dbf62edea297fc9dfb8e
Kevin Schoedel [Thu, 6 Apr 2017 17:49:41 +0000 (13:49 -0400)]
Don't stack-allocate binder objects.
These inherit from RefBase and need to be owned in an sp<>.
Bug:
36854729
Test: manual on Pixel phone
Change-Id: I5ac6f50c1a21d4c8b224d41149b16da4d438dba7
Merged-In: I54dac1298dca1eb3ab5e6751366ba67bb2e1906c
Okan Arikan [Fri, 7 Apr 2017 16:51:21 +0000 (16:51 +0000)]
Merge "Fix the latency model." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 16:48:04 +0000 (16:48 +0000)]
Merge changes from topic 'vrflinger-prep' into oc-dev
* changes:
libpdx: Decay variant types to correctly handle cv-reference types.
libpdx: Fix forward declarations using default template args.
Add additional accessors to IonBuffer and BufferHubBuffer.
Update BufferHubQueue in preparation for VrFlinger refactor.
Alex Vakulenko [Fri, 7 Apr 2017 15:55:03 +0000 (08:55 -0700)]
libpdx: Fix ThreadLocalBufferTest.InitialValue unittest
A call to GetBuffer() has been inadvertently removed during code
upstreaming to master. See the BUG below for more details.
Bug:
36456321
Test: `pdx_tests` now succeed on Sailfish
Change-Id: Ic7d6ecbbd9b0e59e74b48a66a9e3701dc44695bc
Okan Arikan [Thu, 6 Apr 2017 23:35:56 +0000 (16:35 -0700)]
Fix the latency model.
We were being too clever in modeling the latency using exponentially
moving average. The issue is that the average changes as new samples come in
which we then use to update the timestamps.
If the sampling rate is high enough (like IMU) then the changes in the average
are close to the delta times between samples. This causes the sample times
to move, and sometimes even change their updated timestamp order. This
causes all kinds of mess when we linearly extrapolate because the slope is bogus.
The fix is to just average a certain number of latency samples and then stick with that
constant average.
Bug:
36997591
Test: Run any 3DOF VR app.
Change-Id: I5411b2a6b7c3f258bf197f0615c0339d68fd2fd7
TreeHugger Robot [Fri, 7 Apr 2017 03:39:19 +0000 (03:39 +0000)]
Merge "Support halt the trace when schd-dbg hit deadline" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 02:09:00 +0000 (02:09 +0000)]
Merge "Add option to list vndservicemanager services." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 01:45:22 +0000 (01:45 +0000)]
Merge "vrwm: Handle intents launched by the VR app" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 01:07:57 +0000 (01:07 +0000)]
Merge "libpdx_uds: Fix RPC channel ID allocation to not recycle values as often" into oc-dev
Peng Xu [Fri, 7 Apr 2017 01:02:29 +0000 (18:02 -0700)]
Correct configure direct report function document
Test: comment change, compiles
Change-Id: If9f13996d5cfc55370fefd3fabd2f78abaf2c5fa
Calin Juravle [Fri, 7 Apr 2017 00:23:43 +0000 (00:23 +0000)]
Merge changes from topics 'seinfo', 'public_dex' into oc-dev
* changes:
Restore selinux labels for secondary dex oat directory
Fix permission for public secondary dex files
Mark Urbanus [Thu, 6 Apr 2017 22:29:57 +0000 (15:29 -0700)]
vr_hwc: Address ion buffer leakage
Problem:
system is running out of memory while switching between apps back and forth.
Root-cause:
vr_hwc is leaking ion buffers by holding an unreleased reference.
Solution:
No need to register the buffer when getting buffer info. This removes the
additional (unreleased) reference on the buffer.
Test: Validated vr_hwc is no longer leaking ion buffers when switching
apps.
Bug:
36449218
Change-Id: I1c1c5d2cca35c50a4bcbcf7b879d37914b8d835f
Alex Vakulenko [Thu, 6 Apr 2017 21:51:54 +0000 (14:51 -0700)]
libpdx_uds: Fix RPC channel ID allocation to not recycle values as often
The value of channel ID for PDX service on UDS transport was actual file
descriptor value for the data socket. Since channels are open and closed
constantly, it is quite often that channel ID is being reused immediately,
so it is almost impossible to use `cid` as unique identifier for objects
being passed around.
Instead, we now use monotonically growing channel ID value.
To prevent the possibility of using channel ID as the socket FD and vice
versa, changed all helper functions that used to take socket_fd as an int
to explicitly use BorrowedHandle which disables implicit conversion from
int (and hence makes it impossible to mistakenly pass in the channel ID).
Bug:
37082296
Test: `m -j32` succeeds for sailfish-eng
Ran libpdx_uds_tests on the device -> all pass
Device boots and CubeSea and VrHome render correctly with vr_flinger
Change-Id: Ibb8dfee4d6c3f4b6120c0b6e20a253f1b9307c19
TreeHugger Robot [Thu, 6 Apr 2017 22:06:36 +0000 (22:06 +0000)]
Merge "vndservicemanager: use separate SELinux class." into oc-dev
Calin Juravle [Wed, 5 Apr 2017 03:22:50 +0000 (20:22 -0700)]
Restore selinux labels for secondary dex oat directory
Bug:
36896515
Test: adb shell cmd package compile -r bg-dexopt --secondary-dex com.google.android.gms
adb shell ls
/data/user_de/0/com.google.android.gms/app_chimera/m/
0000000c/oat/arm64/
-Z
youtube loads gms modules without extracting from apk
Change-Id: I4e12a6f532a1442a840e3ed8d01b98dd9a328eb6
TreeHugger Robot [Thu, 6 Apr 2017 21:51:17 +0000 (21:51 +0000)]
Merge changes I2f531131,Ibaaca2a1,Ib0cba4c7,I5ea748b8,I046e3f07, ... into oc-dev
* changes:
libgui: Make IDisplayEventConn... a SafeInterface
libgui: Remove RefBase from BitTube
libgui: Make BitTube Parcelable and use unique_fd
libgui: Format BitTube and move into gui namespace
libgui: Move BitTube out of system include dir
libgui: Normalize IDisplayEventConnection methods
libgui: Format IDisplayEventConnection
Albert Chaulk [Thu, 6 Apr 2017 20:36:29 +0000 (16:36 -0400)]
vrwm: Handle intents launched by the VR app
This gives us the following cases
Same appid, vr mode = 1: normal use
Same appid, vr mode = 0: VR app 2D intent
Different appid, vr mode = 1: Switching apps
Different appid, vr mode = 0: 2D app
Bug:
37099690
Test: Manual with calculator and oobetest
Change-Id: I7ba6588fb80d4c8de4f1372d047682f1d5d54860
Hangyu Kuang [Mon, 27 Feb 2017 22:30:39 +0000 (14:30 -0800)]
(DO NOT MERGE) media: Add new OMX extension for setting latency.
Test: Video Recording
Bug:
34221970
Change-Id: I525d86358f3f25a04ae0ac1a80461f8414e5a163
(cherry picked from commit
0c77369428af1e6baaf98a069aa2873bc4d3df1d)
Martijn Coenen [Thu, 6 Apr 2017 20:05:27 +0000 (13:05 -0700)]
vndservicemanager: use separate SELinux class.
For doing access control.
Bug:
36052864
Test: device boots
Change-Id: I263679ed4532ec52b1e64e5e60bdc064b7484073
Dan Stoza [Mon, 3 Apr 2017 20:27:12 +0000 (13:27 -0700)]
libgui: Make IDisplayEventConn... a SafeInterface
Converts IDisplayEventConnection to be a SafeInterface such that all
parceling/unparceling is done automatically.
Test: libgui_test + SurfaceFlinger_test + manual testing
Change-Id: I2f5311315dc4fadbf3599f2b28f150097f53de57
Dan Stoza [Mon, 3 Apr 2017 20:09:08 +0000 (13:09 -0700)]
libgui: Remove RefBase from BitTube
Removes RefBase from BitTube, since because it is not a Binder object,
it doesn't need to be reference-counted in this way.
In the process, we rename IDisplayEventConnection::getDataChannel to
IDEC::stealReceiveChannel to make it clearer that this is a non-const
operation on the remote end that removes its access to the receive
channel.
This also adds a couple of methods for moving the receive file
descriptor out of one BitTube and into another, since this is the
essence of the IDisplayEventConnection::stealReceiveChannel method,
and now with C++11 move semantics, we can do this without needing to
return an sp<> from EventThread's implementation of stealReceiveChannel.
Test: m -j + manual testing
Change-Id: Ibaaca2a14fb6155052fe5434c14bc3e671b43743
Dan Stoza [Sat, 1 Apr 2017 00:10:06 +0000 (17:10 -0700)]
libgui: Make BitTube Parcelable and use unique_fd
This change completes the Parcelable interface for BitTube (it was
semi-Parcelable before as it implemented writeToParcel, but this adds
the complementary readFromParcel).
It also changes the send and receive file descriptors from ints to
android::base::unique_fds, which simplifies some of their lifecycle
management.
Finally, it changes the default constructor to leave the class
uninitialized, adding a BitTube(BitTube::DefaultSize) constructor to
replace that functionality (and paving the way for the ability to
default-construct a BitTube prior to readFromParcel'ing into it).
Test: m -j + manual testing
Change-Id: Ib0cba4c7c443b449a9a1837f07f7334395d4f10d
Dan Stoza [Fri, 31 Mar 2017 23:30:42 +0000 (16:30 -0700)]
libgui: Format BitTube and move into gui namespace
Reformats BitTube using the framework default .clang-format and moves
it into the android::gui namespace.
Test: m -j + manual testing
Change-Id: I5ea748b809f37c2ec4dcfb41e7b84daf7a084368
Dan Stoza [Fri, 31 Mar 2017 23:18:10 +0000 (16:18 -0700)]
libgui: Move BitTube out of system include dir
Moves the BitTube header out of the system include directory and into
libgui's include directory.
Test: m -j
Change-Id: I046e3f07ec4a58736c8de7ea7ba0f43a8e3e328b
Dan Stoza [Thu, 30 Mar 2017 23:37:19 +0000 (16:37 -0700)]
libgui: Normalize IDisplayEventConnection methods
This change modifies the IDisplayEventConnection API such that every
synchronous method returns a status_t (to be able to return transport
errors). This required changing getDataChannel to return its channel by
output parameter rather than return type.
Currently no more error messages are checked than before, but this will
both enable calling code to check error messages if it desires and,
more importantly, allow the Bp/Bn code to be semi-automatically
generated using SafeInterface.
Test: libgui_tests + manual testing
Change-Id: I8d5bc5ef0475cee07b638a97079b234f0384c022
Dan Stoza [Thu, 30 Mar 2017 23:09:13 +0000 (16:09 -0700)]
libgui: Format IDisplayEventConnection
Applies the framework default .clang-format and does a bit of tidying
up (reflowing comments to 100 characters, reordering includes, etc.).
Test: libgui_tests + manual testing
Change-Id: I8b3515339a93dbe42ce4421cb561b78ed2fe9104
Daniel Nicoara [Thu, 6 Apr 2017 17:46:31 +0000 (13:46 -0400)]
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
Scott Randolph [Thu, 6 Apr 2017 18:01:41 +0000 (18:01 +0000)]
Merge "Use explicit .c_str() for hidl_string" into oc-dev
Jiwen Cai [Thu, 6 Apr 2017 17:54:38 +0000 (17:54 +0000)]
Merge "dvr_api GetExternalSurface returns ANativeWindow" into oc-dev
Courtney Goeltzenleuchter [Thu, 6 Apr 2017 14:18:34 +0000 (08:18 -0600)]
ifdef HWC2 functionality
Fix build issue for devices that are not using HWC2.
Test: lunch hikey-userdebug; make
Change-Id: I47e9aa09b8db3f0dca6d733e2c8f3b59c45547b2
Calin Juravle [Wed, 5 Apr 2017 03:21:05 +0000 (20:21 -0700)]
Fix permission for public secondary dex files
- make the oat directory accessible by others
- if the dex files is readable by others and we are not doing a speed-
profile compilation make the oat file readable by others.
Bug:
36896515
Test: adb shell cmd package compile -r bg-dexopt --secondary-dex com.google.android.gms
check that the oat directory and files have the right permissions
Change-Id: I1829217004353fb8c86e5a6b7eb570555e36a495