OSDN Git Service
Dan Stoza [Mon, 26 Jun 2017 21:27:18 +0000 (14:27 -0700)]
libgui: New mutex for ConsumerBase frame callbacks
Adds a new mutex to protect ConsumerBase's mFrameAvailableListener
separately from the main mMutex. This prevents deadlocks when trying
to perform callbacks in response to other calls that come through
ConsumerBase.
Bug:
62915791
Test: EncodeVirtualDisplayWithCompositionTest#
testRenderingMaxResolutionRemotely
Change-Id: I244dc2d83488e452d9690c0d7847c9ff15a95dbb
(cherry picked from commit
95971c8172495f7b6a0ede1a3508472b9a4e7b36)
android-build-team Robot [Fri, 23 Jun 2017 20:54:48 +0000 (20:54 +0000)]
Merge cherrypicks of [
2454758,
2454859,
2454837,
2454965,
2454984,
2455001,
2454760,
2454860,
2454838,
2454899,
2454970,
2455005,
2455027,
2454973,
2455006,
2455061,
2455007,
2454914,
2454987,
2454974] into oc-release
Change-Id: Ia50b2d742908507fedd9dc7ff59ee90d65c8c4c6
John Reck [Fri, 23 Jun 2017 16:44:08 +0000 (09:44 -0700)]
Disable setting saved_cmdline_size
Minimal revert of the addition of increasing
the saved_cmdline_size. This change
exposed kernel bugs that prevented
atrace from working.
Bug:
62375794
Test: manual
Change-Id: Ie946b9246ce9ba22af59dbf0b9fe8a59a5fa1f3f
(cherry picked from commit
ba54d5baf4265cc5ccf656638bf6c5d9e770592f)
android-build-team Robot [Thu, 22 Jun 2017 20:11:49 +0000 (20:11 +0000)]
Merge cherrypicks of [
2445838,
2447382,
2447022] into oc-release
Change-Id: I99c60c8c22735c38d4f69be7da76bf1ea20e0f27
Chia-I Wu [Thu, 22 Jun 2017 17:48:28 +0000 (10:48 -0700)]
surfaceflinger: discard stale commands
When we skip validate, we may have stale commands on the command
buffer. They should be discarded.
Bug:
62906801
Test: manual
Change-Id: Ie7921ba75ab2252b834cda6924e1fcfdf236f759
(cherry picked from commit
0c6ce4608fc022608537162dd919e7f729b9cb77)
Fabien Sanglard [Thu, 22 Jun 2017 18:13:49 +0000 (11:13 -0700)]
LibGUI remove DEBUG
DEBUG_ONLY_CODE flag enables expensive checks such as
BufferQueueCore::validateConsistencyLocked() which when running
represents 15.1% of SurfaceFlinger total runtime. Enabling these
check for "eng" build only make "userdebug" build closer to "user".
Test: Manual
Bug:
62905241
Change-Id: I77065ecf4e62261c3f02b1cad9966d5c4845c639
(cherry picked from commit
98bfd4f5714c70c94d7a72efa29a1966fb0ea6a9)
Fabien Sanglard [Thu, 22 Jun 2017 18:35:16 +0000 (11:35 -0700)]
Disable skip Validate on client composition
SurfaceFlinger should not skip validate when GLComposition is
needed. This can happen when SF decides to force GLComposition
(like when a screen rotation occurs).
Bug:
62906801
Test: Manual
Change-Id: I248146eade395a124cb149773287abd88ae36511
(cherry picked from commit
269c2361096cb8a17ea5fedbd20f800cd1b65d05)
android-build-team Robot [Thu, 22 Jun 2017 07:12:51 +0000 (07:12 +0000)]
release-request-
767e2998-9243-43e0-b656-
1acb30ac5115-for-git_oc-release-
4124637 snap-temp-L74200000076595014
Change-Id: I37efc0a115c061c312d02bc010c0855aefacc621
Fabien Sanglard [Tue, 20 Jun 2017 02:22:36 +0000 (19:22 -0700)]
Skip Validate
b/
37474580
b/
62806392
Test: marlin, ryu
Change-Id: I09e0c52cb7c914dcd883dc771d97a365c89f7037
android-build-team Robot [Wed, 21 Jun 2017 07:13:01 +0000 (07:13 +0000)]
release-request-
5bf29450-4eb0-4d71-a15a-
d8858bf184d3-for-git_oc-release-
4120128 snap-temp-L37600000076154351
Change-Id: I9edf895511dbc6381a8e39873e37eb0214a0186d
TreeHugger Robot [Tue, 20 Jun 2017 20:15:29 +0000 (20:15 +0000)]
Merge "surfaceflinger: fix a potential child layer leak" into oc-dev
android-build-team Robot [Sun, 18 Jun 2017 07:18:14 +0000 (07:18 +0000)]
release-request-
f4ecf242-5d1c-45e0-8c7c-
ede48d1a9e82-for-git_oc-release-
4111650 snap-temp-L02200000075283731
Change-Id: Iee5ced44440d132836c4fd1df09ec6f7f9d36ed3
TreeHugger Robot [Sat, 17 Jun 2017 01:51:06 +0000 (01:51 +0000)]
Merge changes from topic 'layer-wp-race' into oc-dev
* changes:
surfaceflinger: Layer::getParent requires state lock held
surfaceflinger: distinguish mCurrentParent/mDrawingParent
surfaceflinger: protect Client::mParentLayer with a lock
Chia-I Wu [Thu, 15 Jun 2017 19:53:59 +0000 (12:53 -0700)]
surfaceflinger: fix a potential child layer leak
We should not remove a child layer from its already removed parent.
Call p->removeChild only after we've checked that the ancestor is
alive.
Apply
e6b63e1ae12692327f7e46d5f10d6ade5a7bf192 and this fix to
SurfaceFlinger_hwc1.cpp as well.
Bug:
37121786
Test: manual stress test
Change-Id: I7b811450a998acc4ad9690bd4eda058ce6588e14
Chia-I Wu [Thu, 15 Jun 2017 19:53:59 +0000 (12:53 -0700)]
surfaceflinger: Layer::getParent requires state lock held
We rely on mStateLock to synchronize accesses to
Layer::mCurrentParent.
Bug:
38505866
Test: manual stress test
Change-Id: I5f8ec358ed7e35df28f8c6aec31ae6ee51cb5b93
Bryce Lee [Fri, 16 Jun 2017 14:06:17 +0000 (07:06 -0700)]
Add method to explicitly create Surface.
It is sometimes necessary for a SurfaceControl client to request the
associated Surface object be created rather than reuse the cached
value. This changelist adds an additional method that performs the
same creation operations as if the Surface object was created for the
first time.
Bug:
62108743
Test: go/wm-smoke
Change-Id: I2f460f20b2d16ed9ff81cb36842bcd2f8641e03c
Chia-I Wu [Tue, 13 Jun 2017 21:10:56 +0000 (14:10 -0700)]
surfaceflinger: distinguish mCurrentParent/mDrawingParent
Updates to wp<> is not atomic. We cannot use/update it at the same
time from the main thread and a binder thread. With this change,
binder threads use mCurrentParent with the external state lock held.
The main thread uses mDrawingParent.
This is also an alternative fix to bug
62099658 and allows us to
revert "SurfaceFlinger: Update parent pointer while performing
transaction."
Bug:
38505866
Bug:
62099658
Test: boots and no repro (but I can never repro)
Change-Id: Id286a437537daaeec5eee5de62b1d9df245ece53
Chia-I Wu [Thu, 15 Jun 2017 21:01:18 +0000 (14:01 -0700)]
surfaceflinger: protect Client::mParentLayer with a lock
Updates to wp<> is not atomic. Use Client::mLock to protect
mParentLayer.
Bug:
38505866
Test: camera and youtube work
Change-Id: I2739382d5bb99961a47c1011963b6f676d34eec6
android-build-team Robot [Thu, 15 Jun 2017 07:11:38 +0000 (07:11 +0000)]
release-request-
bfd62fea-ae1d-4d0d-80fd-
4ff0d407c488-for-git_oc-release-
4102265 snap-temp-L40000000074340189
Change-Id: Ic2e51b29c8f89f4ba9ac0ec03effe8f318bda5d9
Alistair Strachan [Wed, 7 Jun 2017 23:34:44 +0000 (16:34 -0700)]
Fix getDisplayInfo() for SurfaceFlinger in HWC2 mode.
When HWC2 mode is enabled in SurfaceFlinger, the getDisplayInfo()
function would fail to return the correct active mode in some cases.
This bug was only noticable if you had more than one mode registered
by the HWC2 backend.
The SurfaceComposerClient::getDisplayInfo() function works by calling
getDisplayConfigs(), and de-referencing the config at the index
returned by getActiveConfig(). The active config returned was correct,
but the getDisplayConfigs() array was not properly sorted.
Tracing this back, this problem occurs because the configId is stored
alongside the config in an unordered_map, so when this is converted
to a vector and the configId is discarded, the conversion must be
sorted correctly; it can't just be the hash order returned from
the unordered_map.
There are a few ways to fix this problem, but the easiest was to nip
the problem in the bud by not allowing an unsorted list of configs
to exist on the base HWC2 class. It may be better still to just get
rid of the map and go back to a vector, as this data is more often
used as an array than it is indexed by configId, so the use of an
unordered_map was probably overkill.
Change-Id: Ibfb015a6d9b49c870f37a1c892f15f90abbd1e2c
Bug:
62617569
Test: ./cts-tradefed run cts -m CtsViewTestCases -t android.view.cts.DisplayRefreshRateTest#testRefreshRate
Eino-Ville Talvala [Wed, 14 Jun 2017 08:09:40 +0000 (08:09 +0000)]
Merge changes Ibc1444b8,I14c200d1 into oc-dev
* changes:
ConsumerBase: discardFreeBuffers() also needs to dump its own cache
BufferQueueProducer: Call onBuffersReleased() in detachNextBuffer
android-build-team Robot [Wed, 14 Jun 2017 07:13:04 +0000 (07:13 +0000)]
release-request-
0b3ce0b0-0f38-494b-a590-
b594ba11c2d2-for-git_oc-release-
4098933 snap-temp-L41500000074000728
Change-Id: I4121574daf475877646de8c86eb3749d6c210ac2
Peng Xu [Wed, 14 Jun 2017 06:12:37 +0000 (06:12 +0000)]
Merge changes from topic 'sensor_looper_crash' into oc-dev
* changes:
Fix race condition for SensorManager looper.
SensorManager: attach background thread to JavaVM
Framework sensor manager init not depends on ::android::SensorManager.
Yifan Hong [Wed, 14 Jun 2017 01:04:25 +0000 (18:04 -0700)]
Fix race condition for SensorManager looper.
Before the fix there could be two background threads started for two
loopers. Add a guard to prevent this from happening.
Test: pass
Bug:
62404135
Change-Id: I8230addaaa6b83670d7b83c96809b00fca95d352
Yifan Hong [Wed, 14 Jun 2017 00:51:13 +0000 (17:51 -0700)]
SensorManager: attach background thread to JavaVM
Test: pass
Bug:
62404135
Change-Id: I63a128c3c933904211f5ff2483492674eaba93ed
Yifan Hong [Tue, 9 May 2017 22:18:02 +0000 (15:18 -0700)]
Framework sensor manager init not depends on ::android::SensorManager.
Test: photo sphere
Change-Id: Ice37a758421827757226a9898bcf3e00857443ff
Merged-In: Ice37a758421827757226a9898bcf3e00857443ff
Fixes:
36448245
Eino-Ville Talvala [Wed, 14 Jun 2017 00:09:11 +0000 (17:09 -0700)]
ConsumerBase: discardFreeBuffers() also needs to dump its own cache
ConsumerBase has its own cached slots with graphic buffer references,
so it's not enough to just ask the buffer queue consumer to free
buffers.
Add code equivalent to what happens in the onBuffersReleased callback.
Test:
Bug:
62593139
Change-Id: Ibc1444b868c6150aa2da1c209e06bdba42f1595d
Eino-Ville Talvala [Tue, 13 Jun 2017 23:39:11 +0000 (16:39 -0700)]
BufferQueueProducer: Call onBuffersReleased() in detachNextBuffer
Like detachBuffer(), detachNextBuffer() needs to inform the consumer,
who generally has a cache of buffer items, that a buffer is no longer
owned by the buffer queue.
Otherwise the consumer layer can leak the buffer reference until
consumer teardown/disconnect.
Test: Camera CTS is fine, using a camera app shows correct memory
behavior
Bug:
62591036
Change-Id: I14c200d13e60dbbe21261343941f84fb786db117
Joel Fernandes [Tue, 13 Jun 2017 03:47:27 +0000 (20:47 -0700)]
atrace.rc: Correct path to saved_cmdlines_size when setting permission
Bug:
62375794
Test: CTS test
Change-Id: Ie252be152ba26aced63af55734d3155ad93f2919
Signed-off-by: Joel Fernandes <joelaf@google.com>
(cherry picked from commit
0094a2d5962ed81c6c624c900450d84f1967ba49)
android-build-team Robot [Sun, 11 Jun 2017 07:17:05 +0000 (07:17 +0000)]
release-request-
276f9f52-87fd-4915-bd79-
9a2f0ee77433-for-git_oc-release-
4090213 snap-temp-L31600000073091223
Change-Id: I98ce7b0ca1ce9ab90dd39ed4e3d50e60b5995b84
Mathias Agopian [Fri, 9 Jun 2017 19:02:45 +0000 (19:02 +0000)]
Merge "Add missing VNDK pixel formats to AHardwareBuffer" into oc-dev
android-build-team Robot [Fri, 9 Jun 2017 17:17:04 +0000 (17:17 +0000)]
Merge cherrypicks of [
2386383,
2386384] into oc-release
Change-Id: I08619b00062064e8337eea81d6c5de96244aad08
Jorim Jaggi [Fri, 9 Jun 2017 06:55:29 +0000 (23:55 -0700)]
Fix build
Test: builds
Bug:
36631902
Change-Id: Iec23f8ab2b16c923f07d1857aa3471cfefc057dd
(cherry picked from commit
aaef0983baf38bd59b4129dd37e4cd21b73d92ad)
Jorim Jaggi [Fri, 9 Jun 2017 06:55:29 +0000 (23:55 -0700)]
Fix build
Test: builds
Bug:
36631902
Change-Id: Iec23f8ab2b16c923f07d1857aa3471cfefc057dd
android-build-team Robot [Fri, 9 Jun 2017 04:28:39 +0000 (04:28 +0000)]
Merge cherrypicks of [
2379117,
2381642,
2381625,
2377657] into oc-release
Change-Id: I368f0a23d17d32f1e2d72c0ecbc0721513c82e4e
Jorim Jaggi [Thu, 8 Jun 2017 22:43:59 +0000 (15:43 -0700)]
Properly run window animations at vsync-sf (2/2)
- Add new Choreographer instance that runs on vsync-sf
- Use this new Choreographer for WindowAnimator, and remove all
the hacks around it
Test: Open apps and close apps, notice no stutter
Test: Screen zoom animations
Test: go/wm-smoke
Bug:
36631902
Change-Id: I72a8b39709303a38fc077100229b8a81a153ba3e
(cherry picked from commit
b1e2f8deb38353e4bcc9d3ef06bc15bd5e417425)
Mathias Agopian [Fri, 9 Jun 2017 02:44:17 +0000 (19:44 -0700)]
Add missing VNDK pixel formats to AHardwareBuffer
AHardwareBuffer is now the only API available to
vendors to create graphic buffers in their HAL
implementations, unfortunately AHardwareBuffer
was designed for NDK use and was missing all
HAL specific pixel formats.
This CL adds these missing format to the VNDK-only
header.
The implementation is changed to accept all formats
which means, VNDK formats are indirectly exposed
to the NDK.
Bug:
38466076
Test: manual
Change-Id: I1e752cd33641aa861d9d15432cde6bec5a682e9a
Jorim Jaggi [Thu, 8 Jun 2017 22:43:59 +0000 (15:43 -0700)]
Properly run window animations at vsync-sf (2/2)
- Add new Choreographer instance that runs on vsync-sf
- Use this new Choreographer for WindowAnimator, and remove all
the hacks around it
Test: Open apps and close apps, notice no stutter
Test: Screen zoom animations
Test: go/wm-smoke
Bug:
36631902
Change-Id: I72a8b39709303a38fc077100229b8a81a153ba3e
Jeff Sharkey [Thu, 8 Jun 2017 15:27:07 +0000 (15:27 +0000)]
Merge "Don't double-count external cached app data." into oc-dev
TreeHugger Robot [Thu, 8 Jun 2017 10:16:09 +0000 (10:16 +0000)]
Merge "No more ashmem equivalent checker false alarm" into oc-dev
android-build-team Robot [Thu, 8 Jun 2017 10:03:31 +0000 (10:03 +0000)]
release-request-
011e6329-d82e-4e46-980f-
68776b0cd6b9-for-git_oc-release-
4080367 snap-temp-L79900000072116775
Change-Id: I445c782cff82ae51f60899ce837e1f714dd2a601
Matthew Bouyack [Wed, 7 Jun 2017 22:59:18 +0000 (22:59 +0000)]
Merge "DO NOT MERGE: Eliminate redundant changes to hardware vsync state." into cw-f-dev am:
9e5585930a
am:
f613f073b2 -s ours
Change-Id: I8a6e0a9b7e7810cfc33db9de074c2cdac139d233
Matthew Bouyack [Wed, 7 Jun 2017 22:53:37 +0000 (22:53 +0000)]
Merge "DO NOT MERGE: Eliminate redundant changes to hardware vsync state." into cw-f-dev
am:
9e5585930a
Change-Id: I3b534f26c60bd8d6cf0736da7de807cf339a1cdd
Matthew Bouyack [Wed, 7 Jun 2017 22:46:08 +0000 (22:46 +0000)]
Merge "DO NOT MERGE: Eliminate redundant changes to hardware vsync state." into cw-f-dev
Matthew Bouyack [Thu, 1 Jun 2017 21:37:29 +0000 (14:37 -0700)]
DO NOT MERGE: Eliminate redundant changes to hardware vsync state.
When transitioning between NORMAL and DOZE power modes
we were redundantly calling resyncHardwareVsync.
Similarly, when transitioning from DOZE_SUSPEND to OFF
we were redundantly calling disableHardwareVsync.
This change eliminates those redundant calls.
Fixes bug
62235417
Change-Id: I513bbf94a7ab973ab258efe16436441ac2379b70
Jeff Sharkey [Wed, 7 Jun 2017 21:59:03 +0000 (15:59 -0600)]
Don't double-count external cached app data.
Cached app data is already counted in extStats.dataSize, so we don't
need to count it twice.
Test: builds, boots, verified Settings UI before/after
Bug:
62343684
Change-Id: Ic02cbe3f5938949730f9bc8d911ed398436f84d7
Jiwen 'Steve' Cai [Fri, 2 Jun 2017 22:23:26 +0000 (15:23 -0700)]
No crash from AHardwareBuffer_unlock on NULL fence
The API document states: "If fence is not NULL then it will be set to a
file descriptor that is signaled when all pending work on the buffer is
completed." As it's too late to change the document, we should probably
update the implement and use GraphicsBuffer::unlock under the hood.
Bug:
62302267
Test: Build, AHardware CTS
Change-Id: Ic0fac5d7addfba67baaa1b5d7c221fc25d02df56
(cherry picked from commit
6cdbb537105b663572e71afe06bde1164fc215f3)
android-build-team Robot [Wed, 7 Jun 2017 08:00:40 +0000 (08:00 +0000)]
Merge "release-request-
0ddf2eab-ecaa-4014-951f-
9236b1e43859-for-git_oc-release-
4075595 snap-temp-L43000000071370789" into oc-release
android-build-team Robot [Wed, 7 Jun 2017 07:50:38 +0000 (07:50 +0000)]
release-request-
224b654d-e3ad-4f05-a95d-
d10d1516b3f6-for-git_oc-release-
4075622 snap-temp-L17600000071371496
Change-Id: If50c56c2979f6db98db5ebcd0c6f0e43bae17da0
android-build-team Robot [Wed, 7 Jun 2017 07:44:25 +0000 (07:44 +0000)]
release-request-
0ddf2eab-ecaa-4014-951f-
9236b1e43859-for-git_oc-release-
4075595 snap-temp-L43000000071370789
Change-Id: Ic382833e4767c76007cca4bc4fb2d572545cd5bd
Joel Fernandes [Tue, 6 Jun 2017 19:20:29 +0000 (12:20 -0700)]
atrace: setup saved_cmdlines_size and write only if available
Older kernels (bullhead etc) don't have saved_cmdlines_size, check and
write only if available. Also make work on non-root by setting
permissions in rc file (thanks John Reck for suggestion).
Bug:
62375794
Change-Id: Iefffc3203afd092ffb6cf420a144b38844aaee39
Signed-off-by: Joel Fernandes <joelaf@google.com>
Nicolas Geoffray [Tue, 6 Jun 2017 20:20:33 +0000 (20:20 +0000)]
Merge "Revert "Disable in-place vdex update"" into oc-dev
Mathias Agopian [Tue, 6 Jun 2017 17:59:02 +0000 (17:59 +0000)]
fix race condition that can cause a use after free am:
59485525a6 am:
5da64c91d0 am:
46361c6c2b am:
ee464e00d3
am:
21e9397776 -s ours
Change-Id: If0f229ba54f2c9978ba83beca331896d1d303db4
Mathias Agopian [Tue, 6 Jun 2017 17:46:30 +0000 (17:46 +0000)]
fix race condition that can cause a use after free am:
59485525a6 am:
5da64c91d0 am:
46361c6c2b
am:
ee464e00d3
Change-Id: Ifb22956eadae06f2ff6b0445d5e92e450c947942
Mathias Agopian [Tue, 6 Jun 2017 17:40:00 +0000 (17:40 +0000)]
fix race condition that can cause a use after free am:
59485525a6 am:
5da64c91d0
am:
46361c6c2b
Change-Id: I33758163baac3c96525751d313091a5bce0d5377
Mathias Agopian [Tue, 6 Jun 2017 17:33:59 +0000 (17:33 +0000)]
fix race condition that can cause a use after free am:
59485525a6
am:
5da64c91d0
Change-Id: I6358492afbd410f20a96ceccc7957a67112c58bc
Mathias Agopian [Tue, 6 Jun 2017 17:27:59 +0000 (17:27 +0000)]
fix race condition that can cause a use after free
am:
59485525a6
Change-Id: I42d7ee49dc3dcbd9d5d4a86fc9d018ff6c29534d
Chia-I Wu [Tue, 6 Jun 2017 15:32:08 +0000 (15:32 +0000)]
Merge "surfaceflinger: fix layer count" into oc-dev
Nicolas Geoffray [Mon, 5 Jun 2017 12:38:10 +0000 (12:38 +0000)]
Revert "Disable in-place vdex update"
Reverting to only apply this when doing dexlayout.
PS1 is a pure revert. PS2 contains the fix.
This reverts commit
e446fede9258359b61d4c8753d7e96477fa29388.
Bug:
38113240
Test: OTA and dexopt
(cherry picked from commit
b03814f39559c824e097bf2d869c7a56d8b41b67)
Change-Id: Ibabb1ec3af1101c6c44fbea498f8625c9515af8f
android-build-team Robot [Tue, 6 Jun 2017 07:14:16 +0000 (07:14 +0000)]
release-request-
33811b80-8470-43aa-a2e6-
0c80aa8b51af-for-git_oc-release-
4070583 snap-temp-L92300000070865789
Change-Id: I822ed65c16527cfc987b2cb145fb80b35e81ca00
Mathias Agopian [Tue, 4 Apr 2017 00:14:31 +0000 (17:14 -0700)]
fix race condition that can cause a use after free
Backported from
12a0ccd6f7201bac706d903ac3f436c4358fe203.
Bug:
33004354
Test: manual
Change-Id: I9b38ee644b02268c9b995a330db758aa2e568399
Mark Renouf [Mon, 5 Jun 2017 21:42:59 +0000 (21:42 +0000)]
Merge "Clockwork: add feature android.software.input_methods" into oc-dev
Joel Fernandes [Mon, 5 Jun 2017 20:41:07 +0000 (20:41 +0000)]
Merge "atrace: Enable sched_waking if available" into oc-dev
Joel Fernandes [Fri, 2 Jun 2017 17:19:28 +0000 (10:19 -0700)]
atrace: Set saved_cmdline_size to 8192
This increases the size of the table tracking comms and pids and
prevents overwriting them easily.
Bug:
38167231
Change-Id: I69b9000e4f9d0c2c7969efd38e02d8c1bffdad5c
Signed-off-by: Joel Fernandes <joelaf@google.com>
(cherry picked from commit
ed80bd04cc3bf80082b1d733ef06d90a29c6270a)
Joel Fernandes [Sun, 4 Jun 2017 20:05:59 +0000 (13:05 -0700)]
atrace: Enable sched_waking if available
sched_waking helps to know when a wakeup happens at the earliest.
wakeups can originate on different CPUs which makes it impossible to
know just from sched_wakeup what the source was. Thankfully sched_waking
is just for that, enable it if its available.
Bug:
36415990
Change-Id: I489ca0112d5e0ed781888866a9efa57f17ca8a53
Signed-off-by: Joel Fernandes <joelaf@google.com>
Chia-I Wu [Tue, 30 May 2017 21:54:08 +0000 (14:54 -0700)]
surfaceflinger: fix layer count
When a layer is removed, mLayerCount is always decremented by 1 even
though the layer has children. This commit fixes that by making
sure mLayerCount is properly decremented, and makes sure that a
parent layer must be a valid layer in mCurrentState.
Bug:
37121786
Test: manually open and close Camera app
Change-Id: I5a3e18be41646b167b4d361dfe08db4d06e1c2d0
(cherry picked from commit
98f1c108b016dda77c808f3d099e7a45bdd70768)
android-build-team Robot [Sun, 4 Jun 2017 07:11:14 +0000 (07:11 +0000)]
release-request-
777c0f47-a42e-446a-b45c-
0bb1aaa9612e-for-git_oc-release-
4066915 snap-temp-L92300000070444114
Change-Id: I02178b6da249240049b2c38c746232d74f494a0b
TreeHugger Robot [Sat, 3 Jun 2017 02:19:50 +0000 (02:19 +0000)]
Merge "Add media.codec process to native stack dump list" into oc-dev
Chong Zhang [Fri, 2 Jun 2017 23:13:16 +0000 (16:13 -0700)]
Add media.codec process to native stack dump list
This is needed for non-treble devices.
Test: do 'adb shell bugreport' on angler, and check that
'Cmd line: media.codec' section is present and stacks are there.
bug:
62297059
Change-Id: I2573bb48d021e7750adf44eb00f06f5b9efb3a85
TreeHugger Robot [Fri, 2 Jun 2017 20:33:50 +0000 (20:33 +0000)]
Merge changes I87a57825,I3721d163 into oc-dev
* changes:
SurfaceFlinger: Fix final cropping of child layers.
SurfaceFlinger: Update parent pointer while performing transaction.
Robert Carr [Thu, 1 Jun 2017 23:11:34 +0000 (16:11 -0700)]
SurfaceFlinger: Fix final cropping of child layers.
Straightforward mistake documented by the test case. Not sure how it
made it this long.
Test: Included in Transaction_test.cpp. Manual from bug. go/wm-smoke.
Bug:
37511473
Change-Id: I87a57825cca879c5519fe72fef199168f7c23479
Robert Carr [Thu, 1 Jun 2017 21:59:25 +0000 (14:59 -0700)]
SurfaceFlinger: Update parent pointer while performing transaction.
To understand the change at a high level, notice that all the usage
of getParent() is assosciated with the drawing state. We see in this way
that the parent is a part of the drawing state and should only be updated
when transactions occurs.
More specifically we can consider the following scenario:
1. Imagine that we have a visible surface, with a visible child surface
2. Now imagine we create a new surface, which is hidden, and post a buffer to it.
It is configured such that it would be visible if it were not hidden.
3. We open a transaction
4. We reparent the child from the old surface to the new one
5. We show the new surface
6. We close the transaction
At this point we would expect the child to remain visible, as it is atomically
reparented with the visibility change of the parent. However prior to this CL
we see a flash, as the sequence can continue as follows:
7. Closing the transaction triggers setClientState, causing Layer::reparentChildren
which would call setParent updating the parent pointer.
8. setClientState updates the current but not drawing visibility of the new parent and marks
a transaction to occur.
9. We return to the main thread, MESSAGE_REFRESH occurs before MESSAGE_TRANSACTION
and we render a frame
10. We observe the child window as invisible, as it has the new parent
but it's new parent is not yet visible.
We simply have to ensure the parent pointer is updated at transaction time.
I chose a location in commitChildList where mDrawingChildren was copied
from mCurrentChildren as it seemed to express the intent well.
Test: Difficult to automatically test. Manually try resizing Chrome/Youtube/etc in docked stack before flicker should be ~1/10 after flicker should be <1/100 (I haven't seen one yet)
Bug:
62099658
Change-Id: I3721d16361b53128146510d3fda43e1c12f93223
TreeHugger Robot [Fri, 2 Jun 2017 00:42:59 +0000 (00:42 +0000)]
Merge "egl: handle failed eglMakeCurrent EGL_NO_CONTEXT" into oc-dev
android-build-team Robot [Thu, 1 Jun 2017 20:33:26 +0000 (20:33 +0000)]
Merge cherrypicks of [
2344945,
2344576,
2344897,
2344874,
2344907,
2344949,
2345021,
2344909,
2344951,
2344837,
2344962,
2344838,
2345121,
2345141,
2345122,
2345062,
2344915] into oc-release
Change-Id: I8dbdfabd8be2e19749cc09a9cddc46b81a1d7325
Andreas Gampe [Wed, 31 May 2017 23:39:58 +0000 (16:39 -0700)]
Installd: deleteOdex's outputPath can be null
Add @nullable, as the outputPath can be null for system apps.
Bug:
62236497
Test: m
Test: Fill up /data, apply OTA
Change-Id: I61d86721b485f85195b153d76ce25412dcb68be6
(cherry picked from commit
c523409f0fd03aa498cedc486f85e9a4b7257f3a)
Nicolas Geoffray [Thu, 25 May 2017 12:58:06 +0000 (13:58 +0100)]
Delete vdex file in delete_odex.
(cherry picked from commit
192fb9662ce8b2a60da2b280d8000283fb3b6f6b)
bug:
38513395
Test: unfortunately no unit test here, so after discussing
with agampe@ just relied on build.
Change-Id: I305ddaadc813673fb55473f5e8ca357f39cf98f3
(cherry picked from commit
3040d9db984237259c0ec7238ad9081018ffe808)
Mike Stroyan [Thu, 1 Jun 2017 19:56:18 +0000 (13:56 -0600)]
egl: handle failed eglMakeCurrent EGL_NO_CONTEXT
The recovery code for failed eglMakeCurrent didn't correctly
handle the case when the previous context was EGL_NO_CONTEXT.
Leave the original EGL context unrestored in that case.
The driver should be able to handle that case without help.
Bug:
38341617,
37244059
Change-Id: I38f3450005a4eec5f1a684ee7d66363e88f6d92f
Fixes:
38341617
Test: android.server.cts.ActivityManagerDisplayTests, Run Minions Rush app.
David Sehr [Fri, 26 May 2017 23:32:55 +0000 (16:32 -0700)]
Disable in-place vdex update
Vdex files can be corrupted by dexlayout or by previously dexlayout-ed
files being recompiled if they are used as both input and output.
Disable this feature.
Bug:
38113240
Test: OTA and dexopt
Change-Id: Iee2d9a6c1ba8cddda25290f68f50649d5288d588
(cherry picked from commit
e446fede9258359b61d4c8753d7e96477fa29388)
Mark Renouf [Thu, 1 Jun 2017 18:43:41 +0000 (14:43 -0400)]
Clockwork: add feature android.software.input_methods
BUG:
38123013
Change-Id: I4532cefda9c24541450f5e0e739ab5d44c1111fd
Andreas Gampe [Wed, 31 May 2017 23:39:58 +0000 (16:39 -0700)]
Installd: deleteOdex's outputPath can be null
Add @nullable, as the outputPath can be null for system apps.
Bug:
62236497
Test: m
Test: Fill up /data, apply OTA
Change-Id: I61d86721b485f85195b153d76ce25412dcb68be6
Nicolas Geoffray [Thu, 25 May 2017 12:58:06 +0000 (13:58 +0100)]
Delete vdex file in delete_odex.
(cherry picked from commit
192fb9662ce8b2a60da2b280d8000283fb3b6f6b)
bug:
38513395
Test: unfortunately no unit test here, so after discussing
with agampe@ just relied on build.
Change-Id: I305ddaadc813673fb55473f5e8ca357f39cf98f3
android-build-team Robot [Thu, 1 Jun 2017 07:14:40 +0000 (07:14 +0000)]
release-request-
18270495-77c6-4d95-8968-
eb22e3d2fe8b-for-git_oc-release-
4057656 snap-temp-L93200000069424216
Change-Id: Ic7d3e0ad701bf38c33845d2fb79a57202aabe1f6
Dan Stoza [Wed, 31 May 2017 20:50:16 +0000 (13:50 -0700)]
libgui: Add Surface::getLastDequeueStartTime
Adds the getLastDequeueStartTime method, which allows the caller to
determine whether the last dequeueBuffer call fell into a given time
window.
Bug:
62213889
Test: SurfaceTest.TestGetLastDequeueStartTime in libgui_test
Change-Id: I1684deb09273745a3adc751554624d2257fa890e
android-build-team Robot [Wed, 31 May 2017 20:07:01 +0000 (20:07 +0000)]
Merge cherrypicks of [
2338127,
2338109,
2338203,
2338166,
2338301,
2338321] into oc-release
Change-Id: I8057e5132e196d5cbf3d7d5490bc3a894fd1ec05
Jeff Sharkey [Tue, 30 May 2017 20:38:42 +0000 (14:38 -0600)]
Consistent "low storage" behavior.
When freeing cached data, the caller can now provide a "reserved"
size which we won't clear cached data from.
Bug:
38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ieb91b3e5345a950d4785fd7915f520f0a68a567a
(cherry picked from commit
60f8a5330ca921d936ae306bf6d17596b82b518c)
Jeff Sharkey [Wed, 31 May 2017 14:18:24 +0000 (14:18 +0000)]
Merge "Consistent "low storage" behavior." into oc-dev
android-build-team Robot [Wed, 31 May 2017 07:14:39 +0000 (07:14 +0000)]
release-request-
49d3fda6-f7aa-4b8d-aeeb-
eed9adb96e3c-for-git_oc-release-
4053943 snap-temp-L63500000069017893
Change-Id: I2921feb7e65ba72a76487fd47d51f5e24fbb9ac2
TreeHugger Robot [Wed, 31 May 2017 07:01:38 +0000 (07:01 +0000)]
Merge "EGL: Do not look up default namespace when sphal is defined" into oc-dev
Jayant Chowdhary [Wed, 31 May 2017 03:59:44 +0000 (03:59 +0000)]
Merge "Mark libui as vendor_available" into oc-dev
TreeHugger Robot [Wed, 31 May 2017 00:26:11 +0000 (00:26 +0000)]
Merge "add missing lib dependency to libvndksupport" into oc-dev
Jeff Sharkey [Tue, 30 May 2017 20:38:42 +0000 (14:38 -0600)]
Consistent "low storage" behavior.
When freeing cached data, the caller can now provide a "reserved"
size which we won't clear cached data from.
Bug:
38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ieb91b3e5345a950d4785fd7915f520f0a68a567a
android-build-team Robot [Sun, 28 May 2017 07:26:42 +0000 (07:26 +0000)]
release-request-
fca2b5ac-03eb-4055-a549-
b4fc2b292b64-for-git_oc-release-
4049993 snap-temp-L04900000068539456
Change-Id: I1bc35650a9c6556b0146e238ded4ea65915000ac
Jiyong Park [Sat, 27 May 2017 06:29:41 +0000 (15:29 +0900)]
add missing lib dependency to libvndksupport
libutils is now depending on libvndksupport. So any client that
statically links to libutils needs to link against libvndksuppor as
well.
Bug:
62084107
Test: start an app, run 'adb shell atrace gfx --stream'. atrace from the
graphics driver are visible.
Change-Id: I98917dc92a1b8bde52e69e1923a1c1530a088bd6
TreeHugger Robot [Fri, 26 May 2017 20:05:48 +0000 (20:05 +0000)]
Merge "Playback activity monitoring: add player types" into oc-dev
Justin Yun [Mon, 22 May 2017 06:13:40 +0000 (15:13 +0900)]
EGL: Do not look up default namespace when sphal is defined
If sphal name space exists, try to load drivers from sphal.
This patch stops loading the driver if it fails to find the driver
from sphal, instead of falling back to the default namespace.
Bug:
38435840
Test: sailfish builds and boots
Change-Id: Ib8ba73f57aa25431c4a2efe7c61a3699237cc3d2
Merged-In: Ib8ba73f57aa25431c4a2efe7c61a3699237cc3d2
(cherry picked from commit
b732030e847e74f00ecd37ff15a36b103efd97b9)
Jean-Michel Trivi [Thu, 25 May 2017 22:17:39 +0000 (15:17 -0700)]
Playback activity monitoring: add player types
Add player types for playback activity monitoring:
- AAudio
- hardware sources
- proxy for external players
Test: n/a
Bug:
62027849
Change-Id: I17f4879dd79cc89eb7db373754a79e2e38c97457
TreeHugger Robot [Thu, 25 May 2017 21:50:52 +0000 (21:50 +0000)]
Merge "Newly create idmap only when it is stale" into oc-dev
Chia-I Wu [Thu, 25 May 2017 16:34:56 +0000 (09:34 -0700)]
libgui: fix BQ buffer allocation error checking
The error path was broken since we moved away from
IGraphicBufferAlloc.
Bug:
37956614
Test: simulate buffer allocation failures
Change-Id: I1e1ec840fafd3075b84126c6dbf6194568175a42
android-build-team Robot [Thu, 25 May 2017 07:15:27 +0000 (07:15 +0000)]
release-request-
33b11ddd-d658-45bf-bdb2-
acceb024fe39-for-git_oc-release-
4042766 snap-temp-L87400000067730042
Change-Id: Ie63730130cd7902534955e2c1a56c85850b4f773
TreeHugger Robot [Wed, 24 May 2017 22:13:36 +0000 (22:13 +0000)]
Merge "Delete SurfaceFlinger BYPASS codepath" into oc-dev