1
0
Fork 0
android_external_drm_hwcomp.../backend
Andrew Wolfers 2a0a4114a2 drm_hwcomposer: Prevent cursor layer from being client composited
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
2025-07-14 13:21:30 +00:00
..
Backend.cpp drm_hwcomposer: Prevent cursor layer from being client composited 2025-07-14 13:21:30 +00:00
Backend.h drm_hwcomposer: Fix pixops calculations 2025-07-09 16:55:40 +00:00
BackendClient.cpp drm_hwcomposer: Remove HWC2 CompositionType 2025-05-05 14:52:56 -06:00
BackendClient.h drm_hwcomposer: Clean up Backend interface 2025-04-17 15:07:00 +00:00
BackendManager.cpp drm_hwcomposer: Move GetBackendOverride to Properties 2025-06-12 01:51:29 +00:00
BackendManager.h drm_hwcomposer: Clean up Backend interface 2025-04-17 15:07:00 +00:00