- Oct 31, 2023
-
-
Incorrectly dropped event because of pending overdue app switch when the App switch key event has arrived. https://issuetracker.google.com/u/1/issues/255902047 Change-Id: If6dd28a8793fe6f06b6100f2cc44eafa07c0f085 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Some vendors purposely disable brightness capability even though the HWC completely supports it, in order to leverage their custom brightness implementations. One such example of this is in stock HWC of some xiaomi devices. Since light HAL offers lesser granual control than HWC (since its in gamma space and not float), and since it would be rather difficult to patch the blob to return the right capabilities, allow forcing the usage of HWC brightness functions via a prop: ro.sf.force_hwc_brightness=1 (default 0). Change-Id: I7d2fef03afbbb936572c717f769f30c9e49213e0 Signed-off-by:
Adithya R <gh0strider.2k18.reborn@gmail.com> Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
- Oct 21, 2023
-
-
Reset validateWasSkipped variable in the PostCommit phase of draw cycle with Skip Validate. CRs-Fixed: 3035058 Change-Id: I85348dd0c80bd1258ac630b000bd694b34af6e12 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
CRs-Fixed: 3215802 Change-Id: I92613a41a0cb9da2ad44e8a2ac803a5533ea6495 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
- Oct 14, 2023
-
-
Layer dataspace is initialized as unknown by default, unless overriden by the buffer source. We don't require expensive rendering for color conversion when the dataspace is unknown. Change-Id: I079c520f63a65c77ba3162664656e607eafff991 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
- Oct 13, 2023
-
-
Author: Bruno Martins <bgcngm@gmail.com> Date: Wed Oct 14 23:45:14 2020 +0100 Edit: Adapt to new lineage soong config Change-Id: Ic0f314f4053628667a921951f610839f36a5079c Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Change-Id: Iecd2be3eb8775855d82763f069a38bb70fe53d4e CRs-Fixed: 3229968 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Currently, the properties are used as follows: 1. debug.sf.enable_hwc_vds - allows IDs to be generated for VDs 2. vendor.display.vds_allow_hwc - allows WFD to use HWC path With this change, HWC path is enabled for WFD with only the vendor property set. All other virtual displays require both of the properties enabled. Change-Id: Iab2c8d15d2c1cf24be0d371af8892c346634507f CRs-Fixed: 3204941 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
* These changes are part of CAF AOSP merge commits Change-Id: I390f874347d259fca4429c19711be6c85b104090 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Allow HWC based virtual display only for wifi display CRs-Fixed: 2984439 Change-Id: Ifbb094a2a0101171b475bd5a60660a3599dce5ff Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Bug: 169788930 Change-Id: Ic50f5675d0cd48f84fb9ff14221355741dc52129 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
1. SurfaceFlinger: Fix virtual display related issues. 1) Validate output buffer usage bit appropriately Validate output buffer usage bit only against GRALLOC_USAGE_HW_COMPOSER to differentiate GLES only conposition and HWC/MIXED composition. 2) Exclude video encoder usage for scratch buffer Sink and Scratch buffers in VDS are using same usage flags. This causes video encoder flag to be set for scratch buffers Also. Exclude video encoder flag from scratch buffer usage flags as scratch buffers are used only as write back input and not video encoder input. 2. sf: Allow VDS to use HWC -- Preserve VDS layer pixel format based on GRALLOC flags. -- skip color layer for vds 3. sf: Add secure content support for VDS 4. sf: Enable GPU comp. for non-primary displays Ensure that "Return status" of dequeueBuffer() complies with API requirements. Client relies on this status to call requestBuffer() upon reallocation. 5. sf: Enable UBWC on virtual display scratch buffer Set GRALLOC_USAGE_HW_FB usage flag on virtual display Scratch buffer to enable UBWC. Change-Id: Ia49a175372ca187a295531e18f8e84dc22a19486 CRs-Fixed: 2656027 Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
Taken from CLO (QSSI 13). Some Qualcomm devices can still benefit from disabling backpressure propagation by setting: debug.sf.disable_backpressure=1 [adi8900]: Adapted to Android U Change-Id: I2346a1b314666706e1299b295f13b2cef6e00b4d Signed-off-by:
adi8900 <adrianszymanski242@gmail.com> Signed-off-by:
Simão Gomes Viana <devel@superboring.dev>
-
- Oct 12, 2023
-
-
The FOD layers should be always composed by the device to set the custom zpos bits to the kernel. By default all layers are set to device composition and the proprietary libsdmextension.so moves some to client composition. Unfortunately that also affects the Udfps touched layer. After this commit the layer below the Udfps touched layer is forced to be client composition. For unknown reasons libsdmextension will not change the Udfps touched layer to client composition anymore. tests: - Run 'adb shell dumpsys SurfaceFlinger' and ensure that the Udfps touched layer is composed by the device - Ensure that the Udfps touched layer correctly sets the zpos bits on the kernel while / after using WFD Signed-off-by:
daniml3 <danimoral1001@gmail.com> Signed-off-by:
Arian <arian.kulmer@web.de> Change-Id: I8aeb98d18557ad4e971eaba74700ceb3058273ab
-
* Supports changed z Udfps order * Supports changed Udfps usage bits TheScarastic: Adapt to extension lib and support 12 BiometricPrompt ArianK16a: Adapt layer name to UdfpsControllerOverlay for Android 13 and only compare the prefix. Drop the BufferQueueLayer change because it seems unnecessary. Co-authored-by:
TheScarastic <warabhishek@gmail.com> Change-Id: Id95aa73e06b4223a6b4f05c69fa2fc494f9a97b1
-
- Aug 30, 2023
-
-
Patrick Williams authored
This change improves the performance of the WindowInfosListenerInvoker work done on SurfaceFlinger's background executor thread. The primary optimization made is not sending a WindowInfosReportedListener with every call to WindowInfosListener.onWindowInfosChanged. Instead, we send a new interface, WindowInfosPublisher, and a unique listener id to listeners when they're added. Listeners call WindowInfosPublisher.ackWindowInfosReceived with their id after processing each update. From traces taken during development, the new code is a major improvement, taking about 15% of the time spent previously on SurfaceFlinger's background thread for sending window infos. Performance with this change seems roughly in line with the performance in T. Bug: 290377931 Test: atest WindowInfosListenerTest Test: atest WindowInfosListenerInvokerTest Test: manually killing system server and checking valid state on restart (cherry picked from commit acd2258a) (cherry picked from commit e8a7ab25) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:82f3463d449eb13e28c5dbffeee16e10721c71d2) Merged-In: Ib39ba935727df0bc1ab4030bcfe8301de7e64805 Change-Id: Ib39ba935727df0bc1ab4030bcfe8301de7e64805
-
- Aug 22, 2023
-
-
sergiuferentz authored
This adds a unit test and fix for the bug reported by libfuzzer. Changes made: * Expose GPUService as testable code. * Update main_gpuservice.cpp to use the new GpuService now located at gpuservice/GpuService.h * Make initializer threads members of GpuService * Join the threads in destructor to prevent heap-use-after-free. * Add unit test that waits 3 seconds after deallocation to ensure no wrong access is made. Bug: 282919145 Test: Added unit test and ran on device with ASAN (cherry picked from commit 3c00cbc0) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a8186037a730699b53e49de7241280c7532e5fc4) Merged-In: I4d1d2d4658b575bf2c8f425f91f68f03114ad029 Change-Id: I4d1d2d4658b575bf2c8f425f91f68f03114ad029
-
- Aug 05, 2023
-
-
Daniel Norman authored
LOG(FATAL) crashes the device, which is very severe for the user. The accessibility hover event stream has consistency issues that we are actively fixing, but these fixes have not yet had time to soak. Instead of cherrypicking the fix, instead we can demote the severity of the log so that errors do not crash the device. Bug: 286037469 Test: atest InputDispatcherTest#InvalidA11yHoverStreamDoesNotCrash Test: Use talkback, repeatedly enter touch exploration while also tapping with another finger. Eventually observe the failure message which is now an ERROR instead of crashing the device with a FATAL. (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:2f99cdb9150461c6b77c29b31cbf5792a9303c95) Merged-In: Iceea086345691cdad8ca5e092629de094d666de1 Change-Id: Iceea086345691cdad8ca5e092629de094d666de1
-
- Jun 24, 2023
-
-
Brian Lindahl authored
Some HAL implementations can't support setLayerBuffer multiple times to clear the per-layer buffer caches. Therefore, default this behavior to disabled, and allow HALs to explcitily enable this behavior to obtain the necessary memory savings. Test: play videos with both true and false on both HIDL and AIDL Bug: 285561686 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f70d9c4528888134e16003470b76dd1e81b8631d) Merged-In: I928cef25e35cfc5337db4ceb8581bf5926b4fbe3 Change-Id: I928cef25e35cfc5337db4ceb8581bf5926b4fbe3
-
- Jun 19, 2023
-
-
Harry Cutts authored
Uncaptured touchpads (with DeviceMode::POINTER) still on the old stack (i.e. the Sony DualShock 4 touchpad) were having touches ignored if they started at coordinates that would be outside of the bounds of the touchscreen. Since touchpads use relative motions and don't directly relate raw touch locations to screen locations, this was incorrect, and caused touches to be ignored with certain screen/touchpad dimension and orientation combinations. Bug: 280396539 Test: connect Sony DualShock 4 by USB, rotate screen to portrait, check touches starting in all areas of the pad are turned into pointer movements Test: atest inputflinger_tests Change-Id: I9a92ba79246ee8fc25418c2e248ae2c3839a0d58
-
- Jun 15, 2023
-
-
John Reck authored
Cap the max amount of HDR headroom beyond which the layer is clipped. This avoids over-dimming the SDR content range in the resulting SDR screenshot Test: screenshot of silkfx Bug: 286942637 Change-Id: I67df32d9c192da18df516972ed92e9bd64063186
-
- Jun 12, 2023
-
-
Vladimir Komsiyski authored
SensorService::threadLoop() "continues" if there are no real sensor events, which skips the handling of runtime sensor events. Fix: 281452823 Test: m Change-Id: I0fe9fe9a7baa19ce9c8cb32d36e736ac83d2fe52
-
- May 31, 2023
-
-
Matt Buckley authored
Currently, SF is using the wrong vsync value when calculating the target for ADPF, causing it to send a binder every frame instead of every vsync change. This patch fixes that to reduce the binder frequency from SF, and also adds a debug option to disable reportActual to reduce the amount of binders even more in certain cases. Bug: 284357218 Test: manual Change-Id: I8435b170016c5af8219d8ed8cc9ed65a0a2cb0e7
-
- May 25, 2023
-
-
Siarhei Vishniakou authored
Revert submission 23316821 Reason for revert: breaks touch on some devices b/284203485 Reverted changes: /q/submissionid:23316821 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c96ed759fb428c7b982c921611e5da05040e3cea) Merged-In: Id957e51b53e48b874302b24b612554f3024aa87b Change-Id: Id957e51b53e48b874302b24b612554f3024aa87b
-
Siarhei Vishniakou authored
Revert submission 23316821 Reason for revert: breaks touch on some devices b/284203485 Reverted changes: /q/submissionid:23316821 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:342e1dd013c4c5f51a15222d5b112fb14583a636) Merged-In: Ic4537a645d710a900d6a3b9328bd6489baedbb1d Change-Id: Ic4537a645d710a900d6a3b9328bd6489baedbb1d
-
Patrick Williams authored
We're not aware of any condition that would lead this to happen. This check is to help provide information in case we see future input windows syncronization issues. Bug: 279792237 Test: presubmits Change-Id: I9bdcf34c71c1a741f863feb0881cd09122c7bfb2
-
Siarhei Vishniakou authored
Revert submission 23316821 Reason for revert: breaks touch on some devices b/284203485 Reverted changes: /q/submissionid:23316821 Change-Id: Id957e51b53e48b874302b24b612554f3024aa87b
-
Siarhei Vishniakou authored
Revert submission 23316821 Reason for revert: breaks touch on some devices b/284203485 Reverted changes: /q/submissionid:23316821 Change-Id: Ic4537a645d710a900d6a3b9328bd6489baedbb1d
-
- May 24, 2023
-
-
Patrick Williams authored
This change fixes a bug where WindowInfosListenerInvoker's active message count is incremented for messages when there are no listeners. In this case, onWindowInfosReported is never called, leading to out-of-sync window infos once listeners are added back. This scenario may occur if system server dies. Bug: 279792237 Test: WindowInfosListenerInvokerTest, manual tested by killing system server Merged-In: If62f7cc56b48570f633e8e640006f020b053ea6f Change-Id: I521dad46a763d0380807ba20b9a4ec9dcecf6bfc
-
Siarhei Vishniakou authored
This test will provide RawEvent's to TouchpadInputMapper and will look at the returned events. The main purpose of this CL is to document the existing behaviour of CursorInputMapper and TouchpadInputMapper. The tests highlights that today, dispatcher must handle the case where the touch starts without HOVER_EXIT. That means that the dispatcher logs of "conflicting pointer actions" can be mostly ignored. The goal was to make the tests for the two mappers as similar to each other as possible. A slightly different testing infra is introduced here compared to the one used in InputReader_test. Changes: * Use mocks for interfaces instead of constructed objects This helps figure out which parts are important to mock for a specific test vs which ones are not. When a function is called with a parameters that the mocks aren't expecting, a warning is printed during test run. This helps identify the complete state needed in order for the test to execute. * No longer require InstrumentedInputReader * No longer require a listener. We only check the events that are coming from the 'process' call, which is what the interface for the mapper does. Limitations: * Still require an InputDevice object to be constructed in order to test InputMappers. Ideally, a mapper would only depend on the EventHub state (to read the current value of keys / axes after a reset). Bug: 263319225 Test: m inputflinger_tests && $ANDROID_HOST_OUT/nativetest64/inputflinger_tests/inputflinger_tests --gtest_filter="*HoverAndLeftButtonPress*" Change-Id: I7de0dee7abcf6bcb9d3283e29d9a85de2f331a44
-
chaviw authored
Instead of using the displayId sent from WMS, it's better to use the layerStack since it more accurately represents where the layer is presented. Previously, the only case where WMS needed to set a displayId different from layerStack was when using portal displays, which is no longer supported. This also fixes the case with cloned layers. If a cloned layer was placed on a different display than the main layer, the WindowInfo for the clone would end up having the same display as the main window since the properties were directly copied over. With this fix, the cloned layer's WindowInfo will get the correct layerStack that represents where it's actually rendered. Test: MediaProjection capture with mirror Bug: 195280234 Bug: 194480991 Change-Id: Id1794798a543260c9868ccdc1be3cdb574b73dd5 Merged-In: Id1794798a543260c9868ccdc1be3cdb574b73dd5 (cherry picked from commit 6eada62e)
-
Arpit Singh authored
This reverts commit 0987fd88. Test: m checkinput && atest libinput_tests inputflinger_tests Bug: 256009910 Change-Id: I452b8292a5a797f21707f56ee01765650db99b94
-
Arpit Singh authored
Configure the Device prior to populating mappers for mappers to receive correct property map Test: m checkinput && atest libinput_tests inputflinger_tests Bug: 256009910 Change-Id: I2a348029afa6c566506f1d79b655173bb8e7a8af
-
- May 23, 2023
-
-
Patrick Williams authored
This partially reverts a change that triggered a performance regression in InputFlinger. Bug: 281227113 Bug: 281248006 Test: presubmits Change-Id: Ia7bd668e3cab8a353b33f4fce4f98b6e57186b86
-
- May 22, 2023
-
-
Vishnu Nair authored
Screenshots can be taken for a partial hierarchy and may require some of the layers to be temporarily reparented and their geometry to be updated. Sceenshots use a copy of the layer snapshots and another instance of the composition engine to render the contents to a buffer. There was an issue where the snapshots were updated before they were copied and if the screenshot was taken during a period where there were no visible region changes (and no reason to rebuild the snapshots) we would pass invalid snapshot data when compositing to the display. With legacy frontend, its harder to split the screenshot path and the display composition path, so as a fix, update the snapshots after screenshots are taken. Bug: 282884552 Test: instrumented load to verify snapshots are updated correctly Test: repro steps in bug Change-Id: Ie778b02b57c5b1ddf0f09afe82675e04c5535ee5
-
- May 20, 2023
-
-
Alec Mouri authored
Some tests force sRGB screenshots for consistent test output. Make sure that output colorspace is still respected. Bug: 283305205 Test: SurfaceFlinger_test Change-Id: I42ffe36022fa65568bcd75df28a33389340a7d7f
-
- May 19, 2023
-
-
Dominik Laskowski authored
Partially revert Ib114ffc1866aa32e6d493e06dcf5a27652d19a39. PowerAdvisor needs the present fence of the previous frame, as the query happens after presenting the current frame so should not be adjusted for targeting 2 VSYNCs ahead. Fixes: 283189729 Test: Perfetto Change-Id: Ifbd6aa961bc92fe1d2f4de1247413fcd49330645
-
Patrick Williams authored
This change allows BackgroundExecutor to receive callbacks from multiple producers. Bug: 283133164 Test: BackgroundExecutorTest Change-Id: I63f3266184a2ae90b15d7d1b7d9502847e268763
-
- May 18, 2023
-
-
Arpit Singh authored
Add a factory method for KeyboardInputMapper to be configured on initilisation Test: m checkinput && atest libinput_tests inputflinger_tests Bug: 256009910 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:67ca684ad1e5d6286bdbae568ee0fc97be40d3c1) Merged-In: Iceb8676542de85309c208af93ee7cc385e46a067 Change-Id: Iceb8676542de85309c208af93ee7cc385e46a067
-