Skip to content

backend-drm: Fix visibility calculation

Derek Foreman requested to merge derekf/weston:damaged_damage into main

Between assign_planes() and pnode_update_late(), the pnode's plane may not yet be up to date. This leads to the visible region being incorrectly calculated for paint nodes beneath a paint node that changes planes. Their visible regions will still contain a cut out for the node that no longer occludes them.

However, we place damage on nodes beneath a node that changes planes in order to redraw the region beneath a node that moves from the primary to non-primary plane.

The gl-renderer clips to a paint node's visible region when rendering it, so this accidental cut-out masks away all the damage and leaves us with a mess.

Fix this by using the correct plane in the visibility calculation.

Fixes #821 (closed)

Signed-off-by: Derek Foreman derek.foreman@collabora.com

Merge request reports