OSDN Git Service

android-x86/frameworks-native.git
7 years agolshal: remove "// static" comments
Steven Moreland [Tue, 9 May 2017 23:43:46 +0000 (16:43 -0700)]
lshal: remove "// static" comments

Test: pass
Change-Id: I4d710c8aaad87cfcd7896800a5ab24f812775703
Merged-In: I4d710c8aaad87cfcd7896800a5ab24f812775703

7 years agoMerge "Load updated graphics drivers into sphal-child namespace" into oc-dev
Jesse Hall [Mon, 15 May 2017 14:30:17 +0000 (14:30 +0000)]
Merge "Load updated graphics drivers into sphal-child namespace" into oc-dev

7 years agoFixes vsync behavior in power mode transitions. am: 4de4ee3cb3
Matthew Bouyack [Sat, 13 May 2017 01:02:33 +0000 (01:02 +0000)]
Fixes vsync behavior in power mode transitions. am: 4de4ee3cb3
am: c6e23d9959  -s ours

Change-Id: I08d22529331d4f512935e94fd1c63525bdda6115

7 years agoFixes vsync behavior in power mode transitions.
Matthew Bouyack [Sat, 13 May 2017 00:18:59 +0000 (00:18 +0000)]
Fixes vsync behavior in power mode transitions.
am: 4de4ee3cb3

Change-Id: I78e718bc1f9098e0da58257587062c11a8bd7e3a

7 years agoMerge "Remove libposepredictor." into oc-dev
TreeHugger Robot [Fri, 12 May 2017 23:37:44 +0000 (23:37 +0000)]
Merge "Remove libposepredictor." into oc-dev

7 years agoLoad updated graphics drivers into sphal-child namespace
Jesse Hall [Fri, 5 May 2017 23:41:35 +0000 (16:41 -0700)]
Load updated graphics drivers into sphal-child namespace

Bug: 37854032
Test: install driver package, run gles3jni and vulkanGears,
      check /proc/<pid>/maps to ensure updated driver is loaded
Change-Id: I45d5be974ad079f8fcdbce6f06ccd3c191ec6a12

7 years agoFixes vsync behavior in power mode transitions.
Matthew Bouyack [Fri, 12 May 2017 19:49:32 +0000 (12:49 -0700)]
Fixes vsync behavior in power mode transitions.

Calling EventThread::onScreenAcquired enables hardware vsync and
calling EventThread::onScreenReleased disables hardware vsync.

The power modes 'NORMAL' and 'DOZE' should have hardware vsync
enabled while power modes 'OFF' and 'DOZE_SUSPEND' should have
hardware vsync disabled.

This change correctly handles the transitions from 'OFF' to
'DOZE_SUSPEND' and from either 'OFF' or 'DOZE_SUSPEND' to
'NORMAL'. Previously these cases were handled incorrectly.

Note that redundant calls to onScreenAcquired or onScreenReleased
are safe.

Fixes bug: 38232221

Change-Id: I7b00f97a67b157366364b3d26fe94533da07c263

7 years agoRemove libposepredictor.
Okan Arikan [Fri, 12 May 2017 16:37:12 +0000 (09:37 -0700)]
Remove libposepredictor.

It is no longer used in this project.

Bug: 38260355
Test: make
Change-Id: I3178c6078186c85fcaf560eb0af603ffc31b5109
Merged-In: I3178c6078186c85fcaf560eb0af603ffc31b5109

7 years agoMerge "Revert "surfaceflinger: work around dumpsys lockup"" into oc-dev
Chia-I Wu [Fri, 12 May 2017 19:50:55 +0000 (19:50 +0000)]
Merge "Revert "surfaceflinger: work around dumpsys lockup"" into oc-dev

7 years agoMerge "Remove QCom specific flags" into oc-dev
TreeHugger Robot [Fri, 12 May 2017 16:06:51 +0000 (16:06 +0000)]
Merge "Remove QCom specific flags" into oc-dev

7 years agoRevert "surfaceflinger: work around dumpsys lockup"
Chia-I Wu [Thu, 11 May 2017 23:06:07 +0000 (16:06 -0700)]
Revert "surfaceflinger: work around dumpsys lockup"

This reverts commit 843460d1d8ced54ed224cff2b3fad703b6ea98c4.

Bug: 38183197
Test: manual while running dumpDebugInfo continuously in the
      background
Change-Id: Ife3fb2970f58b8c8049bbe878c6a7728d1299d57

7 years agoconfigstore: should import ISurfaceFlingerConfigs
Jaesoo Lee [Tue, 2 May 2017 13:19:39 +0000 (22:19 +0900)]
configstore: should import ISurfaceFlingerConfigs

This changes fixes a build error.

Bug: 37727469
Test: Built and tested on Sailfish
Change-Id: Icfd71a3b1db6477d53bbbcb0f4b17ac9b588abf9
Merged-In: I9c8be953f906af3b541a437e8f445063a518bf29

