diff options
| author | 2021-06-09 17:32:26 -0700 | |
|---|---|---|
| committer | 2021-06-10 16:57:24 -0700 | |
| commit | 96ca45c4b168e1463e9b1e4d0bb2e2fda35f7edb (patch) | |
| tree | 5584aff39aa49f7f9fe16c553100d19c264d6ba5 /vulkan/libvulkan/api.cpp | |
| parent | cda04d4f37869ee98caa9df3c865c98e3e4c8ca4 (diff) | |
Don't send override buffer down to HWC if the layer would be skipped
Consider a set of five cached layers. Because ComposerResources' caches
are scoped per-layer and does not globally track buffers, the override
buffer for each layer needs to be re-imported, and a previous override
buffer needs to be freed, if the new override buffer changed between
frames. This causes a lot of churn in validate(), up to double CPU time
in the hot path.
Instead, we shouldn't override the buffer if a layer would be skipped.
In the aforementioned example, this would cause 1 buffers-worth of chrun
when importing, rather than 5.
Bug: 190654391
Test: Perfetto trace
Change-Id: I907b0c4c340fd99a0023429a8ad740ecc9208815
Diffstat (limited to 'vulkan/libvulkan/api.cpp')
0 files changed, 0 insertions, 0 deletions