backends/drm: don't commit buffers to KMS that aren't ready

Xaver Hugl requested to merge work/zamundaaa/buffer-readiness into master

When KWin commits a buffer to KMS that is still being rendered to, this delays the time the commit is applied at to the next vblank. This commit makes KWin delay the atomic commit to the next vblank itself, allowing it to update the commit (for example with a newer cursor position) while waiting for rendering to be completed, reducing the visual impact that a dropped frame has.

CCBUG: 452119

Merge request reports