From 6fae16302bc984aba9dbcbc7c7901eae123438ad Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Fri, 10 Jan 2025 16:01:00 +0800 Subject: [PATCH] doc: Update the frame scheduling diagram to include SCHEDULED_LATER Although since all SCHEDULED* states basically have the same transitions it's easier to show them as a single state. The mermaid diagram also won't render correctly if there is a mix of combined and singular states. We must use either always combined states or always singular states. Fixes: 5b214dc2b7 ("clutter/frame-clock: Allow scheduling an update in the future") Part-of: --- doc/clutter-frame-scheduling.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/clutter-frame-scheduling.md b/doc/clutter-frame-scheduling.md index f6ac3cbc2..5d96ce7cf 100644 --- a/doc/clutter-frame-scheduling.md +++ b/doc/clutter-frame-scheduling.md @@ -4,11 +4,11 @@ ```mermaid stateDiagram - Init --> Scheduled/ScheduledNow : schedule update() -> now - Idle --> Scheduled/ScheduledNow : schedule update() -> given presentation time - Scheduled/ScheduledNow --> Dispatching : target time hit - Dispatching --> PendingPresented : queued page flip - Dispatching --> Idle : no queued page flip - PendingPresented --> Scheduled/ScheduledNow : page flipped, if recent schedule update - PendingPresented --> Idle : page flipped + INIT --> SCHEDULED* : first frame scheduled + IDLE --> SCHEDULED* : next frame scheduled + SCHEDULED* --> IDLE : frame clock inhibited or mode changed + SCHEDULED* --> SCHEDULED* : schedule upgraded to SCHEDULED_NOW + SCHEDULED* --> DISPATCHING : the update time has arrived + DISPATCHING --> PENDING_PRESENTED : the update has been handed to the backend + PENDING_PRESENTED --> IDLE : frame was either presented or aborted with nothing to draw ```