7 years agoMerge "DO NOT MERGE Remove graphics.cpp and friends" into oc-dev
TreeHugger Robot [Fri, 12 May 2017 05:49:00 +0000 (05:49 +0000)]
Merge "DO NOT MERGE Remove graphics.cpp and friends" into oc-dev

7 years agoMerge "BufferHubQueue Cleanup" into oc-dev
TreeHugger Robot [Fri, 12 May 2017 02:56:52 +0000 (02:56 +0000)]
Merge "BufferHubQueue Cleanup" into oc-dev

7 years agoBufferHubQueue Cleanup
Jiwen 'Steve' Cai [Mon, 8 May 2017 23:15:35 +0000 (16:15 -0700)]
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

7 years agoDO NOT MERGE Remove graphics.cpp and friends
Hendrik Wagenaar [Tue, 9 May 2017 15:59:51 +0000 (08:59 -0700)]
DO NOT MERGE Remove graphics.cpp and friends

* Delete a bunch of code that isn't used in the O2 path

Bug: 36776792
Test: Compiled
Change-Id: I4adf6ec5678a53e0850229f9dda60e8687793376
Merged-In: I4adf6ec5678a53e0850229f9dda60e8687793376

7 years agoMerge "Remove libbufferhub mocks/" into oc-dev
TreeHugger Robot [Thu, 11 May 2017 21:18:23 +0000 (21:18 +0000)]
Merge "Remove libbufferhub mocks/" into oc-dev

7 years agoMerge "Only spawn one binder thread for cmd." into oc-dev
Martijn Coenen [Thu, 11 May 2017 19:48:37 +0000 (19:48 +0000)]
Merge "Only spawn one binder thread for cmd." into oc-dev

7 years agoRemove libbufferhub mocks/
Gaurav Shah [Thu, 11 May 2017 18:57:46 +0000 (11:57 -0700)]
Remove libbufferhub mocks/

It is not used anywhere.

Bug: 36040117
Test: built. no code changes, only dead code removal.
Change-Id: Ia9c52379ac2dabf0179f92c0c2d5ffd4ff92d357

7 years agoMerge "Apply correct SELinux labels to PDX endpoint and channel sockets." into oc-dev
TreeHugger Robot [Thu, 11 May 2017 18:26:46 +0000 (18:26 +0000)]
Merge "Apply correct SELinux labels to PDX endpoint and channel sockets." into oc-dev

7 years agoOnly spawn one binder thread for cmd.
Martijn Coenen [Thu, 11 May 2017 16:45:59 +0000 (09:45 -0700)]
Only spawn one binder thread for cmd.

To work around race conditions in libbinder when
spawning new threads while being shut down.

Bug: 36066697
Test: cmd still works
Change-Id: I71c8d1aac29a1bf65d54023a4ed39d943ad54c98

7 years agoMerge "Make libdvr a shared library" into oc-dev
Steven Thomas [Thu, 11 May 2017 17:16:45 +0000 (17:16 +0000)]
Merge "Make libdvr a shared library" into oc-dev

7 years agoRemove obsolete DEXOPT_SAFEMODE.
Nicolas Geoffray [Fri, 5 May 2017 13:32:51 +0000 (14:32 +0100)]
Remove obsolete DEXOPT_SAFEMODE.

installd side of the change.

bug:37929796
Test: build
Change-Id: I358c0784a7b563cbd6ceaecdb80710971f483d02
(cherry picked from commit bad623a225d0b3d94f30f8654bd4684969e90d4c)

7 years agoMerge "Handle safe mode in PackageManager." into oc-dev
Nicolas Geoffray [Thu, 11 May 2017 09:43:44 +0000 (09:43 +0000)]
Merge "Handle safe mode in PackageManager." into oc-dev

7 years agoMerge "Add uniqueId to Virtual Display and pass through to inputflinger (2/2)" into...
TreeHugger Robot [Thu, 11 May 2017 03:53:36 +0000 (03:53 +0000)]
Merge "Add uniqueId to Virtual Display and pass through to inputflinger (2/2)" into oc-dev

7 years agoAdd uniqueId to Virtual Display and pass through to inputflinger (2/2)
Santos Cordon [Wed, 5 Apr 2017 17:37:00 +0000 (10:37 -0700)]
Add uniqueId to Virtual Display and pass through to inputflinger (2/2)

This CL adds:
1) Adds uniqueId (protected via system/sig permission) to virtual
displays.
2) Add support for N virtual display viewports into inputflinger.
3) Set the virtual display's viewports in inputflinger if it has the
uniqueId value set to non-null. (a) Moving the new viewport from java to
native inputflinger and (b) adding "uniqueId" value to viewports makes
up the great majority of this change.
4) From the inputflinger side, we also read in a new value from the
input device configuration files called 'touch.displayId'.
5) When touch.displayId and the virtual display's uniqueId match,
inputflinger links the two.

