15bd8deadSopenharmony_ciXXX - Not complete.
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    SGIX_wait_group
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GLX_SGIX_wait_group
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1997/04/17 04:46:55 $ $Revision: 1.1 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    XXX
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci    none
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciOverview
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    This extension provides the capability to synchronize drawing from two
265bd8deadSopenharmony_ci    separate GLX Contexts.  A wait group is created, and GLX Contexts are 
275bd8deadSopenharmony_ci    added as members to the wait group.  It will then be possible to 
285bd8deadSopenharmony_ci    specify that no member will be able to continue to render until all the
295bd8deadSopenharmony_ci    outstanding OpenGL commands from each of the members have been completed.
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    This extension sets conditions that must be met before a set of OpenGL
325bd8deadSopenharmony_ci    contexts can continue drawing.  This extension is primarily useful for
335bd8deadSopenharmony_ci    coordinating operations in an environment where more than one OpenGL
345bd8deadSopenharmony_ci    context may render simultaneously.
355bd8deadSopenharmony_ci
365bd8deadSopenharmony_ciDependencies
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    none
395bd8deadSopenharmony_ci
405bd8deadSopenharmony_ciIssues
415bd8deadSopenharmony_ci
425bd8deadSopenharmony_ci    * Do we need a query to ask whether a context is in a group?
435bd8deadSopenharmony_ci    * Do we need to support having contexts in multiple wait groups?
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ciNew Procedures and Functions
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    void JoinWaitGroupSGIX(Display *dpy, 
485bd8deadSopenharmony_ci			   GLXContext context, 
495bd8deadSopenharmony_ci			   GLXContext member);
505bd8deadSopenharmony_ci
515bd8deadSopenharmony_ci    void WaitGroupSGIX(Display *dpy, 
525bd8deadSopenharmony_ci			   GLXContext context);
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ciNew Tokens
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ci    none
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ciAdditions to the GLX Specification
595bd8deadSopenharmony_ci
605bd8deadSopenharmony_ci    Add to the end of section 3.2.5, Synchronization Primitives:
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    JoinWaitGroupSGIX adds <context> to the wait group containing <member> as 
635bd8deadSopenharmony_ci    a member.  If <context> is already a member of a different group, it is 
645bd8deadSopenharmony_ci    implicitly removed from that group first.  If <member> is None, <context> 
655bd8deadSopenharmony_ci    is removed from the wait group that it belongs to, if any.
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci    A wait group is referenced by naming any context in the group; there is no
685bd8deadSopenharmony_ci    other way to refer to a group.
695bd8deadSopenharmony_ci
705bd8deadSopenharmony_ci    When a context is destroyed, it is removed from any wait group of
715bd8deadSopenharmony_ci    which it is a member.
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    WaitGroupSGIX causes <context> to wait until all the other member 
745bd8deadSopenharmony_ci    contexts of the wait group have also called WaitGroupSGIX. 
755bd8deadSopenharmony_ci
765bd8deadSopenharmony_ci    The following must be satisfied before a WaitGroupSGIX command 
775bd8deadSopenharmony_ci    can complete:
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ci	1. All contexts in the wait group must have issued a 
805bd8deadSopenharmony_ci	   WaitGroupSGIX command
815bd8deadSopenharmony_ci
825bd8deadSopenharmony_ci    OpenGL rendering commands issued by all of the member contexts
835bd8deadSopenharmony_ci    in the wait group will complete before any of the member contexts
845bd8deadSopenharmony_ci    can further affect the framebuffer.
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    A wait group exists until the last remaining context leaves the group.
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ci    JoinWaitGroupSGIX and WaitGroupSGIX are part of the X stream.
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ciErrors
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    JoinWaitGroupSGIX generates GLXBadContext if <context> is an invalid 
935bd8deadSopenharmony_ci    GLX context, or if <member> is an invalid GLX context.
945bd8deadSopenharmony_ci
955bd8deadSopenharmony_ci    WaitGroupSGIX generates GLXBadContext if <context> is an invalid
965bd8deadSopenharmony_ci    GLX context.
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciNew State
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    Get Value				Get Command	Type	Value	Attrib
1015bd8deadSopenharmony_ci    ---------				-----------	----	-------	------
1025bd8deadSopenharmony_ci    <whether context is in a wait group>	??		B	False
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciNew Implementation Dependent State
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    None
107