• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    SGIX_swap_group
4
5Name Strings
6
7    GLX_SGIX_swap_group
8
9Version
10
11    $Date: 1996/07/22 06:28:45 $ $Revision: 1.9 $
12
13Number
14
15    91
16
17Dependencies
18
19    SGIX_swap_control affects the definition of this extension
20
21Overview
22
23    This extension provides the capability to synchronize the buffer swaps
24    of a group of GLX drawables.  A swap group is created, and drawables are
25    added as members to the swap group.  Buffer swaps to members of the swap
26    group will then take place concurrently.
27
28    This extension extends the set of conditions that must be met before
29    a buffer swap can take place.
30
31Dependencies
32
33    SGIX_swap_control affects the definition of this extension
34
35Issues
36
37    * Do we need a query to ask whether a window is in a group?
38
39New Procedures and Functions
40
41    void JoinSwapGroupSGIX(Display *dpy,
42			   GLXDrawable drawable,
43			   GLXDrawable member);
44
45New Tokens
46
47    none
48
49Additions to the GLX Specification
50
51    Add to section 3.2.6, Double Buffering:
52
53    JoinSwapGroupSGIX adds <drawable> to the swap group containing <member> as
54    a member.  If <drawable> is already a member of a different group, it is
55    implicitly removed from that group first.  If <member> is None, <drawable>
56    is removed from the swap group that it belongs to, if any.
57
58    A swap group is referenced by naming any drawable in the group; there is no
59    other way to refer to a group.
60
61    Before a buffer swap can take place, a set of conditions must be
62    satisfied.  The conditions are defined in terms of the notions of when
63    a drawable is ready to swap and when a group is ready to swap.
64
65    GLX drawables except windows are always ready to swap.
66
67    When a window is unmapped, it is always ready.
68
69    When a window is mapped, it is ready when all of the following are true:
70
71	1. A buffer swap command has been issued for it.
72
73	2. Its swap interval has elapsed.
74
75    A group is ready when the following is true:
76
77	1. All windows in the group are ready.
78
79    All of the following must be satisfied before a buffer swap for a window
80    can take place:
81
82	1. The window is ready.
83
84	2. If the window belongs to a group, the group is ready.
85
86    Buffer swaps for all windows in a swap group will take place concurrently
87    after the conditions are satisfied for every window in the group.
88
89    A group exists until the last remaining drawable leaves the group.
90
91    JoinSwapGroupSGIX is part of the X stream.
92
93Errors
94
95    JoinSwapGroupSGIX generates GLXBadDrawable if <drawable> is an invalid
96    GLX drawable, or if <member> is an invalid GLX drawable.
97
98New State
99
100    Get Value				Get Command	Type	Value	Attrib
101    ---------				-----------	----	-------	------
102    <whether window is in a group>	??		B	False
103
104New Implementation Dependent State
105
106    None
107
108