Test: Start VR and ensure that the virtual viewport shows up when running
'adb shell dump input".  Run a VR app, and ensure that the virtual input
device is associated with the new virtual viewport.

Bug: 36051620
Change-Id: I662f09f863a3dc94c570e7e7f30b83888b3f514c
Merged-In: I662f09f863a3dc94c570e7e7f30b83888b3f514c

7 years agoMerge "Logging for catching memory issue in Parcel" into oc-dev
Michael Wachenschwanz [Thu, 11 May 2017 01:24:21 +0000 (01:24 +0000)]
Merge "Logging for catching memory issue in Parcel" into oc-dev

7 years agoMerge "Surfaceflinger: Propagate type & UID from parent layers" into oc-dev
TreeHugger Robot [Thu, 11 May 2017 01:03:27 +0000 (01:03 +0000)]
Merge "Surfaceflinger: Propagate type & UID from parent layers" into oc-dev

7 years agoMake libdvr a shared library
Steven Thomas [Mon, 8 May 2017 22:45:30 +0000 (15:45 -0700)]
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

7 years agoRemove QCom specific flags
Hendrik Wagenaar [Wed, 10 May 2017 23:19:02 +0000 (16:19 -0700)]
Remove QCom specific flags

* We can't have any device specific code on Android

Bug: 38207381
Test: Compiled
Change-Id: I0cab52d71c65ff401985b01140452c7901eef855

7 years agoSurfaceflinger: Propagate type & UID from parent layers
Albert Chaulk [Thu, 4 May 2017 20:59:44 +0000 (16:59 -0400)]
Surfaceflinger: Propagate type & UID from parent layers

Bug: 36589137
Test: Launch chrome in VR (surfaceview has a parent)
Change-Id: I9320a8df249d1d5790323b22f0ba88a792f9468f

7 years agoMerge "Revert "atrace: Poke PDX services using utility class."" into oc-dev
TreeHugger Robot [Wed, 10 May 2017 20:25:35 +0000 (20:25 +0000)]
Merge "Revert "atrace: Poke PDX services using utility class."" into oc-dev

7 years agoMerge "docs: Fixed comments to generate API refs correctly. Test: Verified by manuall...
Quddus Chong [Wed, 10 May 2017 19:52:40 +0000 (19:52 +0000)]
Merge "docs: Fixed comments to generate API refs correctly. Test: Verified by manually generating the API refs." into oc-dev

7 years agoMerge "SF: Use last call time to rate limit resyncs" into oc-dev
TreeHugger Robot [Wed, 10 May 2017 19:19:59 +0000 (19:19 +0000)]
Merge "SF: Use last call time to rate limit resyncs" into oc-dev

7 years agoLogging for catching memory issue in Parcel
Michael Wachenschwanz [Mon, 8 May 2017 21:26:41 +0000 (14:26 -0700)]
Logging for catching memory issue in Parcel

Added a check to catch a bug that is suspected to lead to a segfault
during GC. Actual fix for the bug is commented and will be checked in
once the flow that is hitting the bug is uncoverered

Bug: 37298089
Test: manual

Change-Id: I68dea02566a9e9375e3a09d4cc19e39379d84747
Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
7 years agoRevert "atrace: Poke PDX services using utility class."
Alex Vakulenko [Wed, 10 May 2017 18:32:52 +0000 (18:32 +0000)]
Revert "atrace: Poke PDX services using utility class."

This reverts commit f70680e995d6df4604c9b34f6a5afebe613d7feb.

There appears to be a bug in the current build system that does not
cleanly rebuild all targets using static libraries built across
different build systems (Soong/make). With the recent change to PDX
connection handshake, it is important that all clients and services are
rebuilt to include the new protocol changes. However this is not the
case when doing incremental builds. Some services remain untouched
during global builds and hence there is a disparity in clients' and
services' implementations of the protocol.

atrace being one of the clients is affected (the symptom is that when
started atrace just hangs waiting for connection to a PDX service).

While there is nothing wrong with the current state of code, but the
issue of incomplete incremental builds is causing headaches for people
trying to chase performance issues in O with systrace (since it is
unclear that they need to do a clean build).

Reverting the dependency on PDX in atrace for now until the build system
issue is identified and fixed property. This change can be re-landed then.

Bug: 38201226
Change-Id: Ica0efc38f600295ef6f64b9f9584ac41cb84f424

7 years agoMerge "Otapreopt: Work around bug 38186355" into oc-dev
TreeHugger Robot [Wed, 10 May 2017 17:31:52 +0000 (17:31 +0000)]
Merge "Otapreopt: Work around bug 38186355" into oc-dev

7 years agodocs: Fixed comments to generate API refs correctly.
Quddus Chong [Tue, 9 May 2017 21:43:16 +0000 (14:43 -0700)]
docs: Fixed comments to generate API refs correctly.
Test: Verified by manually generating the API refs.

