summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RegionSamplingThread.cpp
diff options
context:
space:
mode:
author Dominik Laskowski <domlaskowski@google.com> 2023-06-13 17:31:04 -0400
committer Dominik Laskowski <domlaskowski@google.com> 2023-06-20 12:00:27 -0400
commitb418dd735bb3b68d3f6aa912fd67f0c4f2b01ab8 (patch)
tree247fb48f330b4d3ab9420511232d8f587d4f8cff /services/surfaceflinger/RegionSamplingThread.cpp
parent56c69744f3239a7eec84834cf8aaa8b8426f1c59 (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 'services/surfaceflinger/RegionSamplingThread.cpp')
0 files changed, 0 insertions, 0 deletions