NVIDIA Corporation
24
Frame Synchronization User’s Guide
– Version 3.0
C
HAPTER
3
Using the OpenGL Extensions
• 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.
Frame Counter
The implementation provides a universal counter, or frame counter, among all systems
that are locked together by swap groups/barriers. It is based on the internal
synchronization signal which triggers the buffer swap.
• To obtain the current frame count, call
().
• To reset the frame count back to zero, call,
().
In a system that has an NVIDIA frame-lock device installed and enabled,
ResetFrameCountNV()
succeeds only when the frame lock device is configured as a
Master device.
Enabling and Configuring Genlock
See the section
“OpenGL Extensions” on page 28
for detailed API descriptions of the
extensions referred to in this section.
Enabling Genlock
Each display that is intended to be part of a frame-lock network must be enabled.
• To enable, call
wglEnableGenlockI3D()
• To disable, call
wglDisableGenlockI3D()