Change-Id: I77f2072d2aa83a6c71e11b216e206c4e6563ab88

7 years agoApply correct SELinux labels to PDX endpoint and channel sockets.
Alex Vakulenko [Tue, 2 May 2017 00:54:24 +0000 (17:54 -0700)]
Apply correct SELinux labels to PDX endpoint and channel sockets.

Bug: 37646189
Test: Compiled for sailfish-eng
      Device booted, normal 2D UI works as before
      Was able to run Daydream app and CubeSea (before O1 VR rendering
      path was disabled by recent change in HW composer).

Change-Id: I1f7040324992d3c784f072ea6b64a65fa7ed0589

7 years agoOtapreopt: Work around bug 38186355
Andreas Gampe [Wed, 10 May 2017 15:18:06 +0000 (08:18 -0700)]
Otapreopt: Work around bug 38186355

Temporarily also accept a malformed string for null.

Bug: 38186355
Test: m
Test: manual OTA
Change-Id: I19d527d04b86596551f7bed54221c67be06c34c7

7 years agoMerge "Correct PowerManager transaction IDs." into oc-dev
TreeHugger Robot [Wed, 10 May 2017 14:40:19 +0000 (14:40 +0000)]
Merge "Correct PowerManager transaction IDs." into oc-dev

7 years agoMerge "egl: recover from failed eglMakeCurrent" into oc-dev
Mike Stroyan [Wed, 10 May 2017 13:57:06 +0000 (13:57 +0000)]
Merge "egl: recover from failed eglMakeCurrent" into oc-dev

7 years agoHandle safe mode in PackageManager.
Nicolas Geoffray [Wed, 3 May 2017 12:21:37 +0000 (13:21 +0100)]
Handle safe mode in PackageManager.

installd side of the change.

bug:37929796
Test: manual OTA with a safemode app.

(cherry picked from commit be6ecd6f6141de1ecd4ec6eb5885bdd0f655fafa)

Change-Id: I43dcdd3fea3f62398f16f89348c1a2f1b4b1bb6d

7 years agoMerge "Always unlink the out_vdex_file." into oc-dev
Nicolas Geoffray [Wed, 10 May 2017 10:48:14 +0000 (10:48 +0000)]
Merge "Always unlink the out_vdex_file." into oc-dev

7 years agoAlways unlink the out_vdex_file.
Nicolas Geoffray [Tue, 9 May 2017 13:20:09 +0000 (14:20 +0100)]
Always unlink the out_vdex_file.

Even if we pass the same vdex file as input and output to
dex2oat, make sure we unlink it if dex2oat failed.

bug:38113240
Test: manual, killing dex2oat invocation

(cherry picked from commit 7bb165779f59bfa1324ca991f64ab98331a410b5)

Change-Id: I157b3d33179b5bff1ca38750bee24aab01c5a19b

7 years agoMerge "Move sensord" into oc-dev
Luke Song [Wed, 10 May 2017 05:16:03 +0000 (05:16 +0000)]
Merge "Move sensord" into oc-dev

7 years agoMerge "bufferqueue: allow null stream in H2BGBP::setSidebandStream" into oc-dev
TreeHugger Robot [Wed, 10 May 2017 02:51:50 +0000 (02:51 +0000)]
Merge "bufferqueue: allow null stream in H2BGBP::setSidebandStream" into oc-dev

7 years agoMerge "Split libdvr_headers from libdvr: Step 1" into oc-dev
TreeHugger Robot [Wed, 10 May 2017 02:46:32 +0000 (02:46 +0000)]
Merge "Split libdvr_headers from libdvr: Step 1" into oc-dev

7 years agobufferqueue: allow null stream in H2BGBP::setSidebandStream
Lajos Molnar [Tue, 9 May 2017 20:52:30 +0000 (13:52 -0700)]
bufferqueue: allow null stream in H2BGBP::setSidebandStream

Bug: 38172844
Change-Id: I585e1dc01f2e7f955c39046c1592bda7bea45a23

7 years agodocs: Fixed doc comments to enable Doxygen to generate code block correctly.
Quddus Chong [Tue, 9 May 2017 17:39:23 +0000 (10:39 -0700)]
docs: Fixed doc comments to enable Doxygen to generate code block correctly.
Test: Verified by manually generating docs.

Change-Id: Id79a77e71deb26e0dd5d22843c2f09d9000e587d

7 years agoSplit libdvr_headers from libdvr: Step 1
Jiwen 'Steve' Cai [Tue, 9 May 2017 00:07:52 +0000 (17:07 -0700)]
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

7 years agoRemove vr_wm service (try 2)
Daniel Nicoara [Mon, 8 May 2017 20:44:42 +0000 (16:44 -0400)]
Remove vr_wm service (try 2)

VR Window Manager has moved to VrCore. Removing deprecated code.

