When the viewport changes we need to invalidate the whole surface actor independently of the buffer damage.
This is necessary to allow clients to implement e.g. scrolling and scaling without buffer damage. Strictly speaking we would need to do the same if the scale or transform changes, but these are less likely to change during the lifetime of a buffer.
Fixes #749 (closed)
This can be tested with the demo client from https://gitlab.freedesktop.org/wayland/weston/merge_requests/259
A good showcase here is a comparison under heavy load:
weston-simple-viewport-scrolling --use-sw-fallback --scale=13 vs
weston-simple-viewport-scrolling --scale=13, which somewhat approximates a fullscreen 4k client.