wl_surface.frame interactions with sub-surfaces
The protocol says:
The frame request will take effect on the next wl_surface.commit.
How does this interact with cached state? How should a compositor react when a client requests a frame callback and commits a sub-surface sync'ed with its parent, without committing its parent?
- Should the frame callback be completed the next time it's a good time to draw for the client, or
- Should the frame callback be cached until the client commits the parent surface?
Note: this also has interactions with wayland-protocols!26