Bug: 36051907
Test: Compiled and verified VR still works.
Change-Id: Iea0c7646df8a068c058099cf19ef7d76bbf89192

7 years agoMerge "dvrapi: Pass layer_count down" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 10:00:37 +0000 (10:00 +0000)]
Merge "dvrapi: Pass layer_count down" into oc-dev

7 years agoMerge "Remove slices from buffers" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 08:03:02 +0000 (08:03 +0000)]
Merge "Remove slices from buffers" into oc-dev

7 years agoMerge "Remove framebuffer_target" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 06:37:01 +0000 (06:37 +0000)]
Merge "Remove framebuffer_target" into oc-dev

7 years agodvrapi: Pass layer_count down
Hendrik Wagenaar [Mon, 8 May 2017 05:19:17 +0000 (22:19 -0700)]
dvrapi: Pass layer_count down

* We were missing layer count, which would prevent multiview
  from working

Bug: 37245304
Test: MultiLayerBufferQueue
Change-Id: I88b41f1aa7665df01e89a7386cbc23b15c9a79b0

7 years agoRemove slices from buffers
Hendrik Wagenaar [Sun, 7 May 2017 05:36:04 +0000 (22:36 -0700)]
Remove slices from buffers

* code no longer required, as it will be handled in vrcore

Bug: 38076195
Test: Manually ran testing
Change-Id: Id28918a3bf73b99cbb57aad4c21251b7a9623074

7 years agoMerge "remove vr/libeds" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 05:06:15 +0000 (05:06 +0000)]
Merge "remove vr/libeds" into oc-dev

7 years agoMerge "Fix BufferHubQueueProducer::dequeueBuffer" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 01:29:31 +0000 (01:29 +0000)]
Merge "Fix BufferHubQueueProducer::dequeueBuffer" into oc-dev

7 years agoMerge "Prevent buggy display orientation when exiting vr" into oc-dev
TreeHugger Robot [Tue, 9 May 2017 00:32:21 +0000 (00:32 +0000)]
Merge "Prevent buggy display orientation when exiting vr" into oc-dev

7 years agoMerge "Return an error if apiVersion is 1.1+." into oc-dev
TreeHugger Robot [Mon, 8 May 2017 23:50:34 +0000 (23:50 +0000)]
Merge "Return an error if apiVersion is 1.1+." into oc-dev

7 years agoFix BufferHubQueueProducer::dequeueBuffer
Jiwen 'Steve' Cai [Mon, 8 May 2017 23:02:36 +0000 (16:02 -0700)]
Fix BufferHubQueueProducer::dequeueBuffer

Seems this might just be a rebase glitch.

Bug: 38137230
Test: buffer_hub_queue_producer-test
Change-Id: I94ce059475fad4cf31cec52a9661eb6fc9cd2e00

7 years agoMerge "Do not return an error if the dalvik-cache odex is missing" into oc-dev
TreeHugger Robot [Mon, 8 May 2017 23:20:12 +0000 (23:20 +0000)]
Merge "Do not return an error if the dalvik-cache odex is missing" into oc-dev

7 years agoReturn an error if apiVersion is 1.1+.
Ian Elliott [Mon, 8 May 2017 21:59:09 +0000 (15:59 -0600)]
Return an error if apiVersion is 1.1+.

The Vulkan loader is supposed to check the requested apiVersion and return
VK_ERROR_INCOMPATIBLE_DRIVER if the requested version is not supported.  The
loader wasn't performing the check, nor returning the error.  A log message is
also issued, explaining why the application failed to create an instance.

Bug: 38040828
Test: Modify cube to use 1.0 or 1.1 and ensure proper return value.
Change-Id: I8cc792305a346c6e1db40f61d5235c301d8ae848

7 years agoRemove framebuffer_target
Hendrik Wagenaar [Mon, 8 May 2017 21:45:44 +0000 (14:45 -0700)]
Remove framebuffer_target

* Remove unused variable

Bug: 38132845
Test: Compiled
Change-Id: I08afba75b72c3d27aca042755bf36584979c7f0c

7 years agoDo not return an error if the dalvik-cache odex is missing
Calin Juravle [Thu, 4 May 2017 00:22:27 +0000 (17:22 -0700)]
Do not return an error if the dalvik-cache odex is missing

Test: adb shell /data/nativetest/installd_service_test/installd_service_test
      Tried uninstalling an updated version of prebuilt app.
      Didn't find the error message in the logcat.
Bug: 35804241
Change-Id: Iec045fa9c9ac8f036785fe5cbd0f7e43f2b680c1

7 years agoSF: Use last call time to rate limit resyncs
Dan Stoza [Mon, 8 May 2017 21:03:54 +0000 (14:03 -0700)]
SF: Use last call time to rate limit resyncs

SurfaceFlinger has a method which tells it to resync to hardware vsync
as long as it hasn't resynced too recently. This is used when we
receive a request for a Choreographer wakeup since if it has been a
while since we animated, we have likely drifted.

