libweston: Don't set VISIBILITY_DIRTY on non-primary planes
VISIBILITY_DIRTY is used to apply damage to the plane, but that doesn't make sense for non-primary planes. For example, we don't want moving the cursor to result in damage being registered on the cursor plane. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
This commit is contained in:
parent
79212ba9ad
commit
0def955a48
@ -119,9 +119,18 @@ weston_view_dirty_paint_nodes(struct weston_view *view)
|
||||
|
||||
wl_list_for_each(node, &view->paint_node_list, view_link) {
|
||||
assert(node->surface == view->surface);
|
||||
node->status |= PAINT_NODE_VIEW_DIRTY;
|
||||
|
||||
node->status |= PAINT_NODE_VIEW_DIRTY |
|
||||
PAINT_NODE_VISIBILITY_DIRTY;
|
||||
/* We currently only place single surfaces on non-primary
|
||||
* planes, and those planes are positioned within the
|
||||
* scene graph based on geometry.
|
||||
*
|
||||
* That means we don't have to propagate damage to the
|
||||
* plane for visibility changes, so don't set that
|
||||
* bit here.
|
||||
*/
|
||||
if (node->plane == &node->output->primary_plane)
|
||||
node->status |= PAINT_NODE_VISIBILITY_DIRTY;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user