diff options
| author | 2023-06-13 17:31:04 -0400 | |
|---|---|---|
| committer | 2023-06-20 12:00:27 -0400 | |
| commit | b418dd735bb3b68d3f6aa912fd67f0c4f2b01ab8 (patch) | |
| tree | 247fb48f330b4d3ab9420511232d8f587d4f8cff /libs/ultrahdr/jpegencoderhelper.cpp | |
| parent | 56c69744f3239a7eec84834cf8aaa8b8426f1c59 (diff) | |
Reland "SF: Encapsulate frame targeting"
Introduce FrameTargeter to isolate a display's per-frame metrics around
past/upcoming deadline targets. The Scheduler updates the FrameTargeter
on frame begin/end, whereas ICompositor (concretely SurfaceFlinger) has
read-only access via the FrameTarget interface.
For now, only instantiate the pacesetter's FrameTargeter.
The reverted Idf9f43b37f3479c94a478d154eaa46f43e0c6c9d had an incorrect
functional change that adjusted `earliestPresentTime` based on the past
VSYNC, which differs from the previous frame's VSYNC when targeting two
VSYNCs ahead. This CL restores the `earliestPresentTime` to be relative
to the previous frame.
Bug: 262269033
Bug: 241285475
Bug: 241285191
Test: Perfetto
Test: dumpsys SurfaceFlinger --scheduler
Test: atest libscheduler_test:FrameTargeterTest
Test: systemui-bubble-1-jank-suite on raven-userdebug
Change-Id: I584e299e8af55baae1125f45fd47b13f705a268c
Diffstat (limited to 'libs/ultrahdr/jpegencoderhelper.cpp')
0 files changed, 0 insertions, 0 deletions