To determine whether we should actually resync or whether we should
instead rate-limit the call, we compare the current time to the last
time we drew, but this is problematic. When we first start animating
after a period of inactivity, this triggers a resync every time the
method is called until we receive the first frame and draw it, even if
we are already mid-resync, which delays the time until we can lock onto
the hardware vsync phase and has the side-effect of causing weird wakeup
times in both Choreographer and SurfaceFlinger.

This change instead keeps a local timestamp which is updated every time
the method is called and therefore effectively rate limits even before
the first frame is received.

Bug: 38117777
Test: ApiDemos/ListView + manual inspection of systraces
Change-Id: I7210594f9ed6ed5397bb0f3f14a8966503454643

7 years agoegl: recover from failed eglMakeCurrent
Mike Stroyan [Mon, 8 May 2017 16:47:24 +0000 (10:47 -0600)]
egl: recover from failed eglMakeCurrent

Some drivers don't actually restore current context when
eglMakeCurrent fails.  Restore the current context directly.

Bug: 37244059
Change-Id: I857da78078dd212b523d690415cf525ecd463961
Fixes: 37244059
Test: android.server.cts.ActivityManagerDisplayTests

7 years agoFix enforcement of sensor's slowest rate
Jim Kaye [Mon, 8 May 2017 16:07:27 +0000 (09:07 -0700)]
Fix enforcement of sensor's slowest rate

This code calculates a sensor's maximum sample
period in nanoseconds. This is stored as a 64-bit
value, as required for periods greater than ~2.1
seconds.

The calculation was done with 32-bit arithmetic,
sometimes resulting in overflow. This caused the
sensor to run at its maximum rate.

(The requested period is first clipped to the maximum
period. When the maximum period appears negative, it
is always used. The now-negative period is then clipped
to the minimum period, resulting in the sensor's maximum
supported rate.)

Bug: 37465457

Test: Verified correct operation with Goldfish accelerometer,
which has a 60-second maximum period.

Change-Id: Ic75a9dc7c4e7c9ca690eafbfa51ee50540ca5aaf

7 years agoMerge "libpdx_uds: Always create channel sockets in the server process" into oc-dev
TreeHugger Robot [Sun, 7 May 2017 16:30:05 +0000 (16:30 +0000)]
Merge "libpdx_uds: Always create channel sockets in the server process" into oc-dev

7 years agoremove vr/libeds
Hendrik Wagenaar [Sun, 7 May 2017 03:45:09 +0000 (20:45 -0700)]
remove vr/libeds

* libeds is no longer needed

Bug: 38075841
Test: compiled
Change-Id: I61b7edb284633ab8e960387c0479b1a924d68222

7 years agoMerge "Correctly set minimum priority on nodes." into oc-dev
Martijn Coenen [Sat, 6 May 2017 04:46:45 +0000 (04:46 +0000)]
Merge "Correctly set minimum priority on nodes." into oc-dev

7 years agoMerge "Clear cached files on external storage." into oc-dev
Jeff Sharkey [Sat, 6 May 2017 01:58:07 +0000 (01:58 +0000)]
Merge "Clear cached files on external storage." into oc-dev

7 years agoClear cached files on external storage.
Jeff Sharkey [Wed, 3 May 2017 17:36:42 +0000 (11:36 -0600)]
Clear cached files on external storage.

When clearing cached files belonging to an app, include any cached
files on external storage.  Since we need to keep sdcardfs in the
loop about any file deletions, we always mutate by going through the
sdcardfs layer instead of behind its back.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 37486230375669833791344237914374
Change-Id: If174bf7eaf682da83cf0ab1b4938fe9a5956d464

7 years agoMerge changes from topic 'o-compositor-unification' into oc-dev
TreeHugger Robot [Fri, 5 May 2017 20:37:26 +0000 (20:37 +0000)]
Merge changes from topic 'o-compositor-unification' into oc-dev

* changes:
  Remove the VR compositor from the framework.
  Remove unnecessary clients and rename files.
  Support multiple consumer queues.
  Return pdx::Status<T> from BufferHubQueue::Dequeue.
  Add support for consumer queue initial import and hangup.

7 years agoMerge "Revert "Deprecate producer/consumer usage: Step 3"" into oc-dev
TreeHugger Robot [Fri, 5 May 2017 20:32:30 +0000 (20:32 +0000)]
Merge "Revert "Deprecate producer/consumer usage: Step 3"" into oc-dev

7 years agoMerge "Switch touch input device on hover events." into oc-dev
TreeHugger Robot [Fri, 5 May 2017 20:02:52 +0000 (20:02 +0000)]
Merge "Switch touch input device on hover events." into oc-dev

7 years agoCorrectly set minimum priority on nodes.
Martijn Coenen [Fri, 5 May 2017 18:16:59 +0000 (11:16 -0700)]
Correctly set minimum priority on nodes.

