15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    SGIX_swap_group
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GLX_SGIX_swap_group
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciVersion
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    $Date: 1996/07/22 06:28:45 $ $Revision: 1.9 $
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNumber
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    91
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciDependencies
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    SGIX_swap_control affects the definition of this extension
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciOverview
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    This extension provides the capability to synchronize the buffer swaps
245bd8deadSopenharmony_ci    of a group of GLX drawables.  A swap group is created, and drawables are 
255bd8deadSopenharmony_ci    added as members to the swap group.  Buffer swaps to members of the swap 
265bd8deadSopenharmony_ci    group will then take place concurrently.
275bd8deadSopenharmony_ci
285bd8deadSopenharmony_ci    This extension extends the set of conditions that must be met before
295bd8deadSopenharmony_ci    a buffer swap can take place. 
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ciDependencies
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ci    SGIX_swap_control affects the definition of this extension
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ciIssues
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ci    * Do we need a query to ask whether a window is in a group?
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ciNew Procedures and Functions
405bd8deadSopenharmony_ci
415bd8deadSopenharmony_ci    void JoinSwapGroupSGIX(Display *dpy, 
425bd8deadSopenharmony_ci			   GLXDrawable drawable, 
435bd8deadSopenharmony_ci			   GLXDrawable member);
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ciNew Tokens
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    none
485bd8deadSopenharmony_ci
495bd8deadSopenharmony_ciAdditions to the GLX Specification
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    Add to section 3.2.6, Double Buffering:
525bd8deadSopenharmony_ci
535bd8deadSopenharmony_ci    JoinSwapGroupSGIX adds <drawable> to the swap group containing <member> as 
545bd8deadSopenharmony_ci    a member.  If <drawable> is already a member of a different group, it is 
555bd8deadSopenharmony_ci    implicitly removed from that group first.  If <member> is None, <drawable> 
565bd8deadSopenharmony_ci    is removed from the swap group that it belongs to, if any.
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    A swap group is referenced by naming any drawable in the group; there is no
595bd8deadSopenharmony_ci    other way to refer to a group.
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    Before a buffer swap can take place, a set of conditions must be 
625bd8deadSopenharmony_ci    satisfied.  The conditions are defined in terms of the notions of when 
635bd8deadSopenharmony_ci    a drawable is ready to swap and when a group is ready to swap.
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    GLX drawables except windows are always ready to swap.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    When a window is unmapped, it is always ready.
685bd8deadSopenharmony_ci
695bd8deadSopenharmony_ci    When a window is mapped, it is ready when all of the following are true:
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci	1. A buffer swap command has been issued for it.
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci	2. Its swap interval has elapsed.
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    A group is ready when the following is true:
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci	1. All windows in the group are ready.
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci    All of the following must be satisfied before a buffer swap for a window
805bd8deadSopenharmony_ci    can take place:
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci	1. The window is ready.
835bd8deadSopenharmony_ci
845bd8deadSopenharmony_ci	2. If the window belongs to a group, the group is ready.
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    Buffer swaps for all windows in a swap group will take place concurrently
875bd8deadSopenharmony_ci    after the conditions are satisfied for every window in the group.
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ci    A group exists until the last remaining drawable leaves the group.
905bd8deadSopenharmony_ci
915bd8deadSopenharmony_ci    JoinSwapGroupSGIX is part of the X stream.
925bd8deadSopenharmony_ci
935bd8deadSopenharmony_ciErrors
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ci    JoinSwapGroupSGIX generates GLXBadDrawable if <drawable> is an invalid 
965bd8deadSopenharmony_ci    GLX drawable, or if <member> is an invalid GLX drawable.
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciNew State
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    Get Value				Get Command	Type	Value	Attrib
1015bd8deadSopenharmony_ci    ---------				-----------	----	-------	------
1025bd8deadSopenharmony_ci    <whether window is in a group>	??		B	False
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciNew Implementation Dependent State
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    None
1075bd8deadSopenharmony_ci
108