[client] x11: recover stalled present cadence

Reseed the synthetic Present target window when compositor MSC advances
outside the queued range. This prevents a long compositor stall from
permanently exhausting JIT cadence callbacks.

Mark the recovery sample as discontinuous so calibration does not treat the
MSC jump or completion burst as renderer skipping.
This commit is contained in:
Geoffrey McRae
2026-08-06 17:06:14 +10:00
parent a0b7b12ffc
commit 988675e53a
2 changed files with 41 additions and 19 deletions

View File

@@ -78,6 +78,7 @@ struct X11DSState
_Atomic(uint64_t) presentMsc, presentUst;
_Atomic(uint64_t) presentPeriod;
_Atomic(uint64_t) nominalPeriod;
_Atomic(bool) presentDiscontinuity;
uint32_t presentSerial;
Pixmap presentPixmap;
XserverRegion presentRegion;