Behavior of successive frame requests without damage
Consider the following example with a single, visible surface:
- wl_surface.frame
- wl_surface.frame
- wl_surface.commit
It is not clear to me if the two frame requests should be signaled at the same time or if they should be signaled with at least one presentation between them.
Consider the following example:
- wl_surface.attach
- wl_surface.damage
- wl_surface.commit
- presentation
- wl_surface.frame
- wl_surface.commit
Since the previous damage was already presented, I reason that any time after the frame
request is "a good time to draw and commit the next frame of animation". Therefore I would expect the compositor to signal the frame request immediately without waiting for an additional presentation of the surface.
If your answer is NO, the compositor should wait for the next presentation, how should the compositor trigger presentation in this case? It does not have a damage area at that point and the surface might span multiple outputs.
Let's extend the previous example:
- wl_surface.attach
- wl_surface.damage
- wl_surface.commit
- presentation
- wl_surface.frame
- wl_surface.commit
- wl_surface.frame
- wl_surface.commit
(The last two lines are new.)
If your answer to the previous example was that, YES, the compositor should send done
immediately, should the compositor ALSO send done
immediately for the second frame request?
If your answer was, NO, the compositor should wait for the next presentation, should those two frame requests be signaled at the same time or with a presentation between them?