- Mar 20, 2024
-
-
Melody Hsu authored
Buffers can only be released when a release fence fires. Instead of tracking and waiting for each layer's Futures to complete, LayerFE can keep track of its own Future via a promise of a fence. This cleans up the shared futures that are currently being tracked and allow us to setup for eventual goals to reduce the number of screenshot calls to the main thread. Tests using a virtual display are modified to use the mirrorDisplay API with a unique layerstack. Bug: b/294936197, b/285553970 Test: manual (screenshot, camera, rotation, picture-in-picture) Test: presubmit Test: atest CompositionEnginePostCompositionTest Test: atest SurfaceFlinger_test Change-Id: I3a0af2cd02d3d010a1ea7c860c5cb0bc20837ec2
-
Treehugger Robot authored
-
Rachel Lee authored
* changes: Add MRR guard logic to SF scheduler Add MRR guarding flag frame_rate_category_mrr
-
Xiang Wang authored
-
Chavi Weingarten authored
-
Patrick Williams authored
-
Nolan Scobie authored
Similarly to Ia65306cc825b71fe0b89c7f8545ce1c71a81d86b, this will allow for a Graphite-specific variant of SkiaVkRenderEngine. waitFence and flushAndSubmit are kept on the *RenderEngine classes (as opposed to the recently added SkiaGpuContext abstraction) because they are specific to the intersection of both <Skia backend> x <GPU API>, with 3 variants. Their logic is also RE-specific, and not suitable for a Skia abstraction. Misc. cleanup: - Remove SkiaVkRenderEngine's flush() and mBackendContext declarations as they were undefined and unnecessary. - Mark some local variables as const. - Pass named constant to GrDirectContext::wait in GaneshVkRenderEngine::waitFence Test: manual validation & existing tests (refactor) Bug: b/293371537 Change-Id: I695a0554b20ca14cf475aeff1b92c4445c1af55b
-
Prabir Pradhan authored
Merge changes from topics "android-input-event-data-source", "input-trace-get-package-uid" into main * changes: InputTracer: Adjust traced event sensitivity based on allow-list InputTracer: Distinguish sensitive events InputTracer: Track inbound events InputTracer: Read trace configuration from perfetto
-
Chavi Weingarten authored
Test: Builds Bug: 330375394 Change-Id: I54a51e3f78d5c44067369d3fce3a61fd18a4157b
-
Dominik Laskowski authored
[automerger skipped] Merge "SF: Match followers' refresh rate to pacesetter's" into 24D1-dev am: 419db573 -s ours am skip reason: Merged-In Ie1b27e81d860a709c85651f068fedb2b496861de with SHA-1 9e88d62f is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/26635668 Change-Id: I9ec7a6285fd7953040ba573b26eccdf92fbf5974 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Dominik Laskowski authored
am skip reason: Merged-In Ie1b27e81d860a709c85651f068fedb2b496861de with SHA-1 9e88d62f is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/26635668 Change-Id: I7eb98f2ceb134c2ee407fce070a94d9d9a207a0c Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Dominik Laskowski authored
-
Treehugger Robot authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3001677 Change-Id: Iafc79576c0aefd8ed2d3ac0382d02097fbd08b0c Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Treehugger Robot authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3001677 Change-Id: I30720c7fcc7fcbe98d782c2bdfb9eefcc05de33d Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Treehugger Robot authored
-
Treehugger Robot authored
am skip reason: Merged-In I3261c7f2245fcb64c3e79bb3dcb21f1b0e44a395 with SHA-1 af854add is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/26633536 Change-Id: Ia51c6402e4e05a83f5c77760c91fd4244efaa3f4 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Ying Wei authored
am skip reason: Merged-In I3261c7f2245fcb64c3e79bb3dcb21f1b0e44a395 with SHA-1 af854add is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/26633536 Change-Id: Ib04bf828ee610956d6200837ea800710de9b718d Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Devin Moore authored
am skip reason: Merged-In I4bc27098f09213564e4ec39036783b1a853a11b3 with SHA-1 eb653ee3 is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/26633847 Change-Id: I4510fcfe468e326e504bdaedc109f657141049ff Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Treehugger Robot authored
-
Justin Yun authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2995998 Change-Id: I576e48d60586b7ffcb7ee57f9d58eab3368a9855 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Justin Yun authored
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2995998 Change-Id: I724dad189f6c1706e69dd2d5da509ff52b365858 Signed-off-by:
Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-
Justin Yun authored
-
- Mar 19, 2024
-
-
Prabir Pradhan authored
-
Treehugger Robot authored
-
Xiang Wang authored
Bug: 284324521 Test: atest FlagManagerTest Change-Id: Iaa137969d00aa5cfd50b3c647cdd836e09b9d63e
-
Patrick Williams authored
Bug: 324890339 Test: SurfaceFlinger_test Change-Id: I6b49f3dfc3d66dd7d5e66f99b9947245fc708bc0
-
Rachel Lee authored
Uses a flag to guard the new dVRR scheduler features from MRR devices. This is to easily allow development on dVRR devices and MRR devices separately. Bug: 330224639 Test: atest libsurfaceflinger_unittest Test: atest CtsSurfaceControlTestsStaging Test: dumpsys and observe no category or GTE Change-Id: I8be520b5630c1a8fbde5f0fb2265e803e46983a8
-
Dominik Laskowski authored
Multi-display refresh rate selection was flawed: The scheduler runs the refresh rate selection algorithm for each display, and then filters the candidate modes of each follower to match the pacesetter's refresh rate. This means that: 1. The followers incorrectly consider refresh rates that don't match the pacesetter. Because the DM-specified constraint is [59, 61] Hz, some situations caused selection of a fractional rate (e.g. 59.94) instead of 60 on certain external displays. The result would be black screens for several seconds due to mode sets if the selection was not stable. 2. The followers incorrectly evaluate heuristics that should only affect the pacesetter, e.g. per-surface votes, global signals. Fix this by teaching RefreshRateSelector about follower displays. Foldables also benefit from no longer running the algorithm twice. Fixes: 324188430 Bug: 329111930 Test: No black screen for 4 seconds upon rotating mirrored YouTube. Test: 60+60 still works on foldables. Test: RefreshRateSelectorTest.pacesetterConsidered Change-Id: Ie1b27e81d860a709c85651f068fedb2b496861de Merged-In: Ie1b27e81d860a709c85651f068fedb2b496861de
-
Vishnu Nair authored
Fixes: 329247258 Test: presubmit Change-Id: I680207e5ed7e4c7cd9fba9b502b3caeffa415c55
-
Zimuzo Ezeozue authored
-
Treehugger Robot authored
-
Dominik Laskowski authored
-
Rachel Lee authored
This flag will guard new dVRR scheduler features from MRR devices. Bug: 330224639 Test: presubmit Change-Id: Ib180f5fb800de19758362d80d0d3e280d5cf378d
-
Prabir Pradhan authored
An allow-list of packages will be defined in the perfetto config for input traces. We can only allow an event to traced completely (i.e. treated as a non-sensitive event) if _all_ of the UIDs that the event is targeting are allow-listed for the trace. In each trace instace, we maintain a cache of whether UIDs seen so far are allow-listed. Since the allow-list is specified through a list of package names, we must query PackageManager through the InputDispatcher policy to look up the packages that correspond to each UID that we see. Bug: 210460522 Test: manual with perfetto Change-Id: I9c19a5ed941ebc239dccc0363cc6553733e16afd
-
Prabir Pradhan authored
InputThread stops when its destructor is called. Initialize it last in ThreadedBackend so that it is the first thing to be destructed. This will guarantee the thread will not access other members that have already been destructed. Bug: 330211703 Change-Id: Ia50585d8276fe87d40d5528b3eb9480a64ea9854 Test: None
-
Nolan Scobie authored
This means AutoBackendTexture is not aware of backend-specific texture type and API details, and will be able to accept either a Ganesh or Graphite variant of SkiaBackendTexture. Also delegated SkiaBackendTexture creation to SkiaGpuContext, so that backend-specific contexts handle creating backend-specifc textures. Test: manual validation (GL+VK) & existing tests (refactor) Bug: b/293371537 Change-Id: Ia65306cc825b71fe0b89c7f8545ce1c71a81d86b
-
Devin Moore authored
Test: lunch aosp_cf_x86_64_only_phone-next-userdebug Test: VtsHalWifiSupplicantStaNetworkTargetTest Bug: 328328863 (cherry picked from https://android-review.googlesource.com/q/commit:eb653ee3aeaebc02c3439655673b135d397ecdec) Merged-In: I4bc27098f09213564e4ec39036783b1a853a11b3 Change-Id: I4bc27098f09213564e4ec39036783b1a853a11b3
-
Zimuzo Ezeozue authored
83483148 Change-Id: I9e37dbb1e6396a8456c57df68932c96dc289d804 Bug: 330172681
-
Ying Wei authored
When SF fps doesn't match vsync rate (either due to vrr or frame rate override), the frame interval calculation in Scheduler should take this into account. Bug: 328352850 Test: atest CtsSurfaceControlTests Test: atest libsurfaceflinger_unittest Test: atest FrameRateOverrideTest Change-Id: I3261c7f2245fcb64c3e79bb3dcb21f1b0e44a395 (cherry picked from commit af854add) Merged-In: I3261c7f2245fcb64c3e79bb3dcb21f1b0e44a395
-
Dominik Laskowski authored
Multi-display refresh rate selection was flawed: The scheduler runs the refresh rate selection algorithm for each display, and then filters the candidate modes of each follower to match the pacesetter's refresh rate. This means that: 1. The followers incorrectly consider refresh rates that don't match the pacesetter. Because the DM-specified constraint is [59, 61] Hz, some situations caused selection of a fractional rate (e.g. 59.94) instead of 60 on certain external displays. The result would be black screens for several seconds due to mode sets if the selection was not stable. 2. The followers incorrectly evaluate heuristics that should only affect the pacesetter, e.g. per-surface votes, global signals. Fix this by teaching RefreshRateSelector about follower displays. Foldables also benefit from no longer running the algorithm twice. Fixes: 324188430 Bug: 329111930 Test: No black screen for 4 seconds upon rotating mirrored YouTube. Test: 60+60 still works on foldables. Test: RefreshRateSelectorTest.pacesetterConsidered Change-Id: Ie1b27e81d860a709c85651f068fedb2b496861de
-