emersion/libliftoff

Incremental updates

emersion opened this issue · 1 comments

Don't always start from scratch in hwc_display_apply. Instead, try to keep the
existing configuration if possible.

This requires tracking layer properties changes, and try to only apply the
changes without modifying the existing mapping.

We probably need some more involved tracking of properties:

  1. If only FB_ID changed, check the format/modifier is still the same (maybe skip that for now as we don't expect these to change for a single layer yet?)
  2. If only CRTC_{X,Y,W,H} changed, we can retry the same configuration if intersection with other layers hasn't changed
  3. If some other property changed, throw everything away and start from scratch

Eventually we can add support for more properties (e.g. retry the same plane alloc if only opacity changed).