diff options
| author | 2023-10-04 10:58:28 -0400 | |
|---|---|---|
| committer | 2023-10-06 11:29:01 -0400 | |
| commit | 50e2e4d5f75fb481b729ef05808008adad7de10a (patch) | |
| tree | 5124e6f47f5c738feccb4047315f569aba86a615 /libs/gui/BufferQueue.cpp | |
| parent | cc89e85f3aa9225d977d3f78197307ec2f6f47e1 (diff) | |
SF: Fix freezing after follower display mode set
When a mode set is initiated for any display, SF skips committing until
HWC confirms the mode set by signaling the corresponding present fence.
However, if a concurrent follower display misses a frame (i.e. does not
signal the fence) as its mode is set, SF::commit skips endlessly, since
the Scheduler only checked for missed frames on followers after commit.
Fix this by having all displays FrameTargeter::beginFrame before commit.
Fixes: 301082260
Test: Mode set on external display does not sporadically freeze SF.
Test: SchedulerTest.onFrameSignalMultipleDisplays
Change-Id: Ic97f33975f6d30279cc65cefe5d7ccc2561c45aa
Diffstat (limited to 'libs/gui/BufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions