Clean up use of frame_signal
Currently 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.