diff options
| author | 2019-10-07 13:54:18 -0700 | |
|---|---|---|
| committer | 2019-10-28 15:08:15 -0700 | |
| commit | f7a09ed2b7f85378e3043b1ce21617fc0a2bde12 (patch) | |
| tree | ddaa3e77c62fef0c63193e3a610c1185caae7cfc /vulkan/libvulkan/api.cpp | |
| parent | b74b376735adb894eaff02d82fda0fd5aefb49d2 (diff) | |
SF: Optimize layer history in scheduler
Register layers with LayerHistory by storing a weak pointer rather than
allocating a LayerHandle. Query layer visibility when needed instead of
synchronizing it to LayerInfo whenever Layer::isVisible is called. Store
active/inactive layers in contiguous memory instead of two hash maps for
cache efficiency, and minimal allocation and run time of operations like
clearing history. Remove redundant ref-counting, locking, and frequency-
period conversion in LayerInfo. Avoid sleeping in unit tests.
This is also prework for per-display layer history.
Bug: 130554049
Bug: 134772048
Test: go/wm-smoke with debug.sf.layer_history_trace
Test: C2/F2 test cases from spreadsheet
Test: LayerHistoryTest with new test cases
Change-Id: Ibfcfe46cd76ebd93b916d4a0c737a19e837d4ff1
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
0 files changed, 0 insertions, 0 deletions