summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | Increment when attempting to read protected Parcel DataMichael Wachenschwanz2018-06-111-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure to increment the parcel data position even when trying to improperly read from protected data Bug: 29833520 Test (M): cts-tradefed run cts -c android.os.cts.ParcelTest -m testBinderDataProtection Test (M): cts-tradefed run cts -c android.os.cts.ParcelTest -m testBinderDataProtectionIncrements Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest#testBinderDataProtection Test: cts-tradefed run cts -m CtsOsTestCases -t android.os.cts.ParcelTest#testBinderDataProtectionIncrements Change-Id: Ie4aae6277fc5f5c924f603d9828c3a608998b986 Merged-In: Ie4aae6277fc5f5c924f603d9828c3a608998b986 (cherry picked from commit 6a825e8ad1a3928dd872bb7c3fbcd94784d77267)
| | * | | Disallow reading object data from Parcels with non-object readsMichael Wachenschwanz2018-06-112-0/+75
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The check added to each non-object reads adds an overhead. If the objects (binders and file descriptors) were written to the Parcel in sequential order then check adds a small O(1) overhead to each read, plus an O(N) overhead to the first read (to verify the N objects were added in order). If the objects were written out of order (as in by jumping around the Parcel with setDataPosition and writing Binder, DON'T DO THIS!!) (writing non objects out of order is fine), the first read is forced to sort the objects in the internal bookkeeping. Based on the assumption non sequential writes are infrequent and overall Parcels are probably mostly sorted, insertion sort was used. Worst case sorts will add an O(N^2) overhead to the first non object read from the Parcel. Test: run cts -m CtsOsTestCases -t android.os.cts.ParcelTest Bug: 29833520 Change-Id: I82de8eb5f5eb56f869542d5358e96884c24301b2 (cherry picked from commit c517681c66a1a387be657e0cf06da8d19659dd14)
| * | | Merge cherrypicks of [3791347] into oc-m2-releaseandroid-build-team Robot2018-03-232-24/+49
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I0636ae858dcee435df462983595f1e3561fa7ca2
| | * | | Fix resampling for multiple pointersSiarhei Vishniakou2018-03-232-24/+49
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If more than one pointer is present and identical coordinates are encountered for any pointer, the lastResample value will not be invalidated (by clearing its bits). As a result, the same lastResample value will be used to subsequently rewriteMessage any time in the future. This can cause significant jumps in the pointer coordinates, and is a bug. To further clarify, this bug has only to do with resampling and nothing to do with both pointers having the same X or Y value. This CL makes this logic to be per-pointer. As soon as non-identical value is encountered and the timing conditions are such that the resampled value is not needed to be used, the lastResample bit for that pointer will be cleared, meaning that the value in lastResample for this pointer is stale. This value will no longer be used anywhere. When performing resampling, allow the process to happen on a per-pointer basis. If one of the pointers has encountered events with identical coordinates, then use the previously resampled value (do not resample again), if that value is still valid (see above). Otherwise, the normal resampling path will be taken. On the other pointers that do not have identical coordinates, go through the normal path as well. Bug: 68840121 Test: recorded a repro event with inputstudio and replayed it while observing the screen. Saw that the coordinates jump before the fix, and do not jump with the fix. Change-Id: If43c323759de8f0184b76221d1ae599a75349ce9 Merged-In: If43c323759de8f0184b76221d1ae599a75349ce9 (cherry picked from commit 3bb597138bc53416b3049caa48c618075ec24231)
| * | | Merge cherrypicks of [3775466, 3774310, 3774548, 3774358, 3774359, 3774360, ↵android-build-team Robot2018-03-211-1/+7
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | 3774361, 3774362, 3774363, 3775784, 3775785, 3775786, 3775787, 3775788, 3775789, 3774751, 3774549, 3774202, 3774203, 3774752] into oc-m2-release Change-Id: Iac89f88e62d9bf104afa3955634babe485c42d40
| | * | Add bounds check to sensors direct channel creationBrian Duddie2018-03-211-1/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids attempting to read a 0-size array during input validation. Adds SafetyNet logging when this is triggered. Also, change the cast for the ashmem size check from int to int64_t to avoid potential conversion to negative number on 32-bit systems. Bug: 70986337 Test: run POC, confirm via logs that function bails early Change-Id: I674285738983f18de3466f9e818d83dabe269b7d (cherry picked from commit 0eb4624b33aeb375ae431a6b1e2b787c959968fe)
* | | sensorservice: Register orientation sensor if HAL doesn't provide itArne Coucheron2018-05-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * In KitKat and on most Samsung devices, the orientation sensor is not getting registered, and makes the compass non-working in a lot of apps. This patch enables the sensor for such devices. Change-Id: I0ebba72ec4aa2cfa02c21a6daff0c356c6793fd0 (cherry picked from commit 98fa6f1152da759ef3eaf36cb16e0aaf2013376a) (cherry picked from commit 82c4726054919240972745bbcc85e0e27da40aa3)
* | | Merge tag 'android-8.1.0_r26' into lineage-15.1Dan Pasanen2018-05-081-1/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | Android 8.1.0 Release 26 (OPM2.171019.029.B1) Change-Id: I78d3afd72aaaa8f7a1d8f0b90fcc25cfeb6f2e39
| * \ \ Merge cherrypicks of [3898939, 3898962, 3899094, 3899255, 3897886, 3898497, ↵android-build-team Robot2018-04-133-25/+56
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | 3898940, 3898963, 3898964, 3897791, 3899159, 3899160, 3899161, 3899162, 3899163, 3899164, 3898293, 3898294, 3899275, 3899276, 3899201, 3896952, 3896953, 3899165, 3898965, 3898941, 3897887, 3898942, 3898943] into sparse-4657601-L00800000163320583 Change-Id: I4d42080ee5575a5957c1319cf01bc4e8cd7128e4
| | * | Fix resampling for multiple pointersSiarhei Vishniakou2018-04-132-24/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If more than one pointer is present and identical coordinates are encountered for any pointer, the lastResample value will not be invalidated (by clearing its bits). As a result, the same lastResample value will be used to subsequently rewriteMessage any time in the future. This can cause significant jumps in the pointer coordinates, and is a bug. To further clarify, this bug has only to do with resampling and nothing to do with both pointers having the same X or Y value. This CL makes this logic to be per-pointer. As soon as non-identical value is encountered and the timing conditions are such that the resampled value is not needed to be used, the lastResample bit for that pointer will be cleared, meaning that the value in lastResample for this pointer is stale. This value will no longer be used anywhere. When performing resampling, allow the process to happen on a per-pointer basis. If one of the pointers has encountered events with identical coordinates, then use the previously resampled value (do not resample again), if that value is still valid (see above). Otherwise, the normal resampling path will be taken. On the other pointers that do not have identical coordinates, go through the normal path as well. Bug: 68840121 Test: recorded a repro event with inputstudio and replayed it while observing the screen. Saw that the coordinates jump before the fix, and do not jump with the fix. Change-Id: If43c323759de8f0184b76221d1ae599a75349ce9 Merged-In: If43c323759de8f0184b76221d1ae599a75349ce9 (cherry picked from commit 3bb597138bc53416b3049caa48c618075ec24231)
| | * | Add bounds check to sensors direct channel creationBrian Duddie2018-04-131-1/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoids attempting to read a 0-size array during input validation. Adds SafetyNet logging when this is triggered. Also, change the cast for the ashmem size check from int to int64_t to avoid potential conversion to negative number on 32-bit systems. Bug: 70986337 Test: run POC, confirm via logs that function bails early Change-Id: I674285738983f18de3466f9e818d83dabe269b7d (cherry picked from commit 0eb4624b33aeb375ae431a6b1e2b787c959968fe)
| * | Snap for 4485699 from fe29ba7a9c86bf37b24f9dcf6e765978bc5a9dd0 to oc-m2-releaseandroid-build-team Robot2018-01-033-7/+41
| |\ \ | | | | | | | | | | | | Change-Id: Ia10521643f057e000f1e59febfd77668963597e2
| * \ \ Snap for 4417144 from f2b791587c15ec5028d0b266d415c631a4078916 to oc-m2-releaseandroid-build-team Robot2017-10-262-8/+35
| |\ \ \ | | | |/ | | |/| | | | | Change-Id: I6f114a47469ab69f46bf9d9b7c1429294bb80ec2
| * | | Snap for 4402310 from d8f66b08ea607fb6c4bcbb8a62a0a99f82d909f9 to oc-m2-releaseandroid-build-team Robot2017-10-1846-794/+2074
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I625ea121635c45f347aa3498eb7aa6c818e5a33f
| * \ \ \ Snap for 4384531 from 666e90ffc939a27db63bd7c031fe70ebc8676b73 to oc-m2-releaseandroid-build-team Robot2017-10-098-39/+95
| |\ \ \ \ | | | | | | | | | | | | | | | | | | Change-Id: I860ab87bb8fafc7accdc5600e52929f8df68f075
| * \ \ \ \ release-request-99856c15-b008-4977-9971-f86523a23c0a-for-git_oc-m2-release-4 ↵android-build-team Robot2017-09-291-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 367109 snap-temp-L18300000107415568 Change-Id: Iedb5b2ab04d4740b203022eb17cfe693dcfe6875
| * \ \ \ \ \ release-request-a84b3435-75fa-41e8-bd3c-ca0f4cbd5cc5-for-git_oc-m2-release-4 ↵android-build-team Robot2017-09-2126-403/+785
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 352002 snap-temp-L88700000105039240 Change-Id: I7b9499f10f42b6f860c54192535f3619a4618d1d
| * \ \ \ \ \ \ release-request-dabd8cf7-7af2-48e9-a296-ccc6a71cc25d-for-git_oc-m2-release-4 ↵android-build-team Robot2017-09-1211-227/+290
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 328410 snap-temp-L55300000101694322 Change-Id: I6e21ea9e17587a48761c45dd577452f0e4da8b39
* | | | | | | | | Triple the available egl function pointers available to a processAaron Kling2018-04-263-0/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for certain Nvidia devices. Change-Id: Id0141140c3b44af93fbd37aaf7810bb92e335111
* | | | | | | | | Handle glGetString returning NULLJesse Hall2018-04-241-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When two contexts are shared, and one is lost/reset, the other can be lost as well. A lost context can return NULL from glGetString. On the first eglMakeCurrent to a context, we fetch the extension list, and weren't checking for NULL, leading to a crash in the rare case where a context is lost and then another context sharing with it is made current for the first time. Bug: 64024627 Test: dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.shared_context_status.* Change-Id: Ib7e1b932490ec587df159e9e461c211d3dac35d4
* | | | | | | | | Fix resampling for multiple pointersSiarhei Vishniakou2018-04-052-24/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If more than one pointer is present and identical coordinates are encountered for any pointer, the lastResample value will not be invalidated (by clearing its bits). As a result, the same lastResample value will be used to subsequently rewriteMessage any time in the future. This can cause significant jumps in the pointer coordinates, and is a bug. To further clarify, this bug has only to do with resampling and nothing to do with both pointers having the same X or Y value. This CL makes this logic to be per-pointer. As soon as non-identical value is encountered and the timing conditions are such that the resampled value is not needed to be used, the lastResample bit for that pointer will be cleared, meaning that the value in lastResample for this pointer is stale. This value will no longer be used anywhere. When performing resampling, allow the process to happen on a per-pointer basis. If one of the pointers has encountered events with identical coordinates, then use the previously resampled value (do not resample again), if that value is still valid (see above). Otherwise, the normal resampling path will be taken. On the other pointers that do not have identical coordinates, go through the normal path as well. Bug: 68840121 Test: recorded a repro event with inputstudio and replayed it while observing the screen. Saw that the coordinates jump before the fix, and do not jump with the fix. Change-Id: If43c323759de8f0184b76221d1ae599a75349ce9 Merged-In: If43c323759de8f0184b76221d1ae599a75349ce9
* | | | | | | | | Fix broken input testsSiarhei Vishniakou2018-04-056-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InputPublisherAndConsumer_test currently segfaults due to null pointer dereference. This is because 0 is passed instead of a valid pointer to an allocated int32_t. Also, enforce strict compiler warnings, include signed comparisons. Bug: 62033391 Test: m -j libinput_tests_InputEvent_test libinput_tests_InputChannel_test libinput_tests_InputPublisherAndConsumer_test libinput_tests_InputTransport_test libinput_tests_VelocityTracker_test && adb push out/target/product/taimen/data/nativetest/libinput_tests/ /data/nativetest/ then run the above tests individually, for example /data/nativetest/libinput_tests # ./InputPublisherAndConsumer_test and others in a similar manner Change-Id: Ia030cdbfa22d2bf7bdf6274a337b059ca3f9a6c3 Merged-In: Ia030cdbfa22d2bf7bdf6274a337b059ca3f9a6c3
* | | | | | | | | Use -Werror in frameworks/native/libsChih-Hung Hsieh2018-04-055-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Suppress unused-variable and user-defined warnings. * Keep sign-compare warnings to fix later. Bug: 66996870 Test: build with WITH_TIDY=1 Change-Id: I6eee1532aa22c92ed19515ad5574734d1016d967
* | | | | | | | | InputDispatcher: On keypress, deliver keycode to pokeUserActivityCorinna Vinschen2018-03-072-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I8f64a6fa9b4b2e4520e25731f55e89f5087c70da Signed-off-by: Corinna Vinschen <xda@vinschen.de>
* | | | | | | | | PowerManager.h: Define USER_ACTIVITY_FLAG valuesCorinna Vinschen2018-03-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I90daada0d887008d56e84ce29b3f0b011a298698 Signed-off-by: Corinna Vinschen <xda@vinschen.de>
* | | | | | | | | SF: Fix hwrotation screenshots at surfaceflinger layerEthan Chen2018-02-283-12/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I63aa24345f419126f304ea973add1584dd60fa17
* | | | | | | | | AppOpsManager: Update with the new opsstaging/lineage-15.1Bruno Martins2018-02-011-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Includes new ops introduced in Oreo as well as ours Change-Id: I713bbdee1da9d142cf9671128fa05391fa38c48a
* | | | | | | | | Forward port 'Swap volume buttons' (2/3)nadlabak2018-01-132-8/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [mikeioannina]: Adjust for 5.0 changes [LuK1337]: Adjust for 8.1 changes Change-Id: I5ed4ae2b7e69e2ada067ed1d3524b3d3fad30e2e
* | | | | | | | | input: Adjust prioritySteve Kondik2018-01-047-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic0477225e9b0bb3eb4f2c71ab3b2620f56d947c7
* | | | | | | | | Merge tag 'android-8.1.0_r4' into lineage-15.1Dan Pasanen2018-01-033-7/+41
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android 8.1.0 Release 4 (OPM1.171019.013) # gpg: Signature made Tue Jan 2 18:42:18 2018 CST # gpg: using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78 # gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 4340 D135 70EF 945E 8381 0964 E8AD 3F81 9AB1 0E78
| * | | | | | | | Merge cherrypicks of [3276508, 3277765, 3277766, 3277904, 3276473, 3278009, ↵android-build-team Robot2017-11-283-7/+41
| |\ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3278010, 3277767, 3277768, 3277769, 3277770, 3276509, 3276510, 3278011, 3278012, 3278013, 3278014, 3278099, 3278100, 3278101, 3278102, 3278103, 3278104, 3278105, 3278106, 3277800, 3276474, 3278015, 3278016, 3278017, 3278118, 3278119, 3278120, 3278121, 3278122, 3277946, 3277905, 3277947, 3277906, 3277751, 3278123, 3277752, 3278110, 3277771, 3277907, 3278095, 3277908, 3278111, 3277772, 3276475, 3276476] into oc-mr1-release Change-Id: Ife900dfa51f88db5508d790a3db28251a7038f23
| | * | | | | | | surfaceflinger: make vsync injection more robustChia-I Wu2017-11-283-7/+41
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are more issues than I expected :) - no lock to synchronize enable/disable and injection - Every time injection is diabled and enabled, a new EventThread is created - mCallback might be nullptr - ENABLE_VSYNC_INJECTIONS/INJECT_VSYNC should require special permission - MessageQueue::setEventThread must be called from the main thread - MessageQueue::setEventThread does not handle EventThread switch well Bug: 65483324 Test: manual Merged-In: I7d7b98d1f57afc64af0f2065a9bc7c8ad004ca9f Change-Id: I7d7b98d1f57afc64af0f2065a9bc7c8ad004ca9f (cherry picked from commit 6200eacdc927776483d775562db11cce284cc7e0)
* | | | | | | | sf: Initialize DispSync in SurfaceFlinger_hwc1Marissa Wall2017-12-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SurfaceFlinger_hwc1 was not initializing DispSync. The hw vsyncs were not getting processed resulting in 1 frame per second. Fixes b/65484547. Test: Boot Hikey/Hikey960. Frame rate should be higher than 1 frame per second. Change-Id: I1a80be294488440abdf5f14ea3e1f3c9c773b21c
* | | | | | | | SF: Squashed hwrotation supportLuK13372017-12-055-10/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org> Date: Sat Nov 24 23:11:49 2012 +0000 surfaceflinger: Reimplement hwrotation Change-Id: Ia26bb36b5b6de132af49c272c4472ad2703afbda Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270 Change-Id: I7ad3c83e23ce38280818ec5283d173d50c889531 sf: Only apply hwrotation to primary displays Change-Id: Ib51030cec5ce7609f12be9a5e46310f75442b680 surfaceflinger: odd hw rotation (90/270) patch for swapping width/height This patch works in addition to the following commit re-implementing ro.sf.hwrotation: https://github.com/CyanogenMod/android_frameworks_native/commit/7d283431efffc4402cb1a6cacf5da64729c883bb When using values of 90 and 270 for ro.sf.hwrotation the LCD width and height also need to be swapped to display properly. Change-Id: I2874fdb8f8d8b855df6d62d338c9a22360491973 NOTE: This patch does not fix the initial startup of bootanimation surfaceflinger: hwc1: Fix hwrotation Change-Id: I1f8defb108ff944f07ac32e8b147d1d87e7089e0 Author: Christopher N. Hesse <raymanfx@gmail.com> Date: Thu Aug 10 00:10:37 2017 +0200 SF: Improve hwrotation handling Avoid getprop() calls in performance critical display code paths. Instead of querying the property each time we need it, we read it once during initialization and then reuse the cached value. This is more appropriate here because we do not expect the value to change at runtime. In fact, this property behaves like a compile time constant in the real world: Set it once and never again (because the angle of your panel is fixed and does not change after the device leaves the factory). Change-Id: I55c4131735a65c7bdde8b00c166913bffa6c4ec3 Change-Id: I9eb5728a11b08548af21edaeb4d3905ab4b3a833
* | | | | | | | native: Restore VM memory overridesDiogo Ferreira2017-12-056-0/+166
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds back the property overrides for several device types as we had in CM 11. It contains a squashed commit of the following: Author: Steve Kondik <shade@chemlab.org> Date: Sat Jan 4 12:12:00 2014 -0800 Update HWUI config for xxhdpi/2GB devices Author: Steve Kondik <shade@chemlab.org> Date: Tue Aug 6 02:53:19 2013 -0700 hwui: Update configuration for 2GB/1080p devices Author: Steve Kondik <shade@chemlab.org> Date: Sat Jun 1 14:51:17 2013 +0200 provide overrides for hwui memory limits for xxhdpi phones Author: Steve Kondik <shade@chemlab.org> Date: Fri May 17 13:10:19 2013 -0700 Add heap configuration for 1080p phones with 2048m * Increase heap start size to 16m to minimize GC with larger bitmaps Author: Andrew Bartholomew <andrewb03@gmail.com> Date: Thu Apr 25 13:48:21 2013 -0400 build/phone-xhdpi-1024-dalvik-heap.mk Revert AOSP heapgrowthlimit change from 64 to 96 This reverts part of AOSP change at https://android.googlesource.com/platform/frameworks/native/+/c84e9844d621223d14178be521 Possible performance issues have arisen because of it. Discussion at http://code.google.com/p/android/issues/detail?id=40961 Author: Bhargav Upperla <bhargavuln@codeaurora.org> Date: Thu May 23 12:50:15 2013 -0700 Configure dalvik heap parameters for low memory devices Reduces after boot memory footprint by about 5-8MB Note: This is for low memory based devices only (~512MB RAM or less) Author: bmc08gt <brandon.mcansh@gmail.com> Date: Fri, 20 Mar 2015 15:14:07 +0100 Add HWUI overrides for xxxhdpi phone Change-Id: I4393ef0a5f6f1e9775b5d40b094da3f74ed3ae35 Signed-off-by: bmc08gt <brandon.mcansh@gmail.com> Author: bmc08gt <brandon.mcansh@gmail.com> Date: Fri, 20 Mar 2015 15:19:19 +0100 Add dalvik heap override for xxxhdpi phone Change-Id: Ib2649f55327775bbd4d94012952b4301536391ed Signed-off-by: bmc08gt <brandon.mcansh@gmail.com> Author: Louis Popi <theh2o64@gmail.com> Date: Wed, 11 May 2016 22:48:52 +0200 Add dalvik heap/hwui overrides for xxhdpi phone with 3072MB RAM Change-Id: I0ebf2033341e8f09004c1e2dec5f4438aa52e5dc Change-Id: Id7e1967d18227359ad9631139bfd47e61e494829
* | | | | | | Merge cherrypicks of [3122088, 3121430, 3119129, 3119130, 3119131, 3120667] ↵android-build-team Robot2017-10-252-8/+35
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | into oc-mr1-release Change-Id: If407b5d78299ba0be9410de4546042986fd65758
| * | | | | | Add new color settingRomain Guy2017-10-252-8/+35
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | | | | | Snap for 4391495 from 331d79d26b237a6ebf4284dd99c79b0fe5ab55df to oc-mr1-releaseandroid-build-team Robot2017-10-122-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Change-Id: Ia1a538a97249d77b25b1f1568df514547c0bcd5f
| * | | | | | Add missing transitive dependency to pdx_tool.Corey Tabaka2017-10-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 65455724 Test: make -j30 Change-Id: I03a22e10d92ea53bb2e1631e4203a186e42fa265
| * | | | | | Revert "Revert PDX tracing."Corey Tabaka2017-10-112-25/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 05cd77c494aa7042fca7978e1b934855598b765e. Bug: 65455724 Test: make -j30 Change-Id: Id531101cc35b661f02291eed0c044e96f5a91a12
| * | | | | | Add missing transitive dependency to atrace.Corey Tabaka2017-10-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the proper fix for the revert in ag/3048738. Bug: 65455724 Test: lunch full-eng && make -j30 Change-Id: I88d37fca2d1f71a46595dd74b5fd6749fa4b477d
| * | | | | | Revert PDX tracing.Michael Wright2017-10-112-86/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This broke full-eng / docs / m_e_arm-eng builds. Test: lunch full-eng && m-j8 Change-Id: I79b0176738e4de35cca25e9618e64aa2bd4c4316
* | | | | | | Snap for 4388906 from 52ea25cf06cef250ec73052611b48556b3fce4d5 to oc-mr1-releaseandroid-build-team Robot2017-10-1144-794/+2072
|\| | | | | | | |_|_|_|_|/ |/| | | | | | | | | | | Change-Id: I8be8e1ad05e7445a5c03a3f6009b5e1e30171a59
| * | | | | Add shared memory based buffer metadataCorey Tabaka2017-10-1044-794/+2072
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Snap for 4378450 from 35b5114be8da71c69fc8a1ff8fb457c912c0992f to oc-mr1-releaseandroid-build-team Robot2017-10-051-1/+7
|\| | | | | | | | | | | | | | | | | | | | | | | Change-Id: I93cf952e3df19205d63b3d3bd4fccc22cd262432
| * | | | | Solve the composer service NULL pointer crashRandy Xu2017-10-031-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Snap for 4373604 from 8c6462c8c48022a4a77ab8ed218551880d2bbab9 to oc-mr1-releaseandroid-build-team Robot2017-10-031-5/+3
|\| | | | | | | | | | | | | | | | | | | | | | | Change-Id: Iabc1c91c428511b1f337ef6e548dc69df13ebb02
| * | | | | Merge "Limit Display-P3 surface formats to 8888" into oc-mr1-devCourtney Goeltzenleuchter2017-10-021-5/+3
| |\ \ \ \ \
| | * | | | | Limit Display-P3 surface formats to 8888Courtney Goeltzenleuchter2017-09-281-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | release-request-53526352-7b51-4ab1-a661-632ffc55dd7c-for-git_oc-mr1-release- ↵android-build-team Robot2017-10-026-33/+85
|\| | | | | | | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 4371241 snap-temp-L10900000107789672 Change-Id: I4a64d37aab8dde4ad6abc1bc37a2477683696a39