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) {
|
wl_list_for_each(node, &view->paint_node_list, view_link) {
|
||||||
assert(node->surface == view->surface);
|
assert(node->surface == view->surface);
|
||||||
|
node->status |= PAINT_NODE_VIEW_DIRTY;
|
||||||
|
|
||||||
node->status |= PAINT_NODE_VIEW_DIRTY |
|
/* We currently only place single surfaces on non-primary
|
||||||
PAINT_NODE_VISIBILITY_DIRTY;
|
* 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