It looks like libbinder has always set the minimum priority
for a node to 0x7f (127). This is an invalid value as far
as the kernel is concerned, since the current driver only
accepts positive nice values (0..19). The effect of using
0xf7 is that the nice value was clamped to MAX_NICE (19) -
so effectively the kernel never raised the priority
based on the min_priority setting of a node. Correct this
by just using MAX_NICE directly.

Additionally, a recent change removed the use of the
gDisableBackgroundScheduling flag, which system_server
used to make sure that incoming transactions were not
executed at a lower priority. That behavior is actually
still desired, so this change sets the min_priorirty
value to 0 for processes that have requested background
scheduling to be disabled. The effect of that is that
all transactions into those nodes will be executed with
a priority of at least nice 0 (and potentially higher,
depending on the priority of the caller).

Bug: 37677242
Test: verified /d/binder output
Change-Id: I7cbfd309d04cbd052f868fbfe0930529ff21a48a

7 years agoRevert "Deprecate producer/consumer usage: Step 3"
Corey Tabaka [Fri, 5 May 2017 18:14:54 +0000 (18:14 +0000)]
Revert "Deprecate producer/consumer usage: Step 3"

These changes are effectively handled as part of another, higher priority CL.

This reverts commit 7cab28591d5cdc26913a0882df1b28e3f5393066.

Change-Id: I4cf47eee219870b2758997fe5bd6019d83b82451

7 years agoMerge "Deprecate producer/consumer usage: Step 3" into oc-dev
Jiwen Cai [Fri, 5 May 2017 16:58:47 +0000 (16:58 +0000)]
Merge "Deprecate producer/consumer usage: Step 3" into oc-dev

7 years agoMerge "Revert "Remove vr_wm service"" into oc-dev
Daniel Nicoara [Fri, 5 May 2017 15:20:25 +0000 (15:20 +0000)]
Merge "Revert "Remove vr_wm service"" into oc-dev

7 years agoRevert "Remove vr_wm service"
Daniel Nicoara [Fri, 5 May 2017 15:08:12 +0000 (15:08 +0000)]
Revert "Remove vr_wm service"

This reverts commit efd3e0873e24f25e855bb64fae8485fc04690d56.

Reason for revert: IVrWindowManager.aidl is still used in frameworks/base

Change-Id: Id52fb8cf482ea5ab141ebf6b304c12b18a9d8070

7 years agoMerge "Remove vr_wm service" into oc-dev
Daniel Nicoara [Fri, 5 May 2017 14:56:17 +0000 (14:56 +0000)]
Merge "Remove vr_wm service" into oc-dev

7 years agoRemove the VR compositor from the framework.
Corey Tabaka [Thu, 20 Apr 2017 23:04:07 +0000 (16:04 -0700)]
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

7 years agoMerge "surfaceflinger: make EventThread FIFO" into oc-dev
TreeHugger Robot [Fri, 5 May 2017 00:43:40 +0000 (00:43 +0000)]
Merge "surfaceflinger: make EventThread FIFO" into oc-dev

7 years agoMerge "Revert "Set the atrace clock to boot when possible and mono otherwise."" into...
TreeHugger Robot [Fri, 5 May 2017 00:38:32 +0000 (00:38 +0000)]
Merge "Revert "Set the atrace clock to boot when possible and mono otherwise."" into oc-dev

7 years agoRemove unnecessary clients and rename files.
Corey Tabaka [Thu, 20 Apr 2017 21:42:08 +0000 (14:42 -0700)]
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

7 years agoSupport multiple consumer queues.
Corey Tabaka [Thu, 4 May 2017 17:56:05 +0000 (10:56 -0700)]
Support multiple consumer queues.

- Add support for importing posted buffers when spawing a new
  consumer queue.
- Correctly handle adding signaled buffers to epoll with edge
  triggered mode set.
- Add test for multi-consumer behavior.

Bug: 36401174
Test: buffer_hub_queue-test passes.
Change-Id: Id09f01502a1b18bf80a0ae465c2941b548cde2e4

7 years agoMerge "Re-enable the zipping of bluetooth logs" into oc-dev
Ajay Panicker [Thu, 4 May 2017 22:56:16 +0000 (22:56 +0000)]
Merge "Re-enable the zipping of bluetooth logs" into oc-dev

7 years agoReturn pdx::Status<T> from BufferHubQueue::Dequeue.
Corey Tabaka [Tue, 25 Apr 2017 23:47:44 +0000 (16:47 -0700)]
Return pdx::Status<T> from BufferHubQueue::Dequeue.

Switch to using Status<T> to return buffers or meaningful errors
from BufferHubQueue::Dequeue. This enables determining whether an
error is normal (e.g. timeout) or abnormal (e.g. disconnect).

Bug: 36401174
Test: buffer_hub_queue-test passes.
Change-Id: Ifef5f737a5e737b70d19bdbffd7544a993438e1c

