When the number of requested layers exceeds the available planes, Backend::GetExtraClientRange chooses which layers to demote to client (GPU) composition. The existing implementation prioritizes minimizing the number of pixel operations which will be sent to the GPU. Since the cursor layer tends to be one of the smaller layers, it is often chosen. However, the cursor layer is generally a poor choice for client composition because its position frequently changes, causing the scene geometry to refresh. This change updates the extended client range determination logic to exclude the cursor layer from consideration. Note: this behavior only applies to the cursor when it is being device composited. When the cursor is being composited to the HW cursor plane, it isn't competing for the same pool of planes, so it was already a non-issue in that case. Change-Id: I5cc2ac0f4ac2329c923b5c5060b78e80c32503f7 |
||
|---|---|---|
| .. | ||
| Backend.cpp | ||
| Backend.h | ||
| BackendClient.cpp | ||
| BackendClient.h | ||
| BackendManager.cpp | ||
| BackendManager.h | ||