Age | Commit message (Collapse) | Author |
|
Change-Id: I12fce45b356d85b8c101dae8b8bed9ec84554da5
|
|
Another bug due to a huge amount of complexity in the Parcel
implementation.
Bug: 203847542
Test: added testcase fails on device w/o Parcel.cpp fix, and it passes
on a device with the fix
Merged-In: I34411675687cb3d18bffa082984ebdf308e1c1a6
Change-Id: I34411675687cb3d18bffa082984ebdf308e1c1a6
(cherry picked from commit 04390376b043bf6a15ff2943a9ed63d9d8173842)
(cherry picked from commit 7c8497e0127dde63957ee39e90e62b119d09948d)
Merged-In:I34411675687cb3d18bffa082984ebdf308e1c1a6
|
|
sc-qpr1-release
Change-Id: I455c04d2481b0f4e87d43ae0f677b43b3b525e4f
|
|
sc-qpr1-dev
|
|
When we hit the high watermark for number of live proxies in a process,
we call a callback with the offending UID. ActivityManagerService will
then kill all processes belonging to this UID. The proxy limit callback
is only "re-armed" when the number of proxies for that UID drops below a
certain value again. However, because the proxies beloging to the now
dead processes will only be removed when the GC next runs, and restarted
processes may start adding new proxies in the mean time, we may actually
never drop below the lower threshold again, and never fire the callback
again, despite an ever-increasing amount of proxies.
To prevent this, repeatedly fire the limit callback every time that we
go another # of high watermark proxies over the limit. This, in
combination with a GC in the framework, should make sure that we
regularly kill and clean up these processes.
Bug: 198340142
Test: Manual
Change-Id: I8d877d409863fdae9cffd43709b647d0c1edb440
Merged-In: I8d877d409863fdae9cffd43709b647d0c1edb440
|
|
sc-qpr1-release
Change-Id: I0959ad258365958fbda2e9ec409d434598033a72
|
|
InputReader only processes configuration change from its main thread.
This means that if there is more than one Pointer Capture change
request when the thread is busy or sleeping, it will only process the
latest one. To ensure requests to enable Pointer Capture are synchronized
with Dispatcher, we must use sequence numbers.
Requests to enable Pointer Capture have a sequence number. Requests to
disable Pointer Capture do not have a value.
Bug: 195312888
Test: atest inputflinger_tests
Test: manual with GeforceNow app, see bug.
Merged-In: I6ae9c5498dc2f783b4c7211fa3665d42e29d2919
Change-Id: I6ae9c5498dc2f783b4c7211fa3665d42e29d2919
|
|
sc-qpr1-release
Change-Id: Iac257cecc0a453e5789e82474071375699064cca
|
|
|
|
sc-qpr1-release
Change-Id: Id558b28e153826f77c2ec48cb09ee2a37a6a9aaa
|
|
Improve primitive binder function to check if a process has any pending
binder transactions so that the freezer policy can choose to wait and
drain those pending transactions.
Bug: 198493121
Test: app launch/foreground/background stress test
Change-Id: Ia7ce6899ddaeb8e8453b0b8f3536d129b6b761d3
Merged-In: Ia7ce6899ddaeb8e8453b0b8f3536d129b6b761d3
|
|
into sc-qpr1-dev
|
|
sc-qpr1-release
Change-Id: I881e91c19dc81641732a10355072e951cb48d117
|
|
SurfaceControl on Surface#destroy am: fe4d05cd44 -s ours
am skip reason: Merged-In I88fe98fa275dd76e20a5403c24bd2cb3bee5346d with SHA-1 c0fa0078cf is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15787430
Change-Id: I1a5f35936417277b7a96bc6b7796f58ee72c428a
|
|
When we re-added support for latching unsignaled buffers we forgot to
propagate this support to Skia RenderEngine, since we were assuming that
latching unsignaled buffers would no longer be supported.
Because partners are still relying on latching unsignaled buffers being
available for good performance in some use-cases, Skia RenderEngine
needs to wait on incoming buffer fences to prevent tearing.
Bug: 196201621
Bug: 195033578
Test: atest librenderengine_test
Merged-In: I1f3be882e55de20bdbfa3bf92bf0b8f88b8bc3ea
Change-Id: I1f3be882e55de20bdbfa3bf92bf0b8f88b8bc3ea
(cherry picked from commit 4ee7b493f770fefc81076131913061cfd407288f)
|
|
sc-qpr1-release
Change-Id: Ic7f5bfa7d57ec0563d84227e77d0dadc1eca1efe
|
|
Surface#destroy
SurfaceView clients may hold on to surface references. In S this means
they would extend the lifetime of the SurfaceControl resulting in
"leaking" buffers until the references are cleared or the app is
terminated.
Fix this by calling a new destroy function on Surface which will
explicitly remove references to the SurfaceControl and BBQ it holds.
This is safe because SurfaceView controls the lifecycle of the Surface
and knows when the Surface will become invalid. Once invalid, the Surface
cannot become valid again.
Test: repro steps in bug
Bug: 198133921
Change-Id: I88fe98fa275dd76e20a5403c24bd2cb3bee5346d
Merged-In: I88fe98fa275dd76e20a5403c24bd2cb3bee5346d
|
|
Surface#destroy" into sc-qpr1-dev
|
|
am: 17aa765fd3 am: d666af6990 am: 62eaabc324 am: d21fe3951a -s ours am: bb79edeabe -s ours
am skip reason: skipped by user smoreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: I8f306c86ebd3ae91e82c97a75f482b3f528e02e0
|
|
am: 17aa765fd3 am: d666af6990 am: 62eaabc324 am: d21fe3951a -s ours
am skip reason: skipped by user smoreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: Iec5da912d314e933555e504fefb9705fe0233634
|
|
am: 17aa765fd3 am: d666af6990 am: 62eaabc324 am: 8cec52154e -s ours am: 993b1603d4 -s ours
am skip reason: skipped by user smoreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: I98a5f9bb0bc2492e3e1138abbb297eaf3f48fd9c
|
|
am: 17aa765fd3 am: d666af6990 am: 62eaabc324 am: 8cec52154e -s ours
am skip reason: skipped by user smoreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: I7231522436c89fe75b0d96bd1c704545cef38bd9
|
|
d666af6990 am: 62eaabc324
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: I53b504bbb6299988939674ba2b21344569c0da6d
|
|
d666af6990 am: 62eaabc324
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163
Change-Id: Ie9e50a46e486fecafac61d66b79095687d671a3f
|
|
d666af6990
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346
Bug: 197336441
Change-Id: I703760ecbfa007d27caf76556ed21bbf0558df80
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346
Change-Id: I51d7e7341d8af4788dbc224b7ab22129c235aa52
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346
Change-Id: Ic08346b606933f364a2dbdad7a09c97b9ef059e7
|
|
Surface#destroy
SurfaceView clients may hold on to surface references. In S this means
they would extend the lifetime of the SurfaceControl resulting in
"leaking" buffers until the references are cleared or the app is
terminated.
Fix this by calling a new destroy function on Surface which will
explicitly remove references to the SurfaceControl and BBQ it holds.
This is safe because SurfaceView controls the lifecycle of the Surface
and knows when the Surface will become invalid. Once invalid, the Surface
cannot become valid again.
Test: repro steps in bug
Bug: 198133921
Change-Id: I88fe98fa275dd76e20a5403c24bd2cb3bee5346d
Merged-In: I88fe98fa275dd76e20a5403c24bd2cb3bee5346d
|
|
sc-qpr1-release
Change-Id: I1d42d6a947ff398fa2259f0098beca4bf43bb80e
|
|
Avoids the following deadlock...
Thread 1:
* BLASTBufferQueue::transactionCallback acquires
BLASTBufferQueue::mMutex
* BLASTBufferItemConsumer::updateFrameTimestamps waits to
acquire BLASTBufferItemConsumer::mMutex
Thread 2:
* BLASTBufferItemConsumer::onSidebandStreamChanged acquires
BLASTBufferItemConsumer::mMutex
* BLASTBufferQueue::setSidebandStream tries to acquire
BLASTBufferQueue::mMutex
Bug: 192998815
Test: Both CTS Media and Mediav2 (by partner)
Change-Id: I37523031841db3f1a29481bbfa76d6c028a6942e
|
|
|
|
into sc-qpr1-dev
|
|
This was limiting device uptime to ~1 month. Certainly, devices should
update more frequently, but that decision should not be because of
ubsan!
This is a partial copy of the change
Ifa00c32ee184795b03e16b39ac70ff41ebf00331 here.
Bug: 197336441
Test: TH
Merged-In: Ifa00c32ee184795b03e16b39ac70ff41ebf00331
Change-Id: Ib9f3e63e968ac77f0f6ea6447d586db588e9dbe4
|
|
SF might dispatch a DISPLAY_EVENT_MODE_CHANGE event before changing
the actual mode. This can happen when the mode change takes more than
a single refresh and caused by incorrectly checking the previously
reported event without checking for the current mode.
Bug: 194515308
Bug: 193945763
Test: SF unit tests
Change-Id: Icf44e0fb6aadb76e629cd408907389e2626d2047
Merged-In: Icf44e0fb6aadb76e629cd408907389e2626d2047
|
|
sc-qpr1-release
Change-Id: Ibfc8cbc9b293df924b21c55742577689e0db571f
|
|
|
|
Bug: 197790618
Test: atest CtsDeqpTestCases -- --module-arg CtsDeqpTestCases:include-filter:dEQP-VK.wsi.android.*
Change-Id: If3c086479dfc03af31f503216294eba4fba989de
|
|
sc-qpr1-release
Change-Id: I44701ef919ea6db1ddb9534752c337d2158dab6e
|
|
Remove support for ANGLE's libfeature_support_angle.so.
This also removes all of the logic related to checking the rules file,
since libfeature_support_angle.so is what parsed the JSON rules file.
Bug: b/187342779
Bug: b/184757175
Test: make and manual verification ANGLE is loaded
Change-Id: I3c52b07eb262f83f8e860584790ac058de58466a
Merged-In: I3c52b07eb262f83f8e860584790ac058de58466a
|
|
Partial cherry-pick of 15a0fc65eedb633f4fbf988e4a319452ddaebdcc
to fix seen in CTS
Bug: 196404992
Bug: 196191168
Test: atest CtsDisplayTestCases.android.display.cts.DisplayTest#testModeSwitchOnPrimaryDisplay
Change-Id: I9f8abac183bf6255fed4e2481d22aa3eb42b72ac
Merged-In: I694e2aa5b16e9b4e0f6d1e8263b1ac35099605fd
|
|
sc-qpr1-release
Change-Id: I0e573cd88499c04d618572700149d41f9401c056
|
|
am: 62d46ebc11 -s ours
am skip reason: Merged-In I2a2d02a0d7e67ee9577857a210cb6157683e5598 with SHA-1 52846cd871 is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15550161
Change-Id: I5af46ba65d1c26d1218b68068ef5710a6056e672
|
|
Bug: 169893837
Merged-In: I2a2d02a0d7e67ee9577857a210cb6157683e5598
Change-Id: I0c4b099b959d66900eebc2624c85e000a84e9c54
|
|
Bug: b/193034677, b/193034683, b/193033243
Test: go/wm-smoke, presubmit
Change-Id: Iece64fca254edfd0b82e05ad9629824b2364cc13
Merged-In: Iece64fca254edfd0b82e05ad9629824b2364cc13
|
|
Bug: 169893837
Merged-In: I2a2d02a0d7e67ee9577857a210cb6157683e5598
Change-Id: Iecdf0a17afe650483461978b42161940ce002101
|
|
sc-qpr1-release
Change-Id: I7553d002678684b484cf18e0b68ad46c99472b35
|
|
|
|
|
|
Fixes an issue where buffers were compared only using the buffer id.
In shared buffer mode, the client will queue up the same buffer id
multiple times so we need to distinguish using the frame number as
well.
Test: https://buganizer.corp.google.com/issues/195447981#comment18
Fixes: 195447981
Change-Id: I2a2d02a0d7e67ee9577857a210cb6157683e5598
|
|
With the current implementation we might mark layers as NoVote
incorrectly when a sibling has a frame rate.
Test: adb shell /data/nativetest64/libsurfaceflinger_unittest/libsurfaceflinger_unittest
Bug: 195205467
Change-Id: I62641f855a027e1192f9a85a4bc50692b1744764
|