Back to the OpenGL extension cross reference

WGL_I3D_swap_frame_lock


Name


    WGL_I3D_swap_frame_lock

Name Strings


    WGL_I3D_swap_frame_lock

Version


    Date: 9/23/1999   Revision: 1.2

Number


    254

Dependencies


    WGL_EXT_extensions_string is required.
WGL_EXT_swap_control affects this extension.

Overview


    This extension allows an application to synchronize color buffer swaps
across multiple systems. Applications that run simultaneously on
multiple systems can use this extension to synchronize the buffer swap
across each of these systems.

The mechanism used to implement synchronization of multiple displays
depends on an external sync signal. This resource can only be used by a
single application at a time.

Each system running the application must have frame lock enabled in
order for their system to participate in the frame lock. If frame
lock for a system is not enabled, that system will have no affect on
other systems.

For each of the systems to swap at the correct position, it is
required that all of the systems genlock together. Genlock is
controlled through the Video Applet.

The frame lock extension can also be used in conjunction with the swap
control extension to control the swap rate. The interval rate of the
"master" system (i.e., the system at the start of the cabled systems)
controls the swap rate.

An implementation-dependent timeout is set when a swap is requested.
If the timeout expires before all systems are ready to swap, the swap
will occur. The prevents a system hang if the cable becomes
disconnected or an application hangs.

New Procedures and Functions


    BOOL wglEnableFrameLockI3D(VOID)

BOOL wglDisableFrameLockI3D(VOID)

BOOL wglIsEnabledFrameLockI3D(BOOL *pFlag)

BOOL wglQueryFrameLockMasterI3D(BOOL *pFlag)

New Tokens


    None

Additions to Chapter 2 of the 1.2 GL Specification (OpenGL Operation)


    None

Additions to Chapter 3 of the 1.2 GL Specification (Rasterization)


    None

Additions to Chapter 4 of the 1.2 GL Specification (Per-Fragment Operations and the Framebuffer)


    None

Additions to Chapter 5 of the 1.2 GL Specification (Special Functions)


    None

Additions to Chapter 6 of the 1.2 GL Specification (State and State Requests)


    None

Additions to the WGL Specification


    wglEnableFrameLockI3D enables synchronization of buffer swaps to all
systems that are connected through the external sync cable and have
enabled frame lock. A value of TRUE is returned if the hardware
supports frame lock and the resource is currently available. A value
of FALSE is returned if the hardware cannot support frame lock or the
resource is in use.

Frame lock can be disabled with wglDisableFrameLockI3D. If frame
lock is disabled for a system, that system has no affect on other
systems that are synchronized to the external sync cable.

The current state of the frame lock enable can be obtained with
wglIsEnabledFrameLockI3D.

The "master" system controls the behavior of swap for all systems
that have frame lock enabled. wglQueryFrameLockMaster can be used
to determine if a system is the "master" system. The swap behavior
of the master system depends on the setting of the swap interval
using the WGL_EXT_swap_control extension.

The "master" system is forced to be synchronized to at least one
vertical blank if the swap interval is 0 or the Video Applet
setting for synchronizing to vertical blank is not set.

Dependencies on WGL_EXT_extensions_string


    Because there is no way to extend wgl, these calls are defined in
the ICD and can be called by obtaining the address with
wglGetProcAddress. Because this extension is a WGL extension, it
is not included in the GL_EXTENSIONS string. Its existence can be
determined with the WGL_EXT_extensions_string extension.

Errors


    If the function succeeds, the return value is TRUE. If the function
fails, the return value is FALSE. To get extended error information,
call GetLastError.

ERROR_DC_NOT_FOUND An RC was not current to the calling
thread; therefore, no DC could be
obtained.

ERROR_BUSY The resource used for obtaining usage
was currently in use by another
application.

New State


    None

New Implementation Dependent State


    None

Implementation Support


   List of OpenGL implementations supporting the WGL_I3D_swap_frame_lock extension

Original File


   Original text file for the WGL_I3D_swap_frame_lock extension


Page generated on Sun Nov 20 18:40:41 2005