• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - Not complete.
2
3Name
4
5    SGIX_wait_group
6
7Name Strings
8
9    GLX_SGIX_wait_group
10
11Version
12
13    $Date: 1997/04/17 04:46:55 $ $Revision: 1.1 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    none
22
23Overview
24
25    This extension provides the capability to synchronize drawing from two
26    separate GLX Contexts.  A wait group is created, and GLX Contexts are
27    added as members to the wait group.  It will then be possible to
28    specify that no member will be able to continue to render until all the
29    outstanding OpenGL commands from each of the members have been completed.
30
31    This extension sets conditions that must be met before a set of OpenGL
32    contexts can continue drawing.  This extension is primarily useful for
33    coordinating operations in an environment where more than one OpenGL
34    context may render simultaneously.
35
36Dependencies
37
38    none
39
40Issues
41
42    * Do we need a query to ask whether a context is in a group?
43    * Do we need to support having contexts in multiple wait groups?
44
45New Procedures and Functions
46
47    void JoinWaitGroupSGIX(Display *dpy,
48			   GLXContext context,
49			   GLXContext member);
50
51    void WaitGroupSGIX(Display *dpy,
52			   GLXContext context);
53
54New Tokens
55
56    none
57
58Additions to the GLX Specification
59
60    Add to the end of section 3.2.5, Synchronization Primitives:
61
62    JoinWaitGroupSGIX adds <context> to the wait group containing <member> as
63    a member.  If <context> is already a member of a different group, it is
64    implicitly removed from that group first.  If <member> is None, <context>
65    is removed from the wait group that it belongs to, if any.
66
67    A wait group is referenced by naming any context in the group; there is no
68    other way to refer to a group.
69
70    When a context is destroyed, it is removed from any wait group of
71    which it is a member.
72
73    WaitGroupSGIX causes <context> to wait until all the other member
74    contexts of the wait group have also called WaitGroupSGIX.
75
76    The following must be satisfied before a WaitGroupSGIX command
77    can complete:
78
79	1. All contexts in the wait group must have issued a
80	   WaitGroupSGIX command
81
82    OpenGL rendering commands issued by all of the member contexts
83    in the wait group will complete before any of the member contexts
84    can further affect the framebuffer.
85
86    A wait group exists until the last remaining context leaves the group.
87
88    JoinWaitGroupSGIX and WaitGroupSGIX are part of the X stream.
89
90Errors
91
92    JoinWaitGroupSGIX generates GLXBadContext if <context> is an invalid
93    GLX context, or if <member> is an invalid GLX context.
94
95    WaitGroupSGIX generates GLXBadContext if <context> is an invalid
96    GLX context.
97
98New State
99
100    Get Value				Get Command	Type	Value	Attrib
101    ---------				-----------	----	-------	------
102    <whether context is in a wait group>	??		B	False
103
104New Implementation Dependent State
105
106    None
107