- Dec 28, 2023
-
-
Leon Scroggins III authored
Calculate presentation timing info (i.e. expected- and earliest- PresentTime) separately for each display, since they are generally not in sync. This allows SF to present each display at the proper time, using tools that are already in use for the pacesetter display. CompositionRefreshArgs: - Replace earliest- and expected- PresentTime with a map of FrameTargets which hold the times. Output: - Retrieve appropriate times from the relevant FrameTarget. - Note: Since HAL virtual displays do not have a FrameTarget, they now are provided with the default expected (0) and earliest (nullopt) -PresentTimes. This is fine, since these times are irrelevant for a virtual display. Previously, they simply used the pacesetter's times. - Trace the expected present time. Scheduler: - Compute the expectedPresentTime aka expectedVsyncTime for follower displays via the next VSYNC after the pacesetter's expectedPresentTime. TODO (b/256196556): The "followers" should follow the frontrunner, not the pacesetter. SurfaceFlinger: - Populate CompositionRefreshArgs' map of FrameTargets. For now, continue using the same scheduledFrameTime for all follower displays. This is only used as a deadline for determining whether to render a CachedSet. Adjusting it per follower would make us more likely to render more CachedSets per frame, and we need a more holistic approach for caching anyway. Bug: 255601557 Bug: 256196556 Bug: 259132483 Test: perfetto traces Change-Id: I2c27dc709afd1f33bddbf9c2ca1cd61dd335f66c
-
Leon Scroggins III authored
Split out from I2c27dc709afd1f33bddbf9c2ca1cd61dd335f66c. Store earliestPresentTime on the FrameTarget, like expectedPresentTime, so it can be stored per display. Add FrameTargeter::computeEarliestPresentTime. This calculation was previously done in SurfaceFlinger, using data mostly contained in the FrameTargeter. This will simplify computing this per display. Move computation of the earliestPresentTime to FrameTargeter::beginFrame. Add a scheduler::Feature to track whether ExpectedPresentTime is supported. Make previousFrameVsyncTime and wouldPresentEarly protected, now that they are only called by FrameTargeter (subclass) and tests. Make the test a friend of FrameTarget for accessing the above methods. Bug: 255601557 Bug: 256196556 Bug: 259132483 Test: atest libscheduler_test:FrameTargeterTest Test: atest libscheduler_test:FrameTargeterWithExpectedPresentSupportTest Change-Id: Ib927935de6ba2b7b8d5037b42eb635ae92019634
-
- Dec 27, 2023
-
-
Leon Scroggins III authored
This is part of the long term goal, tracked in b/241285191, of moving scheduling logic/state from SF to Scheduler. It also paves the way for a cleaner version of Ib927935de6ba2b7b8d5037b42eb635ae92019634. Bring RefreshRateStats along to Scheduler, since it is updated along with work that belongs in Scheduler. Mostly this is intended to not change behavior, but there are some exceptions: - the ordering of dumpsys SurfaceFlinger has changed, as some components are now internal to Scheduler, so they are dumped along with it. - two extra calls to update the RefreshRateStats along with updatePhaseConfiguration. The missing calls appear to be an oversight, and it's more natural to include the update in its new location. Move construction of VsyncModulator into Scheduler, since it is constructed from the VsyncConfiguration, now constructed in Scheduler. Add TestableScheduler.cpp, to prevent adding a circular dependency, now that the class's constructor references TestableSurfaceFlinger. Add Dumper::out for simplicity in updating dump calls. Bug: 241285191 Bug: 255601557 Bug: 256196556 Bug: 259132483 Test: libscheduler_test Test: libsurfaceflinger_unittest Change-Id: I01c93cfc3d2342cfbaaf8fe47dc2cd57d0e1fc43
-
- Dec 26, 2023
-
-
Leon Scroggins authored
-
Steven Moreland authored
-
- Dec 23, 2023
-
-
Yeabkal Wubshit authored
-
- Dec 22, 2023
-
-
Siarhei Vishniakou authored
When the dispatcher produces a synthetic HOVER_EXIT or ACTION_CANCEL, it relies on the InputState to get the correct coordinates of this event. That's because these events should use the same coordinates as the last dispatched HOVER_MOVE or ACTION_MOVE event, and this data is stored inside InputState. Before this CL, this logic was checked by "HoverIntoClone" test. When this test ran, the dispatcher produced scary messages, saying that it was canceling events because an inconsistent event was received. Another test that had these logs was StylusHoverAndDownNoInputChannel. This could also be easily reproduced by sending a HOVER_ENTER and then a HOVER_EXIT. The HOVER_EXIT event would get rejected, and the dispatcher would use InputState to generate its own. Now with this CL, these messages are gone because the dispatcher is querying for these coords proactively instead of using the cancellation mechanism of InputState. Bug: 317183325 Test: TEST=inputflinger_tests; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST --gtest_filter="*StylusHoverAndDownNoInputChannel" Change-Id: I44a2446171ab5d2368d7b7f8d806e45d5bb855c0
-
Vladimir Komsiyski authored
-
Pawan Wagh authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2889268 Change-Id: I7495ef6557f86a95cb482bf5a1099e2cd179fdc8 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Yeabkal Wubshit authored
In a follow up change, the source and action will be passed to a separate helper class that would handle input-based wake ups. Bug: 317432315 Test: build passes Change-Id: I6a3519c4e9465e212b204553585e976083deefd5
-
Pawan Wagh authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2889268 Change-Id: I34a3ae16345b8a2066bf9f6459b1faaaad496ba0 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Pawan Wagh authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2889268 Change-Id: Ib2eeec3faf27ab94664519d56096a72e7f1eda7a Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Pawan Wagh authored
-
Ram Indani authored
-
Steven Moreland authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2886987 Change-Id: I61aac1f496d3ec2fe9516c3fbbfc7307eae71993 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Steven Moreland authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2886987 Change-Id: I95b09f3710d2bdaa2fe530f74a8409d284c80380 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
- Dec 21, 2023
-
-
Steven Moreland authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2886987 Change-Id: I35be6237058d2818874cce207ee8ad8a57f4c5a4 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Pawan Wagh authored
Set AIDL fuzzers to run in presubmit by default. This also needs infra side configuration in order to run in presubmit. Test: m servicemanager_fuzzer Bug: 308007032 Change-Id: I819542a069946c944edae90523eb423aca078d8c
-
Ram Indani authored
-
Steven Moreland authored
-
ramindani authored
Only disables the hint for timeout. Test: tested with sys prop enabled and disabled adb shell setprop debug.sf.vrr_timeout_hint_enabled false adb shell setprop debug.sf.vrr_timeout_hint_enabled true BUG: 316615878 Change-Id: I678dfa018f7568bae96b82238e3466776e009ba6
-
Dominik Laskowski authored
This reverts commit aaab4c3b. Reason for revert: b/317378302 Change-Id: I516f52c41d27d9ea3eca969a3f786d2115521dac
-
Matt Buckley authored
-
Harry Cutts authored
-
Matt Buckley authored
Futureproof for possible memory-sharing schemes by ensuring variables are laid out the same way in platform and HAL Bug: 317367269 Test: atest PerformanceHintNativeTest Test: atest PerformanceHintManagerTest Change-Id: Id85f9cb84f4a2955c6e980fa9b608f847e9ef3b8
-
Treehugger Robot authored
-
Harry Cutts authored
This was done in change I482cce6d16ed6f947ce86e8453ddb2c9789d4d00. Bug: 259547750 Test: none Change-Id: I0ab2faf18b454aff6fef61886815d5c2054589f9
-
Harry Cutts authored
Since the data is pulled on a binder thread, there could be a synchronization issue here. Bug: 315939807 Test: atest 'android.input.cts.hostside.InputAtomsTest#testTouchpadUsageAtom_FingerAndPalmCounts' Change-Id: I780c9e87ef28a11e383f819d7fd0ecaeac26c5d1
-
Treehugger Robot authored
-
Harry Cutts authored
This makes the assertions a bit easier to read, avoiding the need to call args.pop_front between each one. Bug: 283812079 Test: atest inputflinger_tests:GestureConverterTest Change-Id: I1d2b58ad3de829b7115503d6037da033946c2871
-
Arpit Singh authored
Remove an unnecessary call to enableTapToClick from handleFling as it will be called from handleMove anyway. Bug: 301055381 Test: atest inputflinger_tests Change-Id: I412e35304c7bbbf4da2bb1b180e3a4ad41965d39
-
Steven Moreland authored
Know how the kernel is configured in bug reports. Bug: 317262099 Test: bugreport and verify contents, config.gz is ~43KB on cuttlefish Change-Id: I71e8cc8797e9cc4a0a75fe01dd38d1e8b866e3a8
-
- Dec 20, 2023
-
-
Ady Abraham authored
Merge "SF: fix redundant assignment operation." into main am: e0d0965b am: 38e63775 am: 07a6e895 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2877774 Change-Id: I6a7bb5db128188a38616f9ad10e4cbb205724553 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Ady Abraham authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2877774 Change-Id: Id9f8b434766ee8536630f53a7c8f708186f92ea5 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
ramindani authored
BUG: 294102485 Test: m && adb shell dumpsys SurfaceFlinger | grep -i "vrr" Change-Id: I2acdab1b509e49a589cbc7eddf0de18fd440f07c
-
Ady Abraham authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2877774 Change-Id: I2592c89e37c19d92c2748daee73551e699d45b3f Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Ady Abraham authored
-
Arpit Singh authored
* changes: Add delay before enabling tap while typing on physical keyboard Cancel ongoing touchpad move gesture if user starts typing
-
Arpit Singh authored
This reverts commit f8d9e440. Reason for revert: b/316593362 Test: atest inputflinger_tests Bug: b/316593362 Change-Id: Idfbf2091febba12c0e92a39bedb56b1058b85047
-
Arpit Singh authored
To improve touchpad palm rejection while typing, this change will add a delay before tap to click is enabled. This change add a delay to 400ms, this is based on internal testing within team, and may be updated after a cafe study with large audiance. Bug: 301055381 Test: atest inputflinger_tests Change-Id: Ie582b5932a8bbcdbf479d375a25e16a1c8318253
-