summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-24Merge cherrypicks of [16177015] into sc-qpr1-release.android-12.0.0_r28android-12.0.0_r26android12-qpr1-releaseAndroid Build Coastguard Worker
Change-Id: I12fce45b356d85b8c101dae8b8bed9ec84554da5
2021-11-24avoid extra release of unowned objects in Parcel error pathSteven Moreland
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
2021-09-25Snap for 7766788 from 41b552872df5a10a996340b0faa13ccceedb5f14 to ↵android-12.0.0_r16Android Build Coastguard Worker
sc-qpr1-release Change-Id: I455c04d2481b0f4e87d43ae0f677b43b3b525e4f
2021-09-24Merge "Repeat proxy limit callbacks if we keep going above the limit." into ↵TreeHugger Robot
sc-qpr1-dev
2021-09-24Repeat proxy limit callbacks if we keep going above the limit.Martijn Coenen
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
2021-09-24Snap for 7761456 from f192a1085a4ea16458a8cc569e945bf090375733 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I0959ad258365958fbda2e9ec409d434598033a72
2021-09-20Use sequence numbers to synchronize enabling Pointer Capture (1/2)Prabir Pradhan
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
2021-09-16Snap for 7736530 from 4095348d8f6d5472289eecebe03ecd667684c247 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: Iac257cecc0a453e5789e82474071375699064cca
2021-09-15Merge "getProcessFreezeInfo reads more info from kernel" into sc-qpr1-devLi Li
2021-09-11Snap for 7723257 from 81274cba0f038554c7ce58421676042df6c8de10 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: Id558b28e153826f77c2ec48cb09ee2a37a6a9aaa
2021-09-10getProcessFreezeInfo reads more info from kernelLi Li
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
2021-09-10Merge "Add support for latching unsignaled buffers in Skia RenderEngine." ↵Derek Sollenberger
into sc-qpr1-dev
2021-09-10Snap for 7718904 from f8fc9cf0ee6e2d25de52387c4e6eed8b87358923 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I881e91c19dc81641732a10355072e951cb48d117
2021-09-09[automerger skipped] Surface: Release references to BlastBufferQueue and ↵Vishnu Nair
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
2021-09-09Add support for latching unsignaled buffers in Skia RenderEngine.Alec Mouri
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)
2021-09-09Snap for 7714994 from 5bcc5bd9d27d24815f5b7a3d047af828863cf7e0 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: Ic7f5bfa7d57ec0563d84227e77d0dadc1eca1efe
2021-09-08Surface: Release references to BlastBufferQueue and SurfaceControl on ↵Vishnu Nair
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
2021-09-08Merge "Surface: Release references to BlastBufferQueue and SurfaceControl on ↵Vishnu Nair
Surface#destroy" into sc-qpr1-dev
2021-09-07[automerger skipped] libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b ↵Steven Moreland
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
2021-09-07[automerger skipped] libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b ↵Steven Moreland
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
2021-09-07[automerger skipped] libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b ↵Steven Moreland
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
2021-09-07[automerger skipped] libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b ↵Steven Moreland
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
2021-09-07libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b am: 17aa765fd3 am: ↵Steven Moreland
d666af6990 am: 62eaabc324 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163 Change-Id: I53b504bbb6299988939674ba2b21344569c0da6d
2021-09-07libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b am: 17aa765fd3 am: ↵Steven Moreland
d666af6990 am: 62eaabc324 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15759163 Change-Id: Ie9e50a46e486fecafac61d66b79095687d671a3f
2021-09-03libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b am: 17aa765fd3 am: ↵Steven Moreland
d666af6990 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346 Bug: 197336441 Change-Id: I703760ecbfa007d27caf76556ed21bbf0558df80
2021-09-03libbinder: uptimeMillis returns int64_t! am: 3ba4963f5b am: 17aa765fd3Steven Moreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346 Change-Id: I51d7e7341d8af4788dbc224b7ab22129c235aa52
2021-09-03libbinder: uptimeMillis returns int64_t! am: 3ba4963f5bSteven Moreland
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15720346 Change-Id: Ic08346b606933f364a2dbdad7a09c97b9ef059e7
2021-09-03Surface: Release references to BlastBufferQueue and SurfaceControl on ↵Vishnu Nair
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
2021-09-01Snap for 7692139 from 5c8b18c90806307939fd44c57855621ab004af8a to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I1d42d6a947ff398fa2259f0098beca4bf43bb80e
2021-08-31Use a separate mutex for BLASTBufferQueue in BLASTBufferItemConsumerAlec Mouri
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
2021-08-31Merge "SF: fix a bug with DISPLAY_EVENT_MODE_CHANGE" into sc-qpr1-devAdy Abraham
2021-08-31Merge "swapchain: always return a signle image for shared presentation mode" ↵TreeHugger Robot
into sc-qpr1-dev
2021-08-30libbinder: uptimeMillis returns int64_t!Steven Moreland
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
2021-08-30SF: fix a bug with DISPLAY_EVENT_MODE_CHANGEAdy Abraham
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
2021-08-28Snap for 7682397 from ae01ea5aea14a038488bb76c4f0bbcb65d1d43ac to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: Ibfc8cbc9b293df924b21c55742577689e0db571f
2021-08-27Merge "Remove support: libfeature_support_angle.so" into sc-qpr1-devTreeHugger Robot
2021-08-26swapchain: always return a signle image for shared presentation modeAdy Abraham
Bug: 197790618 Test: atest CtsDeqpTestCases -- --module-arg CtsDeqpTestCases:include-filter:dEQP-VK.wsi.android.* Change-Id: If3c086479dfc03af31f503216294eba4fba989de
2021-08-25Snap for 7671179 from 3819b9fe0b052b29af2bd86d2be907023c6df7f9 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I44701ef919ea6db1ddb9534752c337d2158dab6e
2021-08-24Remove support: libfeature_support_angle.soTim Van Patten
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
2021-08-24SF: Tune RefreshRateConfigs for close refresh ratesAdy Abraham
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
2021-08-14Snap for 7641961 from 32ca6e8190d0a3cc8d86d3f05a9e5d0dca143279 to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I0e573cd88499c04d618572700149d41f9401c056
2021-08-13[automerger skipped] Merge stage-aosp-sc-ts-dev before making it an upstream ↵Xin Li
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
2021-08-13Merge stage-aosp-sc-ts-dev before making it an upstreamXin Li
Bug: 169893837 Merged-In: I2a2d02a0d7e67ee9577857a210cb6157683e5598 Change-Id: I0c4b099b959d66900eebc2624c85e000a84e9c54
2021-08-13SurfaceFlinger: Safely cast from IBinder to Layer::HandleVishnu Nair
Bug: b/193034677, b/193034683, b/193033243 Test: go/wm-smoke, presubmit Change-Id: Iece64fca254edfd0b82e05ad9629824b2364cc13 Merged-In: Iece64fca254edfd0b82e05ad9629824b2364cc13
2021-08-12Merge ab/7633965The Android Open Source Project
Bug: 169893837 Merged-In: I2a2d02a0d7e67ee9577857a210cb6157683e5598 Change-Id: Iecdf0a17afe650483461978b42161940ce002101
2021-08-11Snap for 7629638 from 810d19378edc7bbd87d738d96c4bb49ed45b3d0c to ↵Android Build Coastguard Worker
sc-qpr1-release Change-Id: I7553d002678684b484cf18e0b68ad46c99472b35
2021-08-06Merge "Blast: Fix missing release callbacks for shared buffers" into sc-devandroid12-devVishnu Nair
2021-08-06Merge "SF: fix frame rate for layer tree" into sc-devAdy Abraham
2021-08-05Blast: Fix missing release callbacks for shared buffersVishnu Nair
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
2021-08-05SF: fix frame rate for layer treeAdy Abraham
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