Clean up use of frame_signal
frame_signal is emitted from the renderers themselves, immediately after they repaint. I cannot see any reason why the signal should not just be emitted from the core
weston_output_repaint() instead. Doing this would appear to have no effect on existing users.
The frame signal also passes the
weston_output as its data to the listeners. All current users can easily get the output anyway: their listener pointer lies in an output-specific structure, with many already using
container_of to get the output and ignoring the data. If we passed the repaint region as the data instead, this would mean we could eliminate the
output->previous_damage member completely.
The DRM backend's VA-API recorder also hooks into the frame signal, presumably as it's been cargo-culted from the screenshooter. There's no real reason it needs to do this, when it could just have a direct callback from
drm_output_repaint(). But this is more a matter of taste than the previous two, which I think are clearly good improvements.