Using the OpenGL Extensions
Buffer Swap Criteria
The criteria for buffer swaps involves when a window is ready to swap and when a group is ready to swap.
Window Buffer Swaps
Any rendering surface that is not a
The window itself must be ready, meaning:
A buffer swap command has been issued for it.
Its swap interval has elapsed.
If the window belongs to a group, all the windows in the group must be ready.
If the window belongs to a group and that group is bound to a barrier, all groups bound to that barrier must be ready.
Group and Barrier Buffer Swaps
Buffer swaps for all windows in a swap group take place concurrently and buffer swaps for all groups using a barrier take place concurrently. For barrier swaps, the vertical retraces of the screens of all the groups must also be synchronized, otherwise there is no guarantee of concurrency between groups.
An implementation may support a limited number of swap groups and barriers and may have restrictions on where the users of a barrier can reside.
For example, an implementation may allow the users to reside on different display devices or even hosts. An implementation may return zero for any of maxGroups and maxBarriers returned by QueryMaxSwapGroupsNV if swap groups or barriers are not available in that implementation or on that host.
57