Back to the OpenGL extension cross reference

GLX_SGIX_swap_group


Name


    SGIX_swap_group

Name Strings


    GLX_SGIX_swap_group

Version


    $Date: 1996/07/22 06:28:45 $ $Revision: 1.9 $

Number


    91

Dependencies


    SGIX_swap_control affects the definition of this extension

Overview


    This extension provides the capability to synchronize the buffer swaps
of a group of GLX drawables. A swap group is created, and drawables are
added as members to the swap group. Buffer swaps to members of the swap
group will then take place concurrently.

This extension extends the set of conditions that must be met before
a buffer swap can take place.

Dependencies


    SGIX_swap_control affects the definition of this extension

Issues


    * Do we need a query to ask whether a window is in a group?

New Procedures and Functions


    void JoinSwapGroupSGIX(Display *dpy, 
GLXDrawable drawable,
GLXDrawable member);

New Tokens


    none

Additions to the GLX Specification


    Add to section 3.2.6, Double Buffering:

JoinSwapGroupSGIX adds <drawable> to the swap group containing <member> as
a member. If <drawable> is already a member of a different group, it is
implicitly removed from that group first. If <member> is None, <drawable>
is removed from the swap group that it belongs to, if any.

A swap group is referenced by naming any drawable in the group; there is no
other way to refer to a group.

Before a buffer swap can take place, a set of conditions must be
satisfied. The conditions are defined in terms of the notions of when
a drawable is ready to swap and when a group is ready to swap.

GLX drawables except windows are always ready to swap.

When a window is unmapped, it is always ready.

When a window is mapped, it is ready when all of the following are true:

1. A buffer swap command has been issued for it.

2. Its swap interval has elapsed.

A group is ready when the following is true:

1. All windows in the group are ready.

All of the following must be satisfied before a buffer swap for a window
can take place:

1. The window is ready.

2. If the window belongs to a group, the group is ready.

Buffer swaps for all windows in a swap group will take place concurrently
after the conditions are satisfied for every window in the group.

A group exists until the last remaining drawable leaves the group.

JoinSwapGroupSGIX is part of the X stream.

Errors


    JoinSwapGroupSGIX generates GLXBadDrawable if <drawable> is an invalid 
GLX drawable, or if <member> is an invalid GLX drawable.

New State


    Get Value				Get Command	Type	Value	Attrib
--------- ----------- ---- ------- ------
<whether window is in a group> ?? B False

New Implementation Dependent State


    None

Implementation Support


   List of OpenGL implementations supporting the GLX_SGIX_swap_group extension

Original File


   Original text file for the GLX_SGIX_swap_group extension


Page generated on Sun Nov 20 18:38:43 2005