Ambiguity in presentation time
When reviewing presentation time support in mutter, some pieces of the specification was a bit unclear.
- What counts as a "content update"?
The spec talks about content updates, and refers to wl_surface_commit
, but wl_surface_commit
can be used to commit state that isn't necessarily used to update any "content" (depending on the interpretation of this word). After some discussion with @pq, we concluded that each wl_surface_commit
should count as a "content update", even if it for all content related purposes was a no-op. The spec should be updated to clarify this.
- What "base" does the sequence number have?
Reading this part one gets the "feeling" that this sequence number is counted per output (wl_output), but at the same time the GLX extension is quoted as the source of meaning for MSC, which is very vague about whether MSC is per e.g. a Window, or output or something else. After talking to @daenzer about it, it seems to be the case that in the implementation of MSC in Xorg, the sequence number is counted per window, which would somewhat contradict the presentation time protocol text.
This mostly matters when the surface changes "main" wl_output
, i.e. whether MSC completely changes base, or if it continues to be incremental or whether the sequence doesn't necessarily increase when changing wl_output
.
Cc: @YaLTeR