7 years agoAdd support for consumer queue initial import and hangup.
Corey Tabaka [Thu, 20 Apr 2017 20:42:02 +0000 (13:42 -0700)]
Add support for consumer queue initial import and hangup.

- Add support for consumer queues to import buffers that are created
  before the consumer queue is created, making multi-consumer queue
  patterns possible. This is essential for VrFlinger operation.
- Add support for notifying consumer queues when the producer queue
  hangs up.
- Correct the epoll event loop to check for hangups even when buffers
  are available.
- Add method to retrieve the event fd from a queue.
- Add trace logging and minor cleanup.
- Improve bufferhubd dump state output.

Bug: 36401174
Test: build; bufferhub tests pass.
Change-Id: Idd6f38a3341c048192062734e288d11de48bc4d4

7 years agoMerge "Deprecate producer/consumer usage: Step 2" into oc-dev
TreeHugger Robot [Thu, 4 May 2017 22:16:53 +0000 (22:16 +0000)]
Merge "Deprecate producer/consumer usage: Step 2" into oc-dev

7 years agoRevert "Set the atrace clock to boot when possible and mono otherwise."
Carmen Jackson [Thu, 4 May 2017 22:01:33 +0000 (15:01 -0700)]
Revert "Set the atrace clock to boot when possible and mono otherwise."

This change broke CTS tests.

This reverts commit 56a2ba0b0009b6a8db7c385489e5fef4c0d32d0a.

Bug: 37906221
Test: cts-tradefed run singleCommand cts-dev --module
CtsAtraceHostTestCases passes locally.
Change-Id: Ia82732eac33fbde8bddc1e8de7a68c20befe760e

7 years agosurfaceflinger: make EventThread FIFO
Tim Murray [Thu, 4 May 2017 20:38:49 +0000 (13:38 -0700)]
surfaceflinger: make EventThread FIFO

Jitter in EventThread scheduling was contributing to SystemUI jank.

Test: thread is FIFO
bug 36631902

Change-Id: I930c729b27403ef8941e9a1e0ef8ec57a3d323a0

7 years agoSwitch touch input device on hover events.
Kevin Schoedel [Wed, 3 May 2017 17:58:56 +0000 (13:58 -0400)]
Switch touch input device on hover events.

On a phone in a Mirage headset, two touch nubs are in continuous
contact with the screen while in VR. In order to pass virtual
touchpad events to embedded 2D content that is confined to the
physical display (e.g. permission dialogues), allow a hover event
(as generated for the user's controller pointer) to initiate a
new event.

Bug: 36686408
Test: manual on device
Change-Id: I868472721599843b183b2615aac8e6cd87a58e8e

7 years agoMerge "Correct sensor handle for operation parameter" into oc-dev
TreeHugger Robot [Thu, 4 May 2017 01:44:30 +0000 (01:44 +0000)]
Merge "Correct sensor handle for operation parameter" into oc-dev

7 years agoMerge "Fix lshal --init-vintf may have empty <instance> tags." into oc-dev
TreeHugger Robot [Wed, 3 May 2017 22:45:11 +0000 (22:45 +0000)]
Merge "Fix lshal --init-vintf may have empty <instance> tags." into oc-dev

7 years agoCorrect sensor handle for operation parameter
Peng Xu [Mon, 1 May 2017 22:09:49 +0000 (15:09 -0700)]
Correct sensor handle for operation parameter

Sensor handle 0 is a valid sensor handle. Use SENSORS_HANDLE_BASE - 1
instead in inject_sensor_data for operation parameter.

Test: sensor cts passes
Bug: 37956047
Change-Id: I138c2e21d74f532526a53a76be857866764a3d53

7 years agolibpdx_uds: Always create channel sockets in the server process
Alex Vakulenko [Tue, 2 May 2017 00:48:35 +0000 (17:48 -0700)]
libpdx_uds: Always create channel sockets in the server process

Whenever a client connects to PDX service endpoint, the connected
socket was being used as the channel connection. This makes it
difficult to ensure that the socket has the appropriate SELinux
label applied.

Changed the implementation to make sure that the actual channel socket
pair is created in one place in the server process.

The new Endpoint::CreateChannelSocketPair() is now being used to
create the channel sockets when an incoming connection is accepted
and when PushChannel request is received.

The newly created channel socket is sent to the client in response
to connection request.

Bug: 37646189
Test: Device boots. CubeSea launches.
Change-Id: Id3158484aeb18007f18b279afc60613076f80f14

7 years agoFix lshal --init-vintf may have empty <instance> tags.
Yifan Hong [Wed, 3 May 2017 20:13:23 +0000 (13:13 -0700)]
Fix lshal --init-vintf may have empty <instance> tags.

Test: on bullhead, lshal --init-vintf | grep "<instance></instance>"

Change-Id: Ic6ab977adcdc5293015e9daba506b625629e5352
Fixes: 37311367