kms/impl-device: Track dispatch duration in crtc_frame_deadline_dispatch
And take it into account in meta_kms_crtc_get_deadline_evasion.
This uses the same fundamental approach as clutter frame clock scheduling:
Measure the deadline timer dispatch duration, keep track of the longest duration, and set the timer to fire such that the longest measured dispatch duration would result in it completing shortly before start of vblank.
Closes: #3612 (closed)
Edited by Michel Dänzer