OSDN Git Service
Byron Gardner [Mon, 3 Nov 2014 23:54:28 +0000 (15:54 -0800)]
Enable 64-bit support in libs/gui/Sensor.cpp
Change-Id: Iaaa112bd821a6a0e3234461df8f7b6acc47b254e
Orig-Change-Id: I04c22e6f2c6f4271ca451b775c8d7f86e4c97c38
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-9998
Category: aosp improvement
Domain: SENSORS.VIRT-Common
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Byron Gardner <byron.gardner@intel.com>
Reviewed-on: https://android.intel.com:443/296325
Wang, Yue A [Tue, 21 Jan 2014 09:42:13 +0000 (17:42 +0800)]
SurfaceFlinger: disable VSync thread if no clients requiring.
In EventThread, 2 VSYNCs are needed to do composition and update
the client status. So, a 30FPS video may leads to 60FPS VSYNC,
which means the DispSync thread would be waked 60FPS. This is a
unexpected behavior which takes more power consumption. Now we
update the SF status soon after the first VSYNC, which means no
extra VSYNC needed, and the DispSync could be awaked as expected,
and consequently power get saved.
Change-Id: If486eb9b87f109a71f71b510768f15dd733f1233
Orig-Change-Id: I1d3b166021e15a81b2ad770b039761fc2c15fddf
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-12211
Category: aosp improvement
Domain: Graphics-SF
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Wang, Yue A <yue.a.wang@intel.com>
Reviewed-on: https://android.intel.com:443/238344
juntingwang [Fri, 1 Mar 2013 08:02:56 +0000 (16:02 +0800)]
Set PS2 Keyboard controller as not a ketboard type
The Eventhub detects the platforms built-in PS/2 keyboard controller
as a physical keyboard. So the system will not display the software
keyboard by default. Modify it device type in Keyboard-less tablets,
so that ActivityManager will not ignore the PS/2 controller.
Issue: AXIA-1875
Change-Id: Ia5b7592e82aaf1970066bab5e9ca5f46ac83ab1c
Signed-off-by: juntingwang <Junting.Wang@windriver.com>
Andy Ross [Tue, 19 Feb 2013 22:39:34 +0000 (14:39 -0800)]
binder: Fix service initialization race vs. service manager
The framework relies on the global IServiceManager running before a
BinderService object is instantiated. But there was no detection of
the error condition when it was not (specifically: mediaserver can be
initialized before system_server), and in fact the default error
behavior (kill the proxy object) ensured that the process would never
be able to add services again. Retry the addService() code, and allow
transient binder failures for the special case of the service manager
proxy.
Issue: AXIA-1706
Change-Id: Icac10bb0f47a2fe33ac9605a13633b83afa3ebff
Signed-off-by: Andy Ross <andy.ross@windriver.com>
Daniel Leung [Thu, 13 Sep 2012 20:43:41 +0000 (13:43 -0700)]
Prevent EventHub from adding input device twice
When Android first starts up, it scans /dev/input for input devices.
In some rare instances, the EventHub gets another notification that
some device nodes are created. It then proceeds to add the same
input device again. This causes the system to get two events per
touch or key stroke.
This adds a check to prevent adding the same device if the operation
is triggerd by inotify.
Issue: AXIA-858
Change-Id: I68b02594f1c7f14067611735db0b3763378ec7ea
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
android-build-team Robot [Wed, 25 Oct 2017 05:31:29 +0000 (05:31 +0000)]
Merge cherrypicks of [
3122088,
3121430,
3119129,
3119130,
3119131,
3120667] into oc-mr1-release
Change-Id: If407b5d78299ba0be9410de4546042986fd65758
Romain Guy [Tue, 24 Oct 2017 20:40:32 +0000 (21:40 +0100)]
Add new color setting
On devices that support wide color rendering and color management,
add a new setting to disable color management ("saturated" color
mode). To disable color management, the framework can set a persistent
property. Color management can be also toggled by using a Binder
transaction. Finally this change adds a new Binder query so Settings
can easily check whether the device supports wide color rendering.
Bug:
68159303
Test: manual (adb shell + apps)
Change-Id: If74d9b0273bc04f4a3d11e63fe2ec96451fbcc2e
(cherry picked from commit
54f154a28284eabb52ade2689d4a9f8fa190163b)
android-build-team Robot [Thu, 12 Oct 2017 07:25:50 +0000 (07:25 +0000)]
Snap for
4391495 from
331d79d26b237a6ebf4284dd99c79b0fe5ab55df to oc-mr1-release
Change-Id: Ia1a538a97249d77b25b1f1568df514547c0bcd5f
Corey Tabaka [Thu, 12 Oct 2017 02:00:50 +0000 (19:00 -0700)]
Add missing transitive dependency to pdx_tool.
Bug:
65455724
Test: make -j30
Change-Id: I03a22e10d92ea53bb2e1631e4203a186e42fa265
Corey Tabaka [Wed, 11 Oct 2017 17:52:54 +0000 (10:52 -0700)]
Revert "Revert PDX tracing."
This reverts commit
05cd77c494aa7042fca7978e1b934855598b765e.
Bug:
65455724
Test: make -j30
Change-Id: Id531101cc35b661f02291eed0c044e96f5a91a12
Corey Tabaka [Wed, 11 Oct 2017 17:49:57 +0000 (10:49 -0700)]
Add missing transitive dependency to atrace.
This is the proper fix for the revert in ag/
3048738.
Bug:
65455724
Test: lunch full-eng && make -j30
Change-Id: I88d37fca2d1f71a46595dd74b5fd6749fa4b477d
Michael Wright [Wed, 11 Oct 2017 14:44:26 +0000 (15:44 +0100)]
Revert PDX tracing.
This broke full-eng / docs / m_e_arm-eng builds.
Test: lunch full-eng && m-j8
Change-Id: I79b0176738e4de35cca25e9618e64aa2bd4c4316
android-build-team Robot [Wed, 11 Oct 2017 07:21:48 +0000 (07:21 +0000)]
Snap for
4388906 from
52ea25cf06cef250ec73052611b48556b3fce4d5 to oc-mr1-release
Change-Id: I8be8e1ad05e7445a5c03a3f6009b5e1e30171a59
Corey Tabaka [Thu, 14 Sep 2017 01:02:48 +0000 (18:02 -0700)]
Add shared memory based buffer metadata
This CLs reduces BufferHub CPU consumption by adding asynchronous
state transition so that out-of-process VR composition can run on 2016
pixel devices smoothly. In addition, this CL addresses a couple corner
cases in the existing bufferhub logic, which fixes various blackscreen
issues.
1/ Tracks buffer transition states (gained, posted, acquired, released)
from the client side via atomic shared memory and adds
PostAsync/AcquireAsync/ReleaseAsync/GainAsync with metadata and
fence support.
2/ Adds dequeue order guarantee for buffers enqueued with
dvrWriteBufferQueuePostBuffer.
3/ Synchronous BuffeHub operations are still supported.
4/ Bump up the bufferhubd's soft limit of open file descriptor.
5/ Handle orphaned consumer in acquired state. This is a corner case
that consumer process goes aways (most likely due to a crash) leaving
buffer stuck in acquired state with inconsistent buffer state.
6/ Fixes a race condition for released buffer to be Gain'ed and
Acquire'd when a new consumer is created in released state.
7/ Improve silent consumer queue efficiency: Silent queues no longer
import buffers or receive signals about new buffers and they are
limited to only spawning other consumers and notifications about
producers hanging up.
8/ Modify PDX/UDS channel event signaling to work around epoll
behavior. PDX UDS uses a combination of an eventfd and an epoll set
to simulate the original PDX transport channel events. An odd
behavior discovered in the kernel implementation of epoll was found
that causes the epoll fd to "unsignal" itself whenever epoll_wait()
is called on it, regardless of whether it should still be
pending. This breaks the edge triggerd behavior in nested epoll sets
that channel events depend on. Since this is unlikely to ever be
fixed in the kernel we work around the behavior by using the epoll
set only as a logical OR of two eventfds and never calling
epoll_wait() on it. When polling is required we use regluar poll()
with the eventfds and data fd to avoid the bad behavior in
epoll_wait().
9/ Keep reading data after PDX hangup signal. UDS will signal hangup
when the other end of the socket closes. However, data could still be
in the kerenl buffer and should be consumed. Fix an issue where the
service misses an impulse sent right before the socket is closed.
Bug:
65455724
Bug:
65458354
Bug:
65458312
Bug:
64027135
Bug:
67424527
Test: libpdx_uds_tests
bufferhub_tests
buffer_hub_queue-test
buffer_hub_queue_producer-test
dvr_api-test
Change-Id: Id07db1f206ccf4e06f7ee3c671193334408971ca
android-build-team Robot [Thu, 5 Oct 2017 07:30:32 +0000 (07:30 +0000)]
Snap for
4378450 from
35b5114be8da71c69fc8a1ff8fb457c912c0992f to oc-mr1-release
Change-Id: I93cf952e3df19205d63b3d3bd4fccc22cd262432
Randy Xu [Wed, 5 Jul 2017 06:18:38 +0000 (14:18 +0800)]
Solve the composer service NULL pointer crash
The callback functions are set nullptr in ComposerClient::~ComposerClient()
./composer/2.1/default/ComposerClient.cpp:160: mHal.enableCallback(false)
However, the callbacks are still used in hwc2on1adaptor, it will cause segment fault.
Bug:
64650599
Test: adb shell stop
Change-Id: I92e6a6b42418e987a7ead041f2d95c194b6a16e8
Signed-off-by: Randy Xu <randy.xu@intel.com>
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
Signed-off-by: Gaurav Sarode <sgaurav@google.com>
android-build-team Robot [Tue, 3 Oct 2017 07:28:35 +0000 (07:28 +0000)]
Snap for
4373604 from
8c6462c8c48022a4a77ab8ed218551880d2bbab9 to oc-mr1-release
Change-Id: Iabc1c91c428511b1f337ef6e548dc69df13ebb02
Courtney Goeltzenleuchter [Mon, 2 Oct 2017 21:31:43 +0000 (21:31 +0000)]
Merge "Limit Display-P3 surface formats to 8888" into oc-mr1-dev
android-build-team Robot [Mon, 2 Oct 2017 04:19:31 +0000 (04:19 +0000)]
release-request-
53526352-7b51-4ab1-a661-
632ffc55dd7c-for-git_oc-mr1-release-
4371241 snap-temp-L10900000107789672
Change-Id: I4a64d37aab8dde4ad6abc1bc37a2477683696a39
Steven Thomas [Sat, 30 Sep 2017 00:51:21 +0000 (00:51 +0000)]
Merge "Fix deadlock when transitioning to vr flinger" into oc-mr1-dev
TreeHugger Robot [Fri, 29 Sep 2017 18:05:21 +0000 (18:05 +0000)]
Merge "Use the HWC caching mechanism to avoid stalls in the ion driver." into oc-mr1-dev
Steven Thomas [Thu, 28 Sep 2017 22:30:23 +0000 (15:30 -0700)]
Fix deadlock when transitioning to vr flinger
If we were unlucky with the timing when switching to vr flinger we would
sometimes deadlock. The vr dispatch thread would request the display
from surface flinger, locking mStateLock in the process. mStateLock was
being held by the surface flinger main thread, which was processing a
previous request to switch to vr flinger. The main thread was trying to
connect to the vr hardware composer service, which sent a request to the
vr dispatch thread as part of its initialization, leading to the
deadlock.
The deadlock is easily fixed by posting a message to request the vr
flinger switch to the surface flinger main thread, instead of doing it
on the vr dispatch thread.
Bug:
66916578
Test: Confirmed I can still get into/out of vr flinger on
Marlin. There's no longer code to acquire mStateLock in the vr dispatch
thread, so the deadlock is no longer possible.
Change-Id: I3de5476f698ed798f6b9afe927cc733f0f38c56e
Corey Tabaka [Thu, 28 Sep 2017 18:15:50 +0000 (11:15 -0700)]
Use the HWC caching mechanism to avoid stalls in the ion driver.
HWC supports caching buffers for layers using "slot" assignments.
Use this in VrFlinger to avoid importing a buffer handle every
frame. The avoids periodic stalls we observe in the ion driver
when mapping a buffer into the HWC address space.
Bug:
66459419
Test: Observe systraces no longer have MapBuffer in HWC in steady
state; system does not drop frames.
Change-Id: Iba4161b33561322bfbccbfafe600b432a6fa7c44
Courtney Goeltzenleuchter [Thu, 28 Sep 2017 17:34:18 +0000 (11:34 -0600)]
Limit Display-P3 surface formats to 8888
Discovered that FP16 and
1010102 may not be supported
for Swapchain. Since we don't have a query mechanism
defined, limit P3 to 8888 which must be supported.
Bug:
66706404
Test: adb -d shell am start -n com.drawelements.deqp/android.app.NativeActivity \
-e cmdLine '"deqp --deqp-case=dEQP-VK.wsi.android.colorspace \
--deqp-log-filename=/sdcard/dEQP-Log.qpa"'
Change-Id: If537c631cd40610f6a62c437f8a7aff70f742fff
android-build-team Robot [Thu, 28 Sep 2017 07:28:11 +0000 (07:28 +0000)]
release-request-
ca7a0f27-e01e-4493-95dc-
73b265f88cc9-for-git_oc-mr1-release-
4365318 snap-temp-L33600000106883904
Change-Id: I085cc802f1140f72f3eb80d4cbd0d46722ec24e1
Ng Zhi An [Tue, 26 Sep 2017 18:29:19 +0000 (11:29 -0700)]
Support picture_in_picture only if device is not low ram
Can verify using this command:
adb shell dumpsys package | grep picture_in_picture
Bug:
65602088
Test: manual
Change-Id: I0e91cb63ce9d4b3ae059afc91d76a36ffc6a0a53
android-build-team Robot [Thu, 21 Sep 2017 07:26:59 +0000 (07:26 +0000)]
release-request-
bbc747ae-190b-4d38-8704-
432aa6396c16-for-git_oc-mr1-release-
4351869 snap-temp-L93800000104806132
Change-Id: I1530ca75a479667c9ab39178deaa0e6a15df84ed
TreeHugger Robot [Thu, 21 Sep 2017 02:25:28 +0000 (02:25 +0000)]
Merge "libhwc2on1adapter: avoid marking changes if visible regions unchanged" into oc-mr1-dev
TreeHugger Robot [Wed, 20 Sep 2017 23:55:09 +0000 (23:55 +0000)]
Merge "Deal with unreliable VSYNC signals due to scheduler." into oc-mr1-dev
Adrian Salido [Tue, 19 Sep 2017 01:48:47 +0000 (18:48 -0700)]
libhwc2on1adapter: avoid marking changes if visible regions unchanged
The function setVisibleRegions is always called as part of composition,
shouldn't mark geometry changed if there are no changes in the visible
regions.
Bug:
65019874
Test: run cts -m CtsViewTestCases -t android.view.cts.DisplayRefreshRateTest#testRefreshRate
Change-Id: I3f93431002fc4b691c799f4ae91aa1488849e4a6
Ray Essick [Wed, 20 Sep 2017 16:08:49 +0000 (16:08 +0000)]
Merge "packagemanager_native access to package installer, version" into oc-mr1-dev
Michael Wright [Tue, 19 Sep 2017 19:19:39 +0000 (20:19 +0100)]
Add TYPE_INPUT_CONSUMER to the trusted overlay list.
Without this, PIP will break a bunch of apps since its frame fills the
whole screen, even though the application is restricted to its
stackbounds (which are the size of the touch region, not the frame
region).
Bug:
65606046
Test: None
Change-Id: Id7035dace30db37c5a58c66339d0749550a362e5
Ray Essick [Tue, 19 Sep 2017 15:49:23 +0000 (08:49 -0700)]
packagemanager_native access to package installer, version
add getInstallerForPackage() and getVersionCodeForPackage()
to support native media.metrics needs.
Bug:
65027506
Test: watch logs for various package combinations
Change-Id: I6f3c551e8f547ab4151ef2400db4e100a6f53abf
Corey Tabaka [Sat, 16 Sep 2017 07:58:54 +0000 (00:58 -0700)]
Deal with unreliable VSYNC signals due to scheduler.
We see two sources of scheduler jank when waiting for VSYNC:
- A kernfs issue that wakes up threads using a normal priority
work queue that may be delayed or have other work on it.
- The VSYNC callback from HWC is handled by a normal priority
HwBinder thread that may be delayed by other work.
Change the VrFlinger frame post thread to use an absolute timer-
based dead reckoning loop. VSYNC timestamps from the display
driver are reliable, even if the delivery of the value takes time.
Predict the VSYNC time into the future based on the last known
VSYNC time. If we see that VSYNC has not been signaled by the time
we need to post a frame to HWC we assume that the driver and/or
HWC was delayed so much that the previous frame is still pending
and skip the upcoming frame to avoid double stuffing the driver.
Bug:
65064949
Test: Extensive system tests and systraces. See bug for details.
Change-Id: Iae6c4173b8eac1d179adc3fc8004d3d475b3f156
android-build-team Robot [Sun, 17 Sep 2017 07:33:59 +0000 (07:33 +0000)]
release-request-
1f2fcfef-9736-44dc-8628-
3ba96dac60db-for-git_oc-mr1-release-
4343541 snap-temp-L73700000103533431
Change-Id: If3104e7d71eaa75c0b93177ea76076626a7b09bf
TreeHugger Robot [Thu, 14 Sep 2017 22:49:53 +0000 (22:49 +0000)]
Merge "Revert "Add runpath to lshal_test"" into oc-mr1-dev
Steven Moreland [Thu, 14 Sep 2017 17:12:08 +0000 (17:12 +0000)]
Revert "Add runpath to lshal_test"
This reverts commit
864c07077b0283ecf9bd36a0381951a19ec8c3df.
No special behavior for tests.
Reason for revert: b/
65603915
Bug:
64776708
Change-Id: Ib64d4f6ef5ea59afa1d3c408c792685a3d025c0a
android-build-team Robot [Thu, 14 Sep 2017 07:26:48 +0000 (07:26 +0000)]
release-request-
f0fc1aa1-730c-4deb-b1ff-
e8ebeeccc4b5-for-git_oc-mr1-release-
4335659 snap-temp-L85900000102427279
Change-Id: I275b9aaa79e004779ec52a2fa597bd50b520ce7f
Yifan Hong [Wed, 13 Sep 2017 22:13:26 +0000 (22:13 +0000)]
Merge "Add runpath to lshal_test" into oc-mr1-dev
TreeHugger Robot [Wed, 13 Sep 2017 19:54:46 +0000 (19:54 +0000)]
Merge "Reduce the number of Send requests over UDS per IPC invocation" into oc-mr1-dev
Calin Juravle [Wed, 13 Sep 2017 18:09:57 +0000 (18:09 +0000)]
Merge "Adjust the validation code for secondary dex paths" into oc-mr1-dev
Alex Vakulenko [Wed, 6 Sep 2017 22:35:04 +0000 (15:35 -0700)]
Reduce the number of Send requests over UDS per IPC invocation
We sent up to 3 separate send requests over a socket. Now combine
then into one sendmgs() to improve performance and thread scheduling.
This improves PDX/UDS performance by up to 2x in some cases.
Bug:
65379030
Test: Sailfish works normally. Was able to run VR apps.
Change-Id: I00734d2c3f06d7d42b089569a8cc11c2273a1b7f
Calin Juravle [Mon, 11 Sep 2017 18:50:36 +0000 (11:50 -0700)]
Adjust the validation code for secondary dex paths
Do not validate the package path when reconciling secondary dex files. If
the file does not exist we cannot resolve the system sym links (e.g.
/data/user/0 -> /data/data) and the validation will fail leaving oat files
behind.
Bug:
64460009
Test: adb shell cmd package reconcile-secondary-dex-files
com.google.android.googlequicksearchbox (after removing some files)
adb shell cmd package compile -m speed --secondary-dex
com.google.android.googlequicksearchbox
adb shell /data/nativetest64/installd_utils_test/installd_utils_test
Change-Id: I9734ad18a579d44088180326661d8cf8288e90be
Jiyong Park [Wed, 13 Sep 2017 08:37:40 +0000 (17:37 +0900)]
Add runpath to lshal_test
android.hardware.test.baz@1.0.so is installed to /data/nativetest(64),
and no longer to /system/lib(64) or /system/lib(64)/vndk, because the
interface library is only for testing.
Set runpath so that lshal_test can find the interface library in the
non-standard directory.
Bug:
65603915
Test: m -j lshal_test
adb push out/target/product/<name>/data/nativetest* /data
adb shell /data/nativetest/lshal_test/lshal_test
Change-Id: I854b08acb6442990ed369bfbc517ad1a93c94584
android-build-team Robot [Wed, 13 Sep 2017 07:32:29 +0000 (07:32 +0000)]
release-request-
b613f8ce-05b5-465e-b783-
c1b87f3c1e95-for-git_oc-mr1-release-
4332123 snap-temp-L59300000101925107
Change-Id: I503fd7810cf68282db9ce3c87e2d202e839f7d8a
TreeHugger Robot [Wed, 13 Sep 2017 04:27:24 +0000 (04:27 +0000)]
Merge "Overhual DvrBuffer and DvrBufferQueue API: Step 1" into oc-mr1-dev
TreeHugger Robot [Tue, 12 Sep 2017 23:44:31 +0000 (23:44 +0000)]
Merge "Keep standalone devices in VrFlinger mode." into oc-mr1-dev
Jiwen 'Steve' Cai [Fri, 8 Sep 2017 18:10:29 +0000 (11:10 -0700)]
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
Corey Tabaka [Tue, 22 Aug 2017 18:59:15 +0000 (11:59 -0700)]
Keep standalone devices in VrFlinger mode.
Avoid unnecessary tear-down and bring up of HWC client in standalone
devices. This saves time during screen-on because standalone devices
only use VrFlinger mode.
Remove dead code that used to check the panel driver for missed frames.
No drivers expose the sysfs node that provided this function anymore.
Test: Manual testing. Observe stable DON/DOFF behavior.
Bug:
65248224
Change-Id: Id9ebb76982621848d97792496a09b6da8c4e5928
android-build-team Robot [Sun, 10 Sep 2017 07:24:55 +0000 (07:24 +0000)]
release-request-
946c768b-83eb-4b7b-83e7-
5737856fa8ec-for-git_oc-mr1-release-
4326576 snap-temp-L80300000101054689
Change-Id: Ie7617b87e5f12b8c863111fb2f1dae42485fedd5
TreeHugger Robot [Fri, 8 Sep 2017 23:49:30 +0000 (23:49 +0000)]
Merge "Fix stack use-after-scope in InputReader" into oc-mr1-dev
Chia-I Wu [Fri, 8 Sep 2017 22:31:32 +0000 (22:31 +0000)]
Merge "surfaceflinger: handle executeCommands transaction errors" into oc-mr1-dev
Chia-I Wu [Fri, 8 Sep 2017 17:14:34 +0000 (10:14 -0700)]
surfaceflinger: handle executeCommands transaction errors
Unlike other functions, executeCommands both sends and receives
handles. It can fail for reasons such as out-of-fd. We want to
protect SurfaceFlinger against out-of-fd.
Bug:
65449888
Test: manual
Change-Id: Id9420dbd6d0a943737c90bd3a1ae0df3805a4cb0
Pat Plunkett [Wed, 12 Jul 2017 21:09:27 +0000 (14:09 -0700)]
Set the layer composition type in HWC
Setting up the VR hardware composer was causing a call to
setLayerCompositionType with an invalid composition type. This removes the
call, since setting the layer composition type is already handled in
Layer::Prepare().
Bug:
63633934
Test: Start VR mode, check that the logcat errors are no longer present.
Change-Id: I94f9a253bce9c5c25be7927d0003adbb9409ab36
android-build-team Robot [Fri, 8 Sep 2017 07:31:24 +0000 (07:31 +0000)]
release-request-
8cd2a23c-f767-488e-8139-
390d1636483f-for-git_oc-mr1-release-
4323561 snap-temp-L80400000100600189
Change-Id: Id34318737aa841ce1e02338403ff4e48b5295ef1
TreeHugger Robot [Fri, 8 Sep 2017 06:13:48 +0000 (06:13 +0000)]
Merge "Set enum to fixed size type" into oc-mr1-dev
Marie White [Thu, 7 Sep 2017 23:12:13 +0000 (16:12 -0700)]
Set enum to fixed size type
Bug:
63683612
Test: Manual. Ran O2 on Marlin, tested image streaming manually.
Since DvrPoseRawDataType enum will be part of the public DVR API,
explicitly define the size of the enum.
Change-Id: I3900470ccb3ca7a2c4e7ed8e7f5586c60486d9e6
Corey Tabaka [Fri, 8 Sep 2017 00:54:10 +0000 (00:54 +0000)]
Merge "Clean up handling of VR surface updates." into oc-mr1-dev
android-build-team Robot [Thu, 7 Sep 2017 07:44:58 +0000 (07:44 +0000)]
release-request-
108343c4-ad88-44f9-aaa2-
24d8b8a5c176-for-git_oc-mr1-release-
4321077 snap-temp-L97000000100182150
Change-Id: Ica45f71e2eff05349f80ef3b53abb57b3d3b3d39
Sujith Ramakrishnan [Thu, 7 Sep 2017 02:09:03 +0000 (02:09 +0000)]
Merge "Add a new keycode for TV (ALL_APPS)" into oc-dev am:
6afce442ea
am:
047fcbf671
Change-Id: I17bac0d425207b1edc0ffbe997953502aae324e0
Sujith Ramakrishnan [Thu, 7 Sep 2017 02:00:12 +0000 (02:00 +0000)]
Merge "Add a new keycode for TV (ALL_APPS)" into oc-dev
am:
6afce442ea
Change-Id: I7933009ee4c64025245373ee6b5ad1b0d77291e9
Sujith Ramakrishnan [Thu, 7 Sep 2017 00:09:22 +0000 (00:09 +0000)]
Merge "Add a new keycode for TV (ALL_APPS)" into oc-dev
Steven Thomas [Fri, 1 Sep 2017 01:24:21 +0000 (18:24 -0700)]
Fix race conditions when using mHwc off the main thread
In a few cases we were accessing mHwc off the main thread without
acquiring mStateLock, resulting in crashes and other incorrect
behavior. This CL adds the missing locks. Since the locking semantics
are somewhat hard to understand, also add a clarifying comment to the
mHwc member declaration in SurfaceFlinger.h.
Bug:
64586546
Test: I manually tested normal surface flinger operation and vr behavior
on different devices, and confirmed everything looks fine. The crashes
we saw that were caused by these mHwc race conditions are hard to
reproduce, so I couldn't empirically verify this fixes the crash. I'm
relying on manual code inspection to confirm the issue is in fact fixed.
Regarding performance, I added profiling code (not part of this CL) to
check for lock contention and hold times with the newly added locks. I
confirmed that contention is low, so these calls shouldn't be
significantly slower as a result of adding the locks. The time spent
holding these new locks is also low, except for getDisplayColorModes(),
which makes a call to hardware composer service and can in some cases
take over a millisecond. That function is called so rarely though, only
once at boot, or twice at boot after a fresh flash, that it's not worth
optimizing.
Change-Id: I3854779c12a61983aaaecddb9f6316f218e519e3
android-build-team Robot [Wed, 6 Sep 2017 07:29:43 +0000 (07:29 +0000)]
release-request-
ee600ee1-fadc-4a92-9feb-
e22548c84a75-for-git_oc-mr1-release-
4318546 snap-temp-L23800000099760172
Change-Id: I07708fb9e54613fd4b1b2e0db243bb8f1785a89e
TreeHugger Robot [Wed, 6 Sep 2017 00:23:07 +0000 (00:23 +0000)]
Merge "Remove unbundled IME feature from automotive confg" into oc-mr1-dev
Michael Spang [Wed, 6 Sep 2017 00:17:16 +0000 (20:17 -0400)]
Fix stack use-after-scope in InputReader
READ of size 4 at 0x0079b1ac3a20 thread T121 (InputReader)
Viewport [1] to add: virtual:android:
277f1a09-b88d-4d1e-8716-
796f114d080b
#0 0x79b8820d53 in android::InputReaderConfiguration::getDisplayViewport(android::ViewportType, android::String8 const*, android::DisplayViewport*) const frameworks/native/services/inputflinger/InputReader.cpp:246:39
#1 0x79b8843fab in android::TouchInputMapper::configureSurface(long, bool*) frameworks/native/services/inputflinger/InputReader.cpp:3472:22
#2 0x79b88411b3 in android::TouchInputMapper::configure(long, android::InputReaderConfiguration const*, unsigned int) frameworks/native/services/inputflinger/InputReader.cpp:3248:9
#3 0x79b8825ff3 in android::InputDevice::configure(long, android::InputReaderConfiguration const*, unsigned int) frameworks/native/services/inputflinger/InputReader.cpp:1126:21
#4 0x79b8822653 in android::InputReader::refreshConfigurationLocked(unsigned int) frameworks/native/services/inputflinger/InputReader.cpp:612:25
#5 0x79b88239fb in android::InputReader::loopOnce() frameworks/native/services/inputflinger/InputReader.cpp:343:13
#6 0x79b882d507 in android::InputReaderThread::threadLoop() frameworks/native/services/inputflinger/InputReader.cpp:1004:14
#7 0x79d79e6113 in android::Thread::_threadLoop(void*) system/core/libutils/Threads.cpp:747:28
#8 0x79da914bbb in android::AndroidRuntime::javaThreadShell(void*) frameworks/base/core/jni/AndroidRuntime.cpp:1199:14
#9 0x79da20f31b in __pthread_start(void*) bionic/libc/bionic/pthread_create.cpp:214:18
#10 0x79da1c6dff in __start_thread bionic/libc/bionic/clone.cpp:47:16
Bug:
65378805
Test: asan build
Change-Id: I5a65cb007fe4879ce9635572014a568583a2ef4a
TreeHugger Robot [Tue, 5 Sep 2017 17:05:09 +0000 (17:05 +0000)]
Merge "Add api's to dvr_pose to retrieve data from sensord" into oc-mr1-dev
android-build-team Robot [Mon, 4 Sep 2017 07:24:29 +0000 (07:24 +0000)]
release-request-
6f5d3742-2f66-40bb-91cb-
67cd615dc827-for-git_oc-mr1-release-
4314955 snap-temp-L68900000099231033
Change-Id: I0d8d402432624222fdc412fbc27439e70a27850d
TreeHugger Robot [Sun, 3 Sep 2017 18:03:06 +0000 (18:03 +0000)]
Merge "Fixed dumpstate_test_fixture so it runs on 64 bits as well." into oc-mr1-dev
android-build-team Robot [Sun, 3 Sep 2017 07:27:58 +0000 (07:27 +0000)]
release-request-
957cd691-fb71-4770-8ff7-
a3b9602655a5-for-git_oc-mr1-release-
4314464 snap-temp-L54400000099147910
Change-Id: I470af98bcb1d93e16dba4f8def81af7bded41524
Shubham Ajmera [Sun, 3 Sep 2017 03:19:58 +0000 (03:19 +0000)]
Merge "Drop capabilities in reconcileSecondaryDexFiles" into oc-mr1-dev
Marie White [Wed, 9 Aug 2017 05:23:45 +0000 (22:23 -0700)]
Add api's to dvr_pose to retrieve data from sensord
Bug:
63683612
Test: Manually tested through VrCore cl/
164799996.
To retrieve raw data from Tango, added below api's to dvr_api:
- dvrPoseClientGetDataReader
- dvrPoseClientDataCapture
- dvrPoseClientDataReaderDestroy
Note: These changes have already been reviewed in branch
oc-dr1-daydream-dev branch. See change
2729572.
Changes tested on Pixel XL with and without 02 rendering path. Daydream
Home rendering in VR Mode correctly. Pixel functioning as normal.
Change-Id: Ia934d6a1a0b89edfd4408dde19d38e757d44f785
TreeHugger Robot [Sat, 2 Sep 2017 00:26:05 +0000 (00:26 +0000)]
Merge "Temporary fix for memory leak on DumpRunningServiceTimeout." into oc-mr1-dev
Corey Tabaka [Fri, 1 Sep 2017 03:01:15 +0000 (20:01 -0700)]
Clean up handling of VR surface updates.
- Fix bug where adding a new hardware layer causes existing single-
buffered surface layers to unlatch their buffer.
- Rename variables holding Composer pointers from hidl to composer
to improve readability.
- Remove the arbitrary hardware layer limit, moving responsibility
for efficient use of hardware layers to the VR display manager.
Bug:
64987282
Bug:
64756801
Test: Build system for multiple devices and manually test operation.
Change-Id: I8f05ca83830f62e15b18cd52df3014432c887681
Pavel Maltsev [Fri, 1 Sep 2017 21:46:08 +0000 (14:46 -0700)]
Remove unbundled IME feature from automotive confg
Test: make -j && flash && adb shell pm list feature
Bug:
64546952
Change-Id: I87cb2662cf0b41eb6e13e237831fcfdb68d0eb44
Shubham Ajmera [Fri, 25 Aug 2017 20:07:44 +0000 (13:07 -0700)]
Drop capabilities in reconcileSecondaryDexFiles
... while unlinking oat files.
Test: adb shell cmd package reconcile-secondary-dex-files \
com.android.google.gms
Bug:
64461549
Change-Id: Ib2c59686233faab22088fc40a706736feb9964ee
(cherry-picked from commit
5a9ef99046e7324f5e821b05ad956e5e953a1e84)
Isaac Chen [Fri, 1 Sep 2017 00:36:28 +0000 (00:36 +0000)]
Merge "Export libui_headers as vndk header only library" into oc-mr1-dev
Isaac Chen [Thu, 31 Aug 2017 11:05:25 +0000 (19:05 +0800)]
Export libui_headers as vndk header only library
Emulator EGL uses libui headers and needs to be built
successfully when BOARD_VNDK_VERSION is enabled.
Bug:
64704866
Test: Built aosp_x86 with BOARD_VNDK_VERSION set to current and
BOARD_VNDK_RUNTIME_DISABLE set to true. Booted on x86 emulator.
Change-Id: Ic26fc14e61330fcc555501c906a64393afe6145d
android-build-team Robot [Thu, 31 Aug 2017 07:34:16 +0000 (07:34 +0000)]
release-request-
fd631211-effa-4885-9314-
559fcbd0a094-for-git_oc-mr1-release-
4308825 snap-temp-L52700000098265170
Change-Id: I9baff77619e07106cd9a09e37d3a2dc0a1224420
TreeHugger Robot [Thu, 31 Aug 2017 03:27:37 +0000 (03:27 +0000)]
Merge "Rename WriteBufferQueueGetExternalSurface: Step 1" into oc-mr1-dev
Sujith Ramakrishnan [Wed, 19 Jul 2017 01:54:15 +0000 (18:54 -0700)]
Add a new keycode for TV (ALL_APPS)
- KEYCODE_ALL_APPS: Launches all apps. For TV, this checks for
launcher package in system image.
Test: Manual: ALL_APPS: adb shell input keyevent 284
Test: also tested with --longpress for these keys
Bug:
38496261
Change-Id: I2e50a569533f01d93c020adde672c842540f0193
Jiwen 'Steve' Cai [Wed, 30 Aug 2017 18:26:20 +0000 (11:26 -0700)]
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
Brian Anderson [Tue, 8 Aug 2017 23:31:37 +0000 (16:31 -0700)]
Merge fences when needed for accurate timestamps.
There's an optimization in ConsumerBase that checks the status
of the current fence before merging it with a new fence. If
the current fence has already signaled, then it just picks up
the new fence without merging.
Unfortunately, if the new fence is already signaled too, then
it's possible that it signaled long before the current fence,
which can result in an inaccurate timestamp with the current
logic.
The new logic merges the fences when the statuses of the current
and new fences are the same. If they differ, then it takes the
unsignaled fence.
This fixes the reads done timestamps in the GetFrameTimestamps
dEQP tests so that they are always monotonic and always arrive
after rendering completes.
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Bug:
37513882
Change-Id: I345e48aae0fbb3c28c2f2c0dc035e6b0fa70df43
(cherry picked from commit
7b097e2e3d9dd9444916ddf77d75ca394e6b753e)
Jesse Hall [Tue, 29 Aug 2017 04:55:32 +0000 (21:55 -0700)]
Add vulkan_headers_ndk cc_library_headers module
We had a cc_library_headers module for the Vulkan headers, for use by
platform and vendor modules. We also had an ndk_headers module to copy
the headers into the NDK. This adds another cc_library_headers module
which allows things in the Android tree but which are built against
the NDK (like CTS) to use our copy of the header, rather than an NDK
prebuilt. That allows CTS tests to use extensions that aren't yet
present in the prebuilt NDK Vulkan header.
Bug:
34745152
Test: build with accompanying external/vulkan-validation-layers changes
Change-Id: Ia5f1bc086210403f8e6c023ce3c6413f74f91ff3
android-build-team Robot [Wed, 30 Aug 2017 07:30:33 +0000 (07:30 +0000)]
release-request-
81b48854-d0e0-49af-bcf2-
857273cbb8dc-for-git_oc-mr1-release-
4306444 snap-temp-L17300000097872583
Change-Id: I45ea2da805c769313ae204c97e4218b02c73b95d
TreeHugger Robot [Wed, 30 Aug 2017 03:14:24 +0000 (03:14 +0000)]
Merge "thermalservice: don't register IThermalCallback service" into oc-mr1-dev
TreeHugger Robot [Tue, 29 Aug 2017 20:01:21 +0000 (20:01 +0000)]
Merge "vulkan: Update Vulkan headers to 1.0.54" into oc-mr1-dev
Jesse Hall [Mon, 28 Aug 2017 19:10:06 +0000 (12:10 -0700)]
vulkan: Update Vulkan headers to 1.0.54
Key changes since 1.0.53:
* Updated several KHX extensions and promoted to KHR:
* VK_KHR_external_memory_capabilities
* VK_KHR_external_memory_win32
* VK_KHR_external_memory_fd
* VK_KHR_external_semaphore_capabilities
* VK_KHR_external_semaphore
* VK_KHR_external_semaphore_win32
* VK_KHR_external_semaphore_fd
* VK_KHR_win32_keyed_mutex
* Added new extensions:
* VK_KHR_external_fence_capabilities
* VK_KHR_external_fence
* VK_KHR_external_fence_win32
* VK_KHR_external_fence_fd
* VK_KHR_storage_buffer_storage_class
* VK_KHR_variable_pointers
* VK_KHR_dedicated_allocation
* VK_KHR_get_memory_requirements2
Test: build
Bug:
34745152
Change-Id: I790143b0d5160c02a016f1e67720edbf6bc45636
Merged-In: I790143b0d5160c02a016f1e67720edbf6bc45636
(cherry picked from commit
9492f99cb57d97aa5df908773738fe7fe6a86acf)
TreeHugger Robot [Tue, 29 Aug 2017 15:27:35 +0000 (15:27 +0000)]
Merge "Dumpstate: Add tombstone filtering" into oc-mr1-dev
android-build-team Robot [Mon, 28 Aug 2017 07:35:33 +0000 (07:35 +0000)]
release-request-
c924aaac-f0a2-4215-8dc4-
e314f22460d9-for-git_oc-mr1-release-
4301796 snap-temp-L23200000097143969
Change-Id: I110e59a3809f9f6f95fa9611026289da3540a5f1
Todd Poynor [Sat, 26 Aug 2017 07:53:06 +0000 (00:53 -0700)]
thermalservice: don't register IThermalCallback service
This service is only to be registered with IThermal 1.1 HALs via a
registration method, not for lookup via hwservicemanager.
Bug:
64986538
Bug:
30982366
Test: manual on w
Change-Id: I2c14a454dd4446267529f2e1cbf99ff23fbd1737
Felipe Leme [Fri, 25 Aug 2017 20:39:04 +0000 (13:39 -0700)]
Temporary fix for memory leak on DumpRunningServiceTimeout.
Test: mmm -j32 frameworks/native/cmds/dumpsys && \
adb sync && adb shell /data/nativetest/dumpsys_test/dumpsys_test && \
adb shell /data/nativetest64/dumpsys_test/dumpsys_test && \
printf "\n\n#### ALL TESTS PASSED ####\n"
Bug:
65056227
Change-Id: I328806e9edf8e156039fb5dd963c3750c67c98d9
Felipe Leme [Fri, 25 Aug 2017 17:15:01 +0000 (10:15 -0700)]
Fixed dumpstate_test_fixture so it runs on 64 bits as well.
Test: mmm -j32 frameworks/native/cmds/dumpstate/ && adb sync && \
adb shell /data/nativetest/dumpstate_test/dumpstate_test && \
adb shell /data/nativetest64/dumpstate_test/dumpstate_test
Fixes:
64954094
Change-Id: I47fa6a6dcee0c3386c5a9b574583d84b20d30661
Siarhei Vishniakou [Fri, 25 Aug 2017 03:36:28 +0000 (20:36 -0700)]
Ensure history has pointer id of interest.
When two events with different pointer id's end up
next to each other in touch history, then crash may
occur by trying to access the data associated with
the second to last pointer id by using the last event's
pointer id.
Test: monkey testing on sailfish
Command: adb shell monkey -p com.google.android.deskclock -p
com.android.calculator2 -p com.google.android.contacts -p
com.android.launcher -p com.google.android.launcher -p com.android.mms
-p com.google.android.apps.messaging -p com.android.phone -p
com.google.android.dialer -p com.android.providers.downloads.ui -p
com.android.settings -p com.google.android.calendar -p
com.google.android.GoogleCamera -p com.google.android.apps.photos -p
com.google.android.gms -p com.google.android.setupwizard -p
com.google.android.googlequicksearchbox -p
com.google.android.packageinstaller -p
com.google.android.apps.nexuslauncher -c
android.intent.category.LAUNCHER --ignore-security-exceptions
--monitor-native-crashes -s 611 -v -v -v 125000
Native tests will be added later.
Fixes:
65012433
Change-Id: I560a54d7f59a8892adfad3a54db9c436e4089343
Lajos Molnar [Thu, 24 Aug 2017 21:48:43 +0000 (14:48 -0700)]
omx: fix constrained profile support
Bug:
64691727
Change-Id: Idd4639466bc53cc2a49e31a6107209adfb250765
Andreas Gampe [Tue, 22 Aug 2017 20:08:37 +0000 (13:08 -0700)]
Dumpstate: Add tombstone filtering
Only package the ten latest tombstones. This recovers the old behavior
when tombstones were limited to ten by tombstoned, and ensures that
bugreports stay small in size.
It is future work to optimize this, e.g., by packaging as many as possible.
(cherry picked from commit
d0d7695ecbfd12aaecc8aec66aacb487b116ac0b)
Bug:
64290162
Test: m
Test: adb root && for ((i=0;i<50;i++)) ; do adb shell touch /data/tombstones/tombstone_$i ; done ; adb bugreport test.zip ; unzip -l test.zip | grep tomb
Merged-In: I4072b5fbcf1e0314aa3eebeefbadc61d5ec10787
Change-Id: I4072b5fbcf1e0314aa3eebeefbadc61d5ec10787
android-build-team Robot [Thu, 24 Aug 2017 07:29:21 +0000 (07:29 +0000)]
release-request-
6c9f747d-7df5-465f-8bde-
1149394b99b4-for-git_oc-mr1-release-
4296189 snap-temp-L54400000096309002
Change-Id: Ifdbb9ab98a5511dd971d391a75e4a4f35b4c84fe
Siarhei Vishniakou [Mon, 12 Jun 2017 14:01:41 +0000 (15:01 +0100)]
Fix resampling logic for duplicate events.
When events with identical coordinates are
reported by the input driver, resampling can lead to
false change of direction due to extrapolation.
The added logic will compare the current event to the
previous event, and will use the previously resampled values
for the new event if the raw (as reported by the driver)
coordinates of the two events match.
This commit makes events with identical coordinates possible,
so it must be submitted together with the new impulse-based
VelocityTracker strategy commit. The currently used 2nd degree
polynomical unweighted least squares strategy cannot handle
consecutive events with identical coordinates.
Bug:
35412046
Test: Recorded bad scroll event on swordfish, and replayed
the event to reproduce this bug. To twitch is no longer observed.
Also tested common usecase scenarios on sailfish, no regressions observed.
Change-Id: Icb5cf6c76959f3514b8b94c09e38cc5434f31b23
(cherry picked from commit
0aeec07971d86c635412c672bd69d91f589a0cd9)
Merged-In: Icb5cf6c76959f3514b8b94c09e38cc5434f31b23
android-build-team Robot [Wed, 23 Aug 2017 07:32:42 +0000 (07:32 +0000)]
release-request-
cff6d9b6-a564-4d17-99cb-
c2d0bb282758-for-git_oc-mr1-release-
4293817 snap-temp-L12800000095933585
Change-Id: Ic9e246e40ff34e3ffcd70096d99bf48ed4befbf7
TreeHugger Robot [Wed, 23 Aug 2017 00:51:22 +0000 (00:51 +0000)]
Merge "Add dumpsys finish timestamp" into oc